summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Crispin <john@openwrt.org>2012-04-12 12:33:56 +0000
committerJohn Crispin <john@openwrt.org>2012-04-12 12:33:56 +0000
commite3889bcf7c8ad2eff0eaeb62dbc4c0977a972788 (patch)
treec69a83b322c88d9516c9022635a80d5803ac83c3
parent1b7578845130f5ea6f4096f62bfe0f49a7315d4f (diff)
downloadmtk-20170518-e3889bcf7c8ad2eff0eaeb62dbc4c0977a972788.zip
mtk-20170518-e3889bcf7c8ad2eff0eaeb62dbc4c0977a972788.tar.gz
mtk-20170518-e3889bcf7c8ad2eff0eaeb62dbc4c0977a972788.tar.bz2
update 3.2 patches
sync with lantiq kernel series SVN-Revision: 31260
-rw-r--r--target/linux/lantiq/files-3.2/arch/mips/lantiq/xway/dev-dwc_otg.c2
-rw-r--r--target/linux/lantiq/patches-3.2/0001-GPIO-add-bindings-for-managed-devices.patch16
-rw-r--r--target/linux/lantiq/patches-3.2/0002-MIPS-remove-unused-prototype-kgdb_config.patch9
-rw-r--r--target/linux/lantiq/patches-3.2/0003-MTD-MIPS-lantiq-reintroduce-support-for-cmdline-part.patch11
-rw-r--r--target/linux/lantiq/patches-3.2/0004-MTD-add-m25p80-id-for-mx25l2005a.patch11
-rw-r--r--target/linux/lantiq/patches-3.2/0005-MIPS-lantiq-reorganize-xway-code.patch74
-rw-r--r--target/linux/lantiq/patches-3.2/0006-MIPS-lantiq-change-ltq_request_gpio-call-signature.patch17
-rw-r--r--target/linux/lantiq/patches-3.2/0007-MIPS-lantiq-make-irq.c-support-the-FALC-ON.patch20
-rw-r--r--target/linux/lantiq/patches-3.2/0008-MIPS-lantiq-add-basic-support-for-FALC-ON.patch49
-rw-r--r--target/linux/lantiq/patches-3.2/0009-MIPS-lantiq-add-support-for-FALC-ON-GPIOs.patch16
-rw-r--r--target/linux/lantiq/patches-3.2/0010-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch17
-rw-r--r--target/linux/lantiq/patches-3.2/0011-MIPS-lantiq-fix-early-printk.patch11
-rw-r--r--target/linux/lantiq/patches-3.2/0012-MIPS-lantiq-fix-cmdline-parsing.patch11
-rw-r--r--target/linux/lantiq/patches-3.2/0013-MIPS-lantiq-fix-STP-gpio-groups.patch9
-rw-r--r--target/linux/lantiq/patches-3.2/0014-MIPS-lantiq-fix-pull-gpio-up-resistors-usage.patch13
-rw-r--r--target/linux/lantiq/patches-3.2/0015-MIPS-lantiq-add-default-configs.patch16
-rw-r--r--target/linux/lantiq/patches-3.2/0016-MAINTAINERS-add-entry-for-Lantiq-related-files.patch11
-rw-r--r--target/linux/lantiq/patches-3.2/0017-MIPS-lantiq-enable-oprofile-support-on-lantiq-target.patch (renamed from target/linux/lantiq/patches-3.2/0018-MIPS-lantiq-enable-oprofile-support-on-lantiq-target.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0018-NET-MIPS-lantiq-make-etop-ethernet-work-on-ase-ar9.patch (renamed from target/linux/lantiq/patches-3.2/0019-NET-MIPS-lantiq-make-etop-ethernet-work-on-ase-ar9.patch)36
-rw-r--r--target/linux/lantiq/patches-3.2/0019-NET-MIPS-lantiq-non-existing-phy-was-not-handled-gra.patch (renamed from target/linux/lantiq/patches-3.2/0020-NET-MIPS-lantiq-non-existing-phy-was-not-handled-gra.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0020-NET-MIPS-lantiq-return-value-of-request_irq-was-not-.patch (renamed from target/linux/lantiq/patches-3.2/0021-NET-MIPS-lantiq-return-value-of-request_irq-was-not-.patch)9
-rw-r--r--target/linux/lantiq/patches-3.2/0021-MIPS-lantiq-use-devres-managed-gpios.patch (renamed from target/linux/lantiq/patches-3.2/0022-MIPS-lantiq-use-devres-managed-gpios.patch)43
-rw-r--r--target/linux/lantiq/patches-3.2/0022-MIPS-add-clkdev.h.patch (renamed from target/linux/lantiq/patches-3.2/0023-MIPS-add-clkdev.h.patch)10
-rw-r--r--target/linux/lantiq/patches-3.2/0023-MIPS-lantiq-helper-functions-for-SoC-detection.patch (renamed from target/linux/lantiq/patches-3.2/0024-MIPS-lantiq-helper-functions-for-SoC-detection.patch)13
-rw-r--r--target/linux/lantiq/patches-3.2/0024-MIPS-lantiq-convert-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0025-MIPS-lantiq-convert-to-clkdev-api.patch)40
-rw-r--r--target/linux/lantiq/patches-3.2/0025-MIPS-lantiq-convert-xway-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0026-MIPS-lantiq-convert-xway-to-clkdev-api.patch)54
-rw-r--r--target/linux/lantiq/patches-3.2/0026-MIPS-lantiq-convert-falcon-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0027-MIPS-lantiq-convert-falcon-to-clkdev-api.patch)25
-rw-r--r--target/linux/lantiq/patches-3.2/0027-MIPS-lantiq-convert-dma-driver-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0028-MIPS-lantiq-convert-dma-driver-to-clkdev-api.patch)12
-rw-r--r--target/linux/lantiq/patches-3.2/0028-MIPS-lantiq-convert-gpio_stp-driver-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0029-MIPS-lantiq-convert-gpio_stp-driver-to-clkdev-api.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0029-MIPS-lantiq-convert-falcon-gpio-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0030-MIPS-lantiq-convert-falcon-gpio-to-clkdev-api.patch)13
-rw-r--r--target/linux/lantiq/patches-3.2/0030-SERIAL-MIPS-lantiq-convert-serial-driver-to-clkdev-a.patch (renamed from target/linux/lantiq/patches-3.2/0031-SERIAL-MIPS-lantiq-convert-serial-driver-to-clkdev-a.patch)13
-rw-r--r--target/linux/lantiq/patches-3.2/0031-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0032-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch)15
-rw-r--r--target/linux/lantiq/patches-3.2/0032-NET-MIPS-lantiq-convert-etop-driver-to-clkdev-api.patch (renamed from target/linux/lantiq/patches-3.2/0033-NET-MIPS-lantiq-convert-etop-driver-to-clkdev-api.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0033-WDT-MIPS-lantiq-convert-watchdog-driver-to-clkdev-ap.patch (renamed from target/linux/lantiq/patches-3.2/0034-WDT-MIPS-lantiq-convert-watchdog-driver-to-clkdev-ap.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0034-MIPS-lantiq-unify-xway-prom-code.patch (renamed from target/linux/lantiq/patches-3.2/0035-MIPS-lantiq-unify-xway-prom-code.patch)21
-rw-r--r--target/linux/lantiq/patches-3.2/0035-MIPS-lantiq-add-vr9-support.patch (renamed from target/linux/lantiq/patches-3.2/0036-MIPS-lantiq-add-vr9-support.patch)17
-rw-r--r--target/linux/lantiq/patches-3.2/0036-MIPS-lantiq-add-ipi-handlers-to-make-vsmp-work.patch (renamed from target/linux/lantiq/patches-3.2/0037-MIPS-lantiq-add-ipi-handlers-to-make-vsmp-work.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0037-MIPS-lantiq-add-additional-soc-ids.patch (renamed from target/linux/lantiq/patches-3.2/0038-MIPS-lantiq-add-additional-soc-ids.patch)15
-rw-r--r--target/linux/lantiq/patches-3.2/0038-SPI-MIPS-lantiq-add-FALC-ON-spi-driver.patch (renamed from target/linux/lantiq/patches-3.2/0039-SPI-MIPS-lantiq-add-FALC-ON-spi-driver.patch)26
-rw-r--r--target/linux/lantiq/patches-3.2/0039-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch (renamed from target/linux/lantiq/patches-3.2/0040-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch)29
-rw-r--r--target/linux/lantiq/patches-3.2/0040-MIPS-lantiq-add-xway-nand-driver.patch (renamed from target/linux/lantiq/patches-3.2/0041-MIPS-lantiq-add-xway-nand-driver.patch)24
-rw-r--r--target/linux/lantiq/patches-3.2/0041-SPI-MIPS-lantiq-adds-spi-xway.patch (renamed from target/linux/lantiq/patches-3.2/0042-SPI-MIPS-lantiq-adds-spi-xway.patch)22
-rw-r--r--target/linux/lantiq/patches-3.2/0042-NET-adds-driver-for-lantiq-vr9-ethernet.patch (renamed from target/linux/lantiq/patches-3.2/0043-NET-adds-driver-for-lantiq-vr9-ethernet.patch)24
-rw-r--r--target/linux/lantiq/patches-3.2/0043-MIPS-NET-several-fixes-to-etop-driver.patch (renamed from target/linux/lantiq/patches-3.2/0044-MIPS-NET-several-fixes-to-etop-driver.patch)41
-rw-r--r--target/linux/lantiq/patches-3.2/0044-MTD-MIPS-lantiq-use-module_platform_driver-inside-la.patch (renamed from target/linux/lantiq/patches-3.2/0045-MTD-MIPS-lantiq-use-module_platform_driver-inside-la.patch)15
-rw-r--r--target/linux/lantiq/patches-3.2/0045-WDT-MIPS-lantiq-use-module_platform_driver-inside-la.patch (renamed from target/linux/lantiq/patches-3.2/0046-WDT-MIPS-lantiq-use-module_platform_driver-inside-la.patch)15
-rw-r--r--target/linux/lantiq/patches-3.2/0046-MIPS-lantiq-adds-GPTU-driver.patch (renamed from target/linux/lantiq/patches-3.2/0047-MIPS-lantiq-adds-GPTU-driver.patch)17
-rw-r--r--target/linux/lantiq/patches-3.2/0047-MIPS-lantiq-adds-dwc_otg.patch (renamed from target/linux/lantiq/patches-3.2/0048-MIPS-lantiq-adds-dwc_otg.patch)69
-rw-r--r--target/linux/lantiq/patches-3.2/0048-dwc_otg-remove-bogus-halt_channel.patch (renamed from target/linux/lantiq/patches-3.2/0049-dwc_otg-remove-bogus-halt_channel.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0049-MIPS-adds-ifxhcd.patch (renamed from target/linux/lantiq/patches-3.2/0050-MIPS-adds-ifxhcd.patch)72
-rw-r--r--target/linux/lantiq/patches-3.2/0050-MIPS-adds-gptu-driver.patch (renamed from target/linux/lantiq/patches-3.2/0051-MIPS-adds-gptu-driver.patch)10
-rw-r--r--target/linux/lantiq/patches-3.2/0051-MIPS-lantiq-pci-rename-variable-inside.patch (renamed from target/linux/lantiq/patches-3.2/0052-MIPS-lantiq-pci-rename-variable-inside.patch)19
-rw-r--r--target/linux/lantiq/patches-3.2/0052-MIPS-lantiq-pci-give-xway-pci-support-its-own-kbuild.patch (renamed from target/linux/lantiq/patches-3.2/0053-MIPS-lantiq-pci-give-xway-pci-support-its-own-kbuild.patch)13
-rw-r--r--target/linux/lantiq/patches-3.2/0053-MIPS-lantiq-pci-move-pcibios-code-into-fixup-lantiq..patch (renamed from target/linux/lantiq/patches-3.2/0054-MIPS-lantiq-pci-move-pcibios-code-into-fixup-lantiq..patch)22
-rw-r--r--target/linux/lantiq/patches-3.2/0054-MIPS-lantiq-pcie-add-pcie-driver.patch (renamed from target/linux/lantiq/patches-3.2/0055-MIPS-lantiq-pcie-add-pcie-driver.patch)36
-rw-r--r--target/linux/lantiq/patches-3.2/0055-MIPS-lantiq-make-GPIO3-work-on-AR9.patch (renamed from target/linux/lantiq/patches-3.2/0056-MIPS-lantiq-make-GPIO3-work-on-AR9.patch)33
-rw-r--r--target/linux/lantiq/patches-3.2/0056-MIPS-lantiq-VPE-extensions.patch (renamed from target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch)49
-rw-r--r--target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-falcon-VPE-softdog.patch (renamed from target/linux/lantiq/patches-3.2/0058-MIPS-lantiq-falcon-VPE-softdog.patch)13
-rw-r--r--target/linux/lantiq/patches-3.2/0058-MIPS-lantiq-udp-in-kernel-redirect.patch (renamed from target/linux/lantiq/patches-3.2/0059-MIPS-lantiq-udp-in-kernel-redirect.patch)29
-rw-r--r--target/linux/lantiq/patches-3.2/0059-MIPS-lantiq-cache-split.patch (renamed from target/linux/lantiq/patches-3.2/0060-MIPS-lantiq-cache-split.patch)19
-rw-r--r--target/linux/lantiq/patches-3.2/0060-MIPS-clean-up-clock-code.patch (renamed from target/linux/lantiq/patches-3.2/0061-MIPS-clean-up-clock-code.patch)33
-rw-r--r--target/linux/lantiq/patches-3.2/0061-MIPS-cleanup-reset-code.patch (renamed from target/linux/lantiq/patches-3.2/0062-MIPS-cleanup-reset-code.patch)9
-rw-r--r--target/linux/lantiq/patches-3.2/0062-MIPS-lantiq-fixes-ar9-vr9-clock.patch (renamed from target/linux/lantiq/patches-3.2/0063-MIPS-lantiq-fixes-ar9-vr9-clock.patch)15
-rw-r--r--target/linux/lantiq/patches-3.2/0063-MIPS-lantiq-fixes-danube-clock.patch (renamed from target/linux/lantiq/patches-3.2/0064-MIPS-lantiq-fixes-danube-clock.patch)13
-rw-r--r--target/linux/lantiq/patches-3.2/0064-MIPS-adds-dsl-clocks.patch (renamed from target/linux/lantiq/patches-3.2/0065-MIPS-adds-dsl-clocks.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0065-MIPS-lantiq-dont-always-register-asc0.patch (renamed from target/linux/lantiq/patches-3.2/0066-MIPS-lantiq-dont-always-register-asc0.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0066-MIPS-lantiq-irqs-were-not-cleared-properly-on-boot.patch (renamed from target/linux/lantiq/patches-3.2/0067-MIPS-lantiq-irqs-were-not-cleared-properly-on-boot.patch)9
-rw-r--r--target/linux/lantiq/patches-3.2/0067-MIPS-lantiq-adds-bootsel-helper.patch (renamed from target/linux/lantiq/patches-3.2/0068-MIPS-lantiq-adds-bootsel-helper.patch)11
-rw-r--r--target/linux/lantiq/patches-3.2/0068-MIPS-lantiq-adds-USB_ARCH_HAS_HCD-to-CONFIG_LANTIQ.patch (renamed from target/linux/lantiq/patches-3.2/0069-MIPS-lantiq-adds-USB_ARCH_HAS_HCD-to-CONFIG_LANTIQ.patch)9
-rw-r--r--target/linux/lantiq/patches-3.2/0069-MIPS-lantiq-fixes-bad-PMU_USB0-0-define.patch25
-rw-r--r--target/linux/lantiq/patches-3.2/0070-MIPS-lantiq-fix-dwc_otg-usb-for-ase.patch60
-rw-r--r--target/linux/lantiq/patches-3.2/0071-MIPS-lantiq-stp-fix-for-ase-add-get-clock-disabled.patch88
-rw-r--r--target/linux/lantiq/patches-3.2/0072-MIPS-lantiq-fix-spi-for-ase-update-for-clkdev-and-pl.patch197
-rw-r--r--target/linux/lantiq/patches-3.2/201-owrt-mtd_split.patch9
-rw-r--r--target/linux/lantiq/patches-3.2/207-devices.patch19
75 files changed, 1524 insertions, 318 deletions
diff --git a/target/linux/lantiq/files-3.2/arch/mips/lantiq/xway/dev-dwc_otg.c b/target/linux/lantiq/files-3.2/arch/mips/lantiq/xway/dev-dwc_otg.c
index 90b63fc..67f5805 100644
--- a/target/linux/lantiq/files-3.2/arch/mips/lantiq/xway/dev-dwc_otg.c
+++ b/target/linux/lantiq/files-3.2/arch/mips/lantiq/xway/dev-dwc_otg.c
@@ -43,7 +43,6 @@ static struct resource resources[] =
},
[1] = {
.name = "dwc_otg_irq",
- .start = LTQ_USB_INT,
.flags = IORESOURCE_IRQ,
},
};
@@ -65,6 +64,7 @@ xway_register_dwc(int pin)
struct irq_data d;
d.irq = resources[1].start;
ltq_enable_irq(&d);
+ resources[1].start = ltq_is_ase() ? LTQ_USB_ASE_INT : LTQ_USB_INT;
platform_dev.dev.platform_data = (void*) pin;
return platform_device_register(&platform_dev);
}
diff --git a/target/linux/lantiq/patches-3.2/0001-GPIO-add-bindings-for-managed-devices.patch b/target/linux/lantiq/patches-3.2/0001-GPIO-add-bindings-for-managed-devices.patch
index 765d3c6..a971013 100644
--- a/target/linux/lantiq/patches-3.2/0001-GPIO-add-bindings-for-managed-devices.patch
+++ b/target/linux/lantiq/patches-3.2/0001-GPIO-add-bindings-for-managed-devices.patch
@@ -1,7 +1,7 @@
-From 282f1ca84b35f3be68abc4fd8b52e229f3cb6bb7 Mon Sep 17 00:00:00 2001
+From 8817c547f92016b9276ffec88b708c2c16d1f0f1 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 13:23:53 +0100
-Subject: [PATCH 01/70] GPIO: add bindings for managed devices
+Subject: [PATCH 01/73] GPIO: add bindings for managed devices
This patch adds 2 functions that allow managed devices to request GPIOs.
These GPIOs will then be managed by drivers/base/devres.c.
@@ -15,6 +15,8 @@ Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
3 files changed, 95 insertions(+), 1 deletions(-)
create mode 100644 drivers/gpio/devres.c
+diff --git a/drivers/gpio/Makefile b/drivers/gpio/Makefile
+index 4e018d6..76dbd3f 100644
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
@@ -2,7 +2,7 @@
@@ -26,6 +28,9 @@ Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
# Device drivers. Generally keep list sorted alphabetically
obj-$(CONFIG_GPIO_GENERIC) += gpio-generic.o
+diff --git a/drivers/gpio/devres.c b/drivers/gpio/devres.c
+new file mode 100644
+index 0000000..3dd2939
--- /dev/null
+++ b/drivers/gpio/devres.c
@@ -0,0 +1,90 @@
@@ -119,9 +124,11 @@ Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
+ gpio_free(gpio);
+}
+EXPORT_SYMBOL(devm_gpio_free);
+diff --git a/include/asm-generic/gpio.h b/include/asm-generic/gpio.h
+index 8c86210..8601a02 100644
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
-@@ -175,6 +175,10 @@ extern int gpio_request_one(unsigned gpi
+@@ -175,6 +175,10 @@ extern int gpio_request_one(unsigned gpio, unsigned long flags, const char *labe
extern int gpio_request_array(const struct gpio *array, size_t num);
extern void gpio_free_array(const struct gpio *array, size_t num);
@@ -132,3 +139,6 @@ Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
#ifdef CONFIG_GPIO_SYSFS
/*
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0002-MIPS-remove-unused-prototype-kgdb_config.patch b/target/linux/lantiq/patches-3.2/0002-MIPS-remove-unused-prototype-kgdb_config.patch
index d9c0161..c51924f 100644
--- a/target/linux/lantiq/patches-3.2/0002-MIPS-remove-unused-prototype-kgdb_config.patch
+++ b/target/linux/lantiq/patches-3.2/0002-MIPS-remove-unused-prototype-kgdb_config.patch
@@ -1,12 +1,14 @@
-From b859096bdc4b029357217af98874d6feec3ff4bd Mon Sep 17 00:00:00 2001
+From 770d7934edcc0b4125cd1ef1ad102ae2c2e02bca Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 16 Mar 2012 16:27:35 +0100
-Subject: [PATCH 02/70] MIPS: remove unused prototype kgdb_config
+Subject: [PATCH 02/73] MIPS: remove unused prototype kgdb_config
---
arch/mips/include/asm/mips-boards/generic.h | 4 ----
1 files changed, 0 insertions(+), 4 deletions(-)
+diff --git a/arch/mips/include/asm/mips-boards/generic.h b/arch/mips/include/asm/mips-boards/generic.h
+index 46c0856..6e23ceb 100644
--- a/arch/mips/include/asm/mips-boards/generic.h
+++ b/arch/mips/include/asm/mips-boards/generic.h
@@ -93,8 +93,4 @@ extern void mips_pcibios_init(void);
@@ -18,3 +20,6 @@ Subject: [PATCH 02/70] MIPS: remove unused prototype kgdb_config
-#endif
-
#endif /* __ASM_MIPS_BOARDS_GENERIC_H */
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0003-MTD-MIPS-lantiq-reintroduce-support-for-cmdline-part.patch b/target/linux/lantiq/patches-3.2/0003-MTD-MIPS-lantiq-reintroduce-support-for-cmdline-part.patch
index 02617ee..6963771 100644
--- a/target/linux/lantiq/patches-3.2/0003-MTD-MIPS-lantiq-reintroduce-support-for-cmdline-part.patch
+++ b/target/linux/lantiq/patches-3.2/0003-MTD-MIPS-lantiq-reintroduce-support-for-cmdline-part.patch
@@ -1,7 +1,7 @@
-From 63e9d017ce90dc1cd0822bace72e4e391feafdab Mon Sep 17 00:00:00 2001
+From 1427dd3518e0c950c612157a67e56069000cd29c Mon Sep 17 00:00:00 2001
From: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
Date: Fri, 17 Feb 2012 22:32:18 +0100
-Subject: [PATCH 03/70] MTD: MIPS: lantiq: reintroduce support for cmdline
+Subject: [PATCH 03/73] MTD: MIPS: lantiq: reintroduce support for cmdline
partitions
Since commit ca97dec2ab5c87e9fbdf7e882e1820004a3966fa the
@@ -13,6 +13,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/mtd/maps/lantiq-flash.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
+diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c
+index 4f10e27..764d468 100644
--- a/drivers/mtd/maps/lantiq-flash.c
+++ b/drivers/mtd/maps/lantiq-flash.c
@@ -45,6 +45,7 @@ struct ltq_mtd {
@@ -23,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static map_word
ltq_read16(struct map_info *map, unsigned long adr)
-@@ -168,7 +169,7 @@ ltq_mtd_probe(struct platform_device *pd
+@@ -168,7 +169,7 @@ ltq_mtd_probe(struct platform_device *pdev)
cfi->addr_unlock1 ^= 1;
cfi->addr_unlock2 ^= 1;
@@ -32,3 +34,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ltq_mtd_data->parts, ltq_mtd_data->nr_parts);
if (err) {
dev_err(&pdev->dev, "failed to add partitions\n");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0004-MTD-add-m25p80-id-for-mx25l2005a.patch b/target/linux/lantiq/patches-3.2/0004-MTD-add-m25p80-id-for-mx25l2005a.patch
index 8ac9ae1..b34a1c3 100644
--- a/target/linux/lantiq/patches-3.2/0004-MTD-add-m25p80-id-for-mx25l2005a.patch
+++ b/target/linux/lantiq/patches-3.2/0004-MTD-add-m25p80-id-for-mx25l2005a.patch
@@ -1,15 +1,17 @@
-From e4e27fbcaf2caa2a3e3ef45c736b4bb14f91ecfe Mon Sep 17 00:00:00 2001
+From 3778c58845f39b145b80ca357ca22a3095a8dfb1 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 13 Mar 2012 18:03:33 +0100
-Subject: [PATCH 04/70] MTD: add m25p80 id for mx25l2005a
+Subject: [PATCH 04/73] MTD: add m25p80 id for mx25l2005a
---
drivers/mtd/devices/m25p80.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
+diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c
+index 884904d..3f37f5f 100644
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
-@@ -684,6 +684,7 @@ static const struct spi_device_id m25p_i
+@@ -676,6 +676,7 @@ static const struct spi_device_id m25p_ids[] = {
{ "640s33b", INFO(0x898913, 0, 64 * 1024, 128, 0) },
/* Macronix */
@@ -17,3 +19,6 @@ Subject: [PATCH 04/70] MTD: add m25p80 id for mx25l2005a
{ "mx25l4005a", INFO(0xc22013, 0, 64 * 1024, 8, SECT_4K) },
{ "mx25l8005", INFO(0xc22014, 0, 64 * 1024, 16, 0) },
{ "mx25l1606e", INFO(0xc22015, 0, 64 * 1024, 32, SECT_4K) },
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0005-MIPS-lantiq-reorganize-xway-code.patch b/target/linux/lantiq/patches-3.2/0005-MIPS-lantiq-reorganize-xway-code.patch
index cd55f9d..59353d9 100644
--- a/target/linux/lantiq/patches-3.2/0005-MIPS-lantiq-reorganize-xway-code.patch
+++ b/target/linux/lantiq/patches-3.2/0005-MIPS-lantiq-reorganize-xway-code.patch
@@ -1,7 +1,7 @@
-From cf7086d4c2f7caeccd019c0a57bf1566c72c13ee Mon Sep 17 00:00:00 2001
+From 222ee25fab35b3c3a4c63903b6af4eb0d0556750 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Wed, 10 Aug 2011 14:57:04 +0200
-Subject: [PATCH 05/70] MIPS: lantiq: reorganize xway code
+Subject: [PATCH 05/73] MIPS: lantiq: reorganize xway code
Inside the folder arch/mips/lantiq/xway, there were alot of small files with
lots of duplicated code. This patch adds a wrapper function for inserting and
@@ -38,6 +38,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
delete mode 100644 arch/mips/lantiq/xway/setup-xway.c
create mode 100644 arch/mips/lantiq/xway/sysctrl.c
+diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
+index ce2f029..66d7300 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -9,6 +9,7 @@
@@ -64,7 +66,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
extern unsigned int ltq_get_cpu_ver(void);
extern unsigned int ltq_get_soc_type(void);
-@@ -51,7 +43,9 @@ extern void ltq_enable_irq(struct irq_da
+@@ -51,7 +43,9 @@ extern void ltq_enable_irq(struct irq_data *data);
/* find out what caused the last cpu reset */
extern int ltq_reset_cause(void);
@@ -75,6 +77,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#define IOPORT_RESOURCE_START 0x10000000
#define IOPORT_RESOURCE_END 0xffffffff
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 8a3c6be..9b7ee366 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -61,6 +61,8 @@
@@ -117,6 +121,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static inline int ltq_is_ar9(void)
{
+diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c
+index 77ed70f..39eef7f 100644
--- a/arch/mips/lantiq/clk.c
+++ b/arch/mips/lantiq/clk.c
@@ -22,6 +22,7 @@
@@ -150,12 +156,12 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- if (insert_resource(&iomem_resource, &ltq_cgu_resource) < 0)
- panic("Failed to insert cgu memory\n");
-+ ltq_soc_init();
-
+-
- if (request_mem_region(ltq_cgu_resource.start,
- resource_size(&ltq_cgu_resource), "cgu") < 0)
- panic("Failed to request cgu memory\n");
--
++ ltq_soc_init();
+
- ltq_cgu_membase = ioremap_nocache(ltq_cgu_resource.start,
- resource_size(&ltq_cgu_resource));
- if (!ltq_cgu_membase) {
@@ -168,6 +174,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ pr_info("CPU Clock: %ldMHz\n", clk_get_rate(clk) / 1000000);
clk_put(clk);
}
+diff --git a/arch/mips/lantiq/devices.c b/arch/mips/lantiq/devices.c
+index de1cb2b..7193d78 100644
--- a/arch/mips/lantiq/devices.c
+++ b/arch/mips/lantiq/devices.c
@@ -27,12 +27,8 @@
@@ -185,7 +193,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static struct platform_device ltq_nor = {
.name = "ltq_nor",
-@@ -47,12 +43,8 @@ void __init ltq_register_nor(struct phys
+@@ -47,12 +43,8 @@ void __init ltq_register_nor(struct physmap_flash_data *data)
}
/* watchdog */
@@ -227,6 +235,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
IRQ_RES(tx, LTQ_ASC_TIR(1)),
IRQ_RES(rx, LTQ_ASC_RIR(1)),
IRQ_RES(err, LTQ_ASC_EIR(1)),
+diff --git a/arch/mips/lantiq/devices.h b/arch/mips/lantiq/devices.h
+index 2947bb1..a03c23f 100644
--- a/arch/mips/lantiq/devices.h
+++ b/arch/mips/lantiq/devices.h
@@ -14,6 +14,10 @@
@@ -240,6 +250,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
extern void ltq_register_nor(struct physmap_flash_data *data);
extern void ltq_register_wdt(void);
+diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
+index e34fcfd..e3b1e25 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -16,6 +16,10 @@
@@ -253,7 +265,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static struct ltq_soc_info soc_info;
unsigned int ltq_get_cpu_ver(void)
-@@ -55,16 +59,51 @@ static void __init prom_init_cmdline(voi
+@@ -55,16 +59,51 @@ static void __init prom_init_cmdline(void)
}
}
@@ -263,7 +275,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- struct clk *clk;
+ __iomem void *ret = NULL;
+ struct resource *lookup = lookup_resource(&iomem_resource, res->start);
-
++
+ if (lookup && strcmp(lookup->name, res->name)) {
+ pr_err("conflicting memory range %s\n", res->name);
+ return NULL;
@@ -279,7 +291,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ pr_err("Failed to request %s memory\n", res->name);
+ goto err_res;
+ }
-+
+
+ ret = ioremap_nocache(res->start, resource_size(res));
+ if (!ret)
+ goto err_mem;
@@ -311,6 +323,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
soc_info.sys_type[LTQ_SYS_TYPE_LEN - 1] = '\0';
pr_info("SoC: %s\n", soc_info.sys_type);
prom_init_cmdline();
+diff --git a/arch/mips/lantiq/prom.h b/arch/mips/lantiq/prom.h
+index b4229d9..51dba1b 100644
--- a/arch/mips/lantiq/prom.h
+++ b/arch/mips/lantiq/prom.h
@@ -9,17 +9,21 @@
@@ -335,6 +349,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
extern void ltq_soc_setup(void);
#endif
+diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
+index c517f2e..6678402 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,7 +1,7 @@
@@ -348,6 +364,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
+index d614aa7..f97e565 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
@@ -31,22 +31,9 @@
@@ -420,6 +438,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static struct platform_device ltq_etop = {
.name = "ltq_etop",
+diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
+index cbb6ae5..60cd11f 100644
--- a/arch/mips/lantiq/xway/dma.c
+++ b/arch/mips/lantiq/xway/dma.c
@@ -24,6 +24,8 @@
@@ -465,6 +485,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
if (!ltq_dma_membase)
panic("Failed to remap dma memory\n");
+diff --git a/arch/mips/lantiq/xway/ebu.c b/arch/mips/lantiq/xway/ebu.c
+deleted file mode 100644
+index 033b318..0000000
--- a/arch/mips/lantiq/xway/ebu.c
+++ /dev/null
@@ -1,52 +0,0 @@
@@ -520,6 +543,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
-}
-
-postcore_initcall(lantiq_ebu_init);
+diff --git a/arch/mips/lantiq/xway/pmu.c b/arch/mips/lantiq/xway/pmu.c
+deleted file mode 100644
+index 39f0d26..0000000
--- a/arch/mips/lantiq/xway/pmu.c
+++ /dev/null
@@ -1,69 +0,0 @@
@@ -592,6 +618,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
-}
-
-core_initcall(ltq_pmu_init);
+diff --git a/arch/mips/lantiq/xway/prom-ase.c b/arch/mips/lantiq/xway/prom-ase.c
+index ae4959a..3f86a3b 100644
--- a/arch/mips/lantiq/xway/prom-ase.c
+++ b/arch/mips/lantiq/xway/prom-ase.c
@@ -13,6 +13,7 @@
@@ -602,7 +630,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "../prom.h"
#define SOC_AMAZON_SE "Amazon_SE"
-@@ -26,6 +27,7 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -26,6 +27,7 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
{
i->partnum = (ltq_r32(LTQ_MPS_CHIPID) & PART_MASK) >> PART_SHIFT;
i->rev = (ltq_r32(LTQ_MPS_CHIPID) & REV_MASK) >> REV_SHIFT;
@@ -610,7 +638,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
switch (i->partnum) {
case SOC_ID_AMAZON_SE:
i->name = SOC_AMAZON_SE;
-@@ -37,3 +39,10 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -37,3 +39,10 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
break;
}
}
@@ -621,6 +649,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ltq_register_gpio();
+ ltq_register_wdt();
+}
+diff --git a/arch/mips/lantiq/xway/prom-xway.c b/arch/mips/lantiq/xway/prom-xway.c
+index 2228133..d823a92 100644
--- a/arch/mips/lantiq/xway/prom-xway.c
+++ b/arch/mips/lantiq/xway/prom-xway.c
@@ -13,6 +13,7 @@
@@ -631,7 +661,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#include "../prom.h"
#define SOC_DANUBE "Danube"
-@@ -28,6 +29,7 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -28,6 +29,7 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
{
i->partnum = (ltq_r32(LTQ_MPS_CHIPID) & PART_MASK) >> PART_SHIFT;
i->rev = (ltq_r32(LTQ_MPS_CHIPID) & REV_MASK) >> REV_SHIFT;
@@ -639,7 +669,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
switch (i->partnum) {
case SOC_ID_DANUBE1:
case SOC_ID_DANUBE2:
-@@ -52,3 +54,11 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -52,3 +54,11 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
break;
}
}
@@ -651,6 +681,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ltq_register_gpio();
+ ltq_register_wdt();
+}
+diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c
+index 3d41f0b..ca2212a 100644
--- a/arch/mips/lantiq/xway/reset.c
+++ b/arch/mips/lantiq/xway/reset.c
@@ -15,6 +15,8 @@
@@ -696,6 +728,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
if (!ltq_rcu_membase)
panic("Failed to remap rcu memory\n");
+diff --git a/arch/mips/lantiq/xway/setup-ase.c b/arch/mips/lantiq/xway/setup-ase.c
+deleted file mode 100644
+index f6f3267..0000000
--- a/arch/mips/lantiq/xway/setup-ase.c
+++ /dev/null
@@ -1,19 +0,0 @@
@@ -718,6 +753,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_register_gpio();
- ltq_register_wdt();
-}
+diff --git a/arch/mips/lantiq/xway/setup-xway.c b/arch/mips/lantiq/xway/setup-xway.c
+deleted file mode 100644
+index c292f64..0000000
--- a/arch/mips/lantiq/xway/setup-xway.c
+++ /dev/null
@@ -1,20 +0,0 @@
@@ -741,6 +779,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_register_gpio();
- ltq_register_wdt();
-}
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+new file mode 100644
+index 0000000..8fd13a1
--- /dev/null
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -0,0 +1,78 @@
@@ -822,6 +863,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ /* make sure to unprotect the memory region where flash is located */
+ ltq_ebu_w32(ltq_ebu_r32(LTQ_EBU_BUSCON0) & ~EBU_WRDIS, LTQ_EBU_BUSCON0);
+}
+diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c
+index 102aed0..179bf98 100644
--- a/drivers/watchdog/lantiq_wdt.c
+++ b/drivers/watchdog/lantiq_wdt.c
@@ -16,7 +16,7 @@
@@ -833,3 +876,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* Section 3.4 of the datasheet
* The password sequence protects the WDT control register from unintended
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0006-MIPS-lantiq-change-ltq_request_gpio-call-signature.patch b/target/linux/lantiq/patches-3.2/0006-MIPS-lantiq-change-ltq_request_gpio-call-signature.patch
index 3799a73..580ce99 100644
--- a/target/linux/lantiq/patches-3.2/0006-MIPS-lantiq-change-ltq_request_gpio-call-signature.patch
+++ b/target/linux/lantiq/patches-3.2/0006-MIPS-lantiq-change-ltq_request_gpio-call-signature.patch
@@ -1,7 +1,7 @@
-From 35f0a707698fc8f20e4164a704d7ac6af3342fb8 Mon Sep 17 00:00:00 2001
+From 2daf93364658fd26bf583b7a46b81c08fddaf1e4 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 11 Nov 2011 12:45:24 +0100
-Subject: [PATCH 06/70] MIPS: lantiq: change ltq_request_gpio() call signature
+Subject: [PATCH 06/73] MIPS: lantiq: change ltq_request_gpio() call signature
ltq_request_gpio() was using alt0/1 to multiplex the function of GPIO pins.
This was XWAY specific. In order to also accomodate SoCs that require more bits
@@ -17,6 +17,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
arch/mips/pci/pci-lantiq.c | 36 +++++++++----------
4 files changed, 26 insertions(+), 28 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 9b7ee366..87f6d24 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -135,8 +135,8 @@ extern __iomem void *ltq_ebu_membase;
@@ -30,6 +32,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
extern void ltq_pmu_enable(unsigned int module);
extern void ltq_pmu_disable(unsigned int module);
extern void ltq_cgu_enable(unsigned int clk);
+diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
+index d2fa98f..f204f6c 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -48,8 +48,8 @@ int irq_to_gpio(unsigned int gpio)
@@ -43,7 +47,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
{
int id = 0;
-@@ -67,13 +67,13 @@ int ltq_gpio_request(unsigned int pin, u
+@@ -67,13 +67,13 @@ int ltq_gpio_request(unsigned int pin, unsigned int alt0,
pin -= PINS_PER_PORT;
id++;
}
@@ -59,6 +63,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
ltq_gpio_setbit(ltq_gpio_port[id].membase,
LTQ_GPIO_ALTSEL1, pin);
else
+diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
+index ff9991c..2c78660 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -79,9 +79,9 @@ static struct gpio_chip ltq_stp_chip = {
@@ -74,6 +80,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
/* sane defaults */
ltq_stp_w32(0, LTQ_STP_AR);
+diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
+index be1e1af..c001c5a 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -70,28 +70,27 @@
@@ -136,3 +144,6 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
ltq_pci_req_mask = (gpio >> PCI_REQ_SHIFT) & PCI_REQ_MASK;
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0007-MIPS-lantiq-make-irq.c-support-the-FALC-ON.patch b/target/linux/lantiq/patches-3.2/0007-MIPS-lantiq-make-irq.c-support-the-FALC-ON.patch
index a32817d..4b9e85c 100644
--- a/target/linux/lantiq/patches-3.2/0007-MIPS-lantiq-make-irq.c-support-the-FALC-ON.patch
+++ b/target/linux/lantiq/patches-3.2/0007-MIPS-lantiq-make-irq.c-support-the-FALC-ON.patch
@@ -1,7 +1,7 @@
-From 03f55cae0f5d9a4c30f935abf8d621ced64ae425 Mon Sep 17 00:00:00 2001
+From 318b9c6242418e1568430c7768371d2bd556109a Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 11 Aug 2011 12:25:55 +0200
-Subject: [PATCH 07/70] MIPS: lantiq: make irq.c support the FALC-ON
+Subject: [PATCH 07/73] MIPS: lantiq: make irq.c support the FALC-ON
There are minor differences in how irqs work on xway and falcon socs.
Xway needs 2 quirks that we need to disable for falcon to also work with
@@ -16,9 +16,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/irq.c | 24 +++++++++++++-----------
1 files changed, 13 insertions(+), 11 deletions(-)
+diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
+index f9737bb..17c057f 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
-@@ -195,7 +195,7 @@ static void ltq_hw_irqdispatch(int modul
+@@ -195,7 +195,7 @@ static void ltq_hw_irqdispatch(int module)
do_IRQ((int)irq + INT_NUM_IM0_IRL0 + (INT_NUM_IM_OFFSET * module));
/* if this is a EBU irq, we need to ack it or get a deadlock */
@@ -36,15 +38,14 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ if (LTQ_EIU_BASE_ADDR) {
+ if (insert_resource(&iomem_resource, &ltq_eiu_resource) < 0)
+ panic("Failed to insert eiu memory\n");
-+
-+ if (request_mem_region(ltq_eiu_resource.start,
-+ resource_size(&ltq_eiu_resource), "eiu") < 0)
-+ panic("Failed to request eiu memory\n");
- if (request_mem_region(ltq_eiu_resource.start,
- resource_size(&ltq_eiu_resource), "eiu") < 0)
- panic("Failed to request eiu memory\n");
--
++ if (request_mem_region(ltq_eiu_resource.start,
++ resource_size(&ltq_eiu_resource), "eiu") < 0)
++ panic("Failed to request eiu memory\n");
+
- ltq_eiu_membase = ioremap_nocache(ltq_eiu_resource.start,
+ ltq_eiu_membase = ioremap_nocache(ltq_eiu_resource.start,
resource_size(&ltq_eiu_resource));
@@ -67,3 +68,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
irq_set_chip_and_handler(i, &ltq_eiu_type,
handle_level_irq);
/* EIU3-5 only exist on ar9 and vr9 */
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0008-MIPS-lantiq-add-basic-support-for-FALC-ON.patch b/target/linux/lantiq/patches-3.2/0008-MIPS-lantiq-add-basic-support-for-FALC-ON.patch
index 5690fc6..d191e95 100644
--- a/target/linux/lantiq/patches-3.2/0008-MIPS-lantiq-add-basic-support-for-FALC-ON.patch
+++ b/target/linux/lantiq/patches-3.2/0008-MIPS-lantiq-add-basic-support-for-FALC-ON.patch
@@ -1,7 +1,7 @@
-From d54a53bc8bc25bf2f9076013f89b30cb9103f99f Mon Sep 17 00:00:00 2001
+From 9124a4d02b182c47c61fc9e58234cde9a070d2d5 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 11 Aug 2011 14:33:04 +0200
-Subject: [PATCH 08/70] MIPS: lantiq: add basic support for FALC-ON
+Subject: [PATCH 08/73] MIPS: lantiq: add basic support for FALC-ON
Adds support for the FALC-ON SoC. This SoC is from the FTTH/GPON SoC family.
@@ -34,6 +34,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/lantiq/falcon/reset.c
create mode 100644 arch/mips/lantiq/falcon/sysctrl.c
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
+new file mode 100644
+index 0000000..4dc6466
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/falcon_irq.h
@@ -0,0 +1,268 @@
@@ -305,6 +308,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+#define FALCON_IRQ_VPE0_PMCIR (INT_NUM_IM4_IRL0 + 31)
+
+#endif /* _FALCON_IRQ__ */
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/irq.h b/arch/mips/include/asm/mach-lantiq/falcon/irq.h
+new file mode 100644
+index 0000000..2caccd9
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/irq.h
@@ -0,0 +1,18 @@
@@ -326,6 +332,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+#include_next <irq.h>
+
+#endif
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+new file mode 100644
+index 0000000..b074748
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -0,0 +1,143 @@
@@ -472,9 +481,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+
+#endif /* CONFIG_SOC_FALCON */
+#endif /* _LTQ_XWAY_H__ */
+diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
+index 66d7300..188de0f 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
-@@ -25,6 +25,7 @@ extern unsigned int ltq_get_soc_type(voi
+@@ -25,6 +25,7 @@ extern unsigned int ltq_get_soc_type(void);
/* clock speeds */
#define CLOCK_60M 60000000
#define CLOCK_83M 83333333
@@ -482,6 +493,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#define CLOCK_111M 111111111
#define CLOCK_133M 133333333
#define CLOCK_167M 166666667
+diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
+index 3fccf21..cb6b39f 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -16,8 +16,12 @@ config SOC_XWAY
@@ -497,13 +510,17 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+source "arch/mips/lantiq/falcon/Kconfig"
endif
+diff --git a/arch/mips/lantiq/Makefile b/arch/mips/lantiq/Makefile
+index e5dae0e..7e9c69e 100644
--- a/arch/mips/lantiq/Makefile
+++ b/arch/mips/lantiq/Makefile
-@@ -9,3 +9,4 @@ obj-y := irq.o setup.o clk.o prom.o devi
+@@ -9,3 +9,4 @@ obj-y := irq.o setup.o clk.o prom.o devices.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
obj-$(CONFIG_SOC_TYPE_XWAY) += xway/
+obj-$(CONFIG_SOC_FALCON) += falcon/
+diff --git a/arch/mips/lantiq/Platform b/arch/mips/lantiq/Platform
+index f3dff05..b3ec498 100644
--- a/arch/mips/lantiq/Platform
+++ b/arch/mips/lantiq/Platform
@@ -6,3 +6,4 @@ platform-$(CONFIG_LANTIQ) += lantiq/
@@ -511,10 +528,16 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
load-$(CONFIG_LANTIQ) = 0xffffffff80002000
cflags-$(CONFIG_SOC_TYPE_XWAY) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/xway
+cflags-$(CONFIG_SOC_FALCON) += -I$(srctree)/arch/mips/include/asm/mach-lantiq/falcon
+diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
+new file mode 100644
+index 0000000..e9c7455
--- /dev/null
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -0,0 +1 @@
+obj-y := clk.o prom.o reset.o sysctrl.o devices.o
+diff --git a/arch/mips/lantiq/falcon/clk.c b/arch/mips/lantiq/falcon/clk.c
+new file mode 100644
+index 0000000..afe1b52
--- /dev/null
+++ b/arch/mips/lantiq/falcon/clk.c
@@ -0,0 +1,44 @@
@@ -562,6 +585,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ return CLOCK_100M;
+}
+EXPORT_SYMBOL(ltq_get_fpi_hz);
+diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
+new file mode 100644
+index 0000000..c4606f2
--- /dev/null
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -0,0 +1,87 @@
@@ -652,6 +678,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+{
+ platform_device_register(&ltq_flash_nand);
+}
+diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
+new file mode 100644
+index 0000000..e802a7c
--- /dev/null
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -0,0 +1,18 @@
@@ -673,6 +702,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+extern void falcon_register_nand(void);
+
+#endif
+diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
+new file mode 100644
+index 0000000..b50d6f9
--- /dev/null
+++ b/arch/mips/lantiq/falcon/prom.c
@@ -0,0 +1,93 @@
@@ -769,6 +801,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ break;
+ }
+}
+diff --git a/arch/mips/lantiq/falcon/reset.c b/arch/mips/lantiq/falcon/reset.c
+new file mode 100644
+index 0000000..cbcadc5
--- /dev/null
+++ b/arch/mips/lantiq/falcon/reset.c
@@ -0,0 +1,87 @@
@@ -859,6 +894,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+}
+
+arch_initcall(mips_reboot_setup);
+diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
+new file mode 100644
+index 0000000..905a142
--- /dev/null
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -0,0 +1,183 @@
@@ -1045,3 +1083,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+
+ ltq_gpe_enable();
+}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0009-MIPS-lantiq-add-support-for-FALC-ON-GPIOs.patch b/target/linux/lantiq/patches-3.2/0009-MIPS-lantiq-add-support-for-FALC-ON-GPIOs.patch
index bd39eff..5e69317 100644
--- a/target/linux/lantiq/patches-3.2/0009-MIPS-lantiq-add-support-for-FALC-ON-GPIOs.patch
+++ b/target/linux/lantiq/patches-3.2/0009-MIPS-lantiq-add-support-for-FALC-ON-GPIOs.patch
@@ -1,7 +1,7 @@
-From 95e7c9e7b37b06462c8b3b8431dc64d60369eb38 Mon Sep 17 00:00:00 2001
+From 61cbe7fcc29f439740e004ca967da852fda58b62 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 11 Aug 2011 14:35:02 +0200
-Subject: [PATCH 09/70] MIPS: lantiq: add support for FALC-ON GPIOs
+Subject: [PATCH 09/73] MIPS: lantiq: add support for FALC-ON GPIOs
FALC-ON uses a different GPIO core than the other Lantiq SoCs. This patch adds
the new driver.
@@ -16,11 +16,15 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
4 files changed, 443 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/lantiq/falcon/gpio.c
+diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
+index e9c7455..de72209 100644
--- a/arch/mips/lantiq/falcon/Makefile
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -1 +1 @@
-obj-y := clk.o prom.o reset.o sysctrl.o devices.o
+obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o
+diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
+index c4606f2..4f47b44 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -9,6 +9,7 @@
@@ -75,6 +79,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ltq_sysctl_activate(SYSCTL_SYS1,
+ ACTS_PADCTRL3 | ACTS_PADCTRL4 | ACTS_P3 | ACTS_P4);
+}
+diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
+index e802a7c..18be8b6 100644
--- a/arch/mips/lantiq/falcon/devices.h
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -14,5 +14,7 @@
@@ -85,6 +91,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+extern void falcon_register_gpio_extra(void);
#endif
+diff --git a/arch/mips/lantiq/falcon/gpio.c b/arch/mips/lantiq/falcon/gpio.c
+new file mode 100644
+index 0000000..28f8639
--- /dev/null
+++ b/arch/mips/lantiq/falcon/gpio.c
@@ -0,0 +1,399 @@
@@ -487,3 +496,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+}
+
+postcore_initcall(falcon_gpio_init);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0010-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch b/target/linux/lantiq/patches-3.2/0010-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch
index 79ab62c..5fc45e9 100644
--- a/target/linux/lantiq/patches-3.2/0010-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch
+++ b/target/linux/lantiq/patches-3.2/0010-MIPS-lantiq-add-support-for-the-EASY98000-evaluation.patch
@@ -1,7 +1,7 @@
-From 9397aa9584bade07ae667ecd5135653f9c04e236 Mon Sep 17 00:00:00 2001
+From ce27aac6ea9503ae4be0f65423424d92a714d9da Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 11 Aug 2011 14:09:35 +0200
-Subject: [PATCH 10/70] MIPS: lantiq: add support for the EASY98000 evaluation
+Subject: [PATCH 10/73] MIPS: lantiq: add support for the EASY98000 evaluation
board
This patch adds the machine code for the EASY9800 evaluation board.
@@ -17,6 +17,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/lantiq/falcon/Kconfig
create mode 100644 arch/mips/lantiq/falcon/mach-easy98000.c
+diff --git a/arch/mips/lantiq/falcon/Kconfig b/arch/mips/lantiq/falcon/Kconfig
+new file mode 100644
+index 0000000..03e999d
--- /dev/null
+++ b/arch/mips/lantiq/falcon/Kconfig
@@ -0,0 +1,11 @@
@@ -31,11 +34,16 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+endmenu
+
+endif
+diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
+index de72209..56b22eb 100644
--- a/arch/mips/lantiq/falcon/Makefile
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -1 +1,2 @@
obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o
+obj-$(CONFIG_LANTIQ_MACH_EASY98000) += mach-easy98000.o
+diff --git a/arch/mips/lantiq/falcon/mach-easy98000.c b/arch/mips/lantiq/falcon/mach-easy98000.c
+new file mode 100644
+index 0000000..361b8f0
--- /dev/null
+++ b/arch/mips/lantiq/falcon/mach-easy98000.c
@@ -0,0 +1,110 @@
@@ -149,6 +157,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ "EASY98000NAND",
+ "EASY98000 Eval Board (NAND Flash)",
+ easy98000nand_init);
+diff --git a/arch/mips/lantiq/machtypes.h b/arch/mips/lantiq/machtypes.h
+index 7e01b8c..dfc6af7 100644
--- a/arch/mips/lantiq/machtypes.h
+++ b/arch/mips/lantiq/machtypes.h
@@ -15,6 +15,11 @@ enum lantiq_mach_type {
@@ -163,3 +173,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
};
#endif
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0011-MIPS-lantiq-fix-early-printk.patch b/target/linux/lantiq/patches-3.2/0011-MIPS-lantiq-fix-early-printk.patch
index 1eb29e6..9981322 100644
--- a/target/linux/lantiq/patches-3.2/0011-MIPS-lantiq-fix-early-printk.patch
+++ b/target/linux/lantiq/patches-3.2/0011-MIPS-lantiq-fix-early-printk.patch
@@ -1,7 +1,7 @@
-From 68e9e86dda22c491e5e3c44271a91aefcf636434 Mon Sep 17 00:00:00 2001
+From 993160b530efe9b0d3f0bc4551954a4c3344beeb Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sat, 20 Aug 2011 18:55:13 +0200
-Subject: [PATCH 11/70] MIPS: lantiq: fix early printk
+Subject: [PATCH 11/73] MIPS: lantiq: fix early printk
The code was using a 32bit write operations in the early_printk code. This
resulted in 3 zero bytes also being written to the serial port. This patch
@@ -14,6 +14,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/early_printk.c | 14 ++++++++------
2 files changed, 14 insertions(+), 6 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 87f6d24..e31f52d 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -34,6 +34,12 @@
@@ -29,6 +31,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* RCU - reset control unit */
#define LTQ_RCU_BASE_ADDR 0x1F203000
#define LTQ_RCU_SIZE 0x1000
+diff --git a/arch/mips/lantiq/early_printk.c b/arch/mips/lantiq/early_printk.c
+index 972e05f..5089075 100644
--- a/arch/mips/lantiq/early_printk.c
+++ b/arch/mips/lantiq/early_printk.c
@@ -12,11 +12,13 @@
@@ -59,3 +63,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ltq_w8(c, LTQ_ASC_TBUF);
local_irq_restore(flags);
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0012-MIPS-lantiq-fix-cmdline-parsing.patch b/target/linux/lantiq/patches-3.2/0012-MIPS-lantiq-fix-cmdline-parsing.patch
index 6ef423b..13ffbac 100644
--- a/target/linux/lantiq/patches-3.2/0012-MIPS-lantiq-fix-cmdline-parsing.patch
+++ b/target/linux/lantiq/patches-3.2/0012-MIPS-lantiq-fix-cmdline-parsing.patch
@@ -1,7 +1,7 @@
-From 3be934b64f874e6cd2af7945f4fc441c7fadb34f Mon Sep 17 00:00:00 2001
+From 9c1b1cde50b09dd3679d74cde07694cee32c8b19 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 12 Aug 2011 16:27:38 +0200
-Subject: [PATCH 12/70] MIPS: lantiq: fix cmdline parsing
+Subject: [PATCH 12/73] MIPS: lantiq: fix cmdline parsing
The code tested if the KSEG1 mapped address of argv was != 0. We need to use
CPHYSADDR instead to make the conditional actually work.
@@ -12,9 +12,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/prom.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
+diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
+index e3b1e25..acb8921 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
-@@ -49,10 +49,12 @@ static void __init prom_init_cmdline(voi
+@@ -49,10 +49,12 @@ static void __init prom_init_cmdline(void)
char **argv = (char **) KSEG1ADDR(fw_arg1);
int i;
@@ -29,3 +31,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
strlcat(arcs_cmdline, p, sizeof(arcs_cmdline));
strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline));
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0013-MIPS-lantiq-fix-STP-gpio-groups.patch b/target/linux/lantiq/patches-3.2/0013-MIPS-lantiq-fix-STP-gpio-groups.patch
index 4b5ed69..adecdab 100644
--- a/target/linux/lantiq/patches-3.2/0013-MIPS-lantiq-fix-STP-gpio-groups.patch
+++ b/target/linux/lantiq/patches-3.2/0013-MIPS-lantiq-fix-STP-gpio-groups.patch
@@ -1,7 +1,7 @@
-From 556ba7f7149a0350a47ecf26185aed99c8d87176 Mon Sep 17 00:00:00 2001
+From 1314356c316e79f9887ac12b9cdf2ddba24d34a5 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 27 Oct 2011 20:06:05 +0200
-Subject: [PATCH 13/70] MIPS: lantiq: fix STP gpio groups
+Subject: [PATCH 13/73] MIPS: lantiq: fix STP gpio groups
The STP engine has 3 groups of 8 pins. Only the first was activated by default.
This patch activates the 2 missing groups.
@@ -12,6 +12,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/xway/gpio_stp.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
+diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
+index 2c78660..cb6f170 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -35,6 +35,8 @@
@@ -35,3 +37,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* stp are update periodically by the FPI bus */
ltq_stp_w32_mask(LTQ_STP_UPD_MASK, LTQ_STP_UPD_FPI, LTQ_STP_CON1);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0014-MIPS-lantiq-fix-pull-gpio-up-resistors-usage.patch b/target/linux/lantiq/patches-3.2/0014-MIPS-lantiq-fix-pull-gpio-up-resistors-usage.patch
index 192add7..d535c3e 100644
--- a/target/linux/lantiq/patches-3.2/0014-MIPS-lantiq-fix-pull-gpio-up-resistors-usage.patch
+++ b/target/linux/lantiq/patches-3.2/0014-MIPS-lantiq-fix-pull-gpio-up-resistors-usage.patch
@@ -1,7 +1,7 @@
-From e97f45d255f4a223d38e2f39c1ddf7a3e0766527 Mon Sep 17 00:00:00 2001
+From cf06a3358f752a7d1247498f1e9409b66b23a603 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 27 Oct 2011 20:06:30 +0200
-Subject: [PATCH 14/70] MIPS: lantiq: fix pull gpio up resistors usage
+Subject: [PATCH 14/73] MIPS: lantiq: fix pull gpio up resistors usage
The register that enables a gpios internal pullups was not used. This patch
makes sure the pullups are activated correctly.
@@ -12,6 +12,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/xway/gpio.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
+diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
+index f204f6c..14ff7c7 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -21,6 +21,8 @@
@@ -23,7 +25,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#define PINS_PER_PORT 16
#define MAX_PORTS 3
-@@ -106,6 +108,8 @@ static int ltq_gpio_direction_input(stru
+@@ -106,6 +108,8 @@ static int ltq_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_OD, offset);
ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset);
@@ -32,7 +34,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
return 0;
}
-@@ -117,6 +121,8 @@ static int ltq_gpio_direction_output(str
+@@ -117,6 +121,8 @@ static int ltq_gpio_direction_output(struct gpio_chip *chip,
ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_OD, offset);
ltq_gpio_setbit(ltq_gpio->membase, LTQ_GPIO_DIR, offset);
@@ -41,3 +43,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ltq_gpio_set(chip, offset, value);
return 0;
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0015-MIPS-lantiq-add-default-configs.patch b/target/linux/lantiq/patches-3.2/0015-MIPS-lantiq-add-default-configs.patch
index 88a4b80..66a7387 100644
--- a/target/linux/lantiq/patches-3.2/0015-MIPS-lantiq-add-default-configs.patch
+++ b/target/linux/lantiq/patches-3.2/0015-MIPS-lantiq-add-default-configs.patch
@@ -1,7 +1,7 @@
-From 9946990028431fc732d1244c6ccdfface1ee5640 Mon Sep 17 00:00:00 2001
+From 1b9ea6ce42ae06a5f746b6f1aaa039037b2d71a3 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 11 Nov 2011 22:02:27 +0100
-Subject: [PATCH 15/70] MIPS: lantiq: add default configs
+Subject: [PATCH 15/73] MIPS: lantiq: add default configs
This patch adds the default config for 3 Lantiq SoCs
@@ -19,6 +19,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
create mode 100644 arch/mips/configs/falcon_defconfig
create mode 100644 arch/mips/configs/xway_defconfig
+diff --git a/arch/mips/configs/ase_defconfig b/arch/mips/configs/ase_defconfig
+new file mode 100644
+index 0000000..5bb1d93
--- /dev/null
+++ b/arch/mips/configs/ase_defconfig
@@ -0,0 +1,67 @@
@@ -89,6 +92,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+CONFIG_SQUASHFS_XZ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_FS=y
+diff --git a/arch/mips/configs/falcon_defconfig b/arch/mips/configs/falcon_defconfig
+new file mode 100644
+index 0000000..ce242a8
--- /dev/null
+++ b/arch/mips/configs/falcon_defconfig
@@ -0,0 +1,72 @@
@@ -164,6 +170,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+CONFIG_SQUASHFS_XZ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_FS=y
+diff --git a/arch/mips/configs/xway_defconfig b/arch/mips/configs/xway_defconfig
+new file mode 100644
+index 0000000..510a964
--- /dev/null
+++ b/arch/mips/configs/xway_defconfig
@@ -0,0 +1,66 @@
@@ -233,3 +242,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+CONFIG_SQUASHFS_XZ=y
+CONFIG_STRIP_ASM_SYMS=y
+CONFIG_DEBUG_FS=y
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0016-MAINTAINERS-add-entry-for-Lantiq-related-files.patch b/target/linux/lantiq/patches-3.2/0016-MAINTAINERS-add-entry-for-Lantiq-related-files.patch
index 5fc5293..407a9ad 100644
--- a/target/linux/lantiq/patches-3.2/0016-MAINTAINERS-add-entry-for-Lantiq-related-files.patch
+++ b/target/linux/lantiq/patches-3.2/0016-MAINTAINERS-add-entry-for-Lantiq-related-files.patch
@@ -1,7 +1,7 @@
-From c68f8bdcd4c58a0c1d92e20230a943e8089d865a Mon Sep 17 00:00:00 2001
+From ae4a7211739412c5f9ddd85d1437cab182fe428f Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 10 Nov 2011 19:32:37 +0100
-Subject: [PATCH 16/70] MAINTAINERS: add entry for Lantiq related files
+Subject: [PATCH 16/73] MAINTAINERS: add entry for Lantiq related files
Adds new entry to MAINTAINERS file for Lantiq SoC related code.
@@ -10,9 +10,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
MAINTAINERS | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 62f1cd3..c04defd 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -4353,6 +4353,18 @@ S: Supported
+@@ -4348,6 +4348,18 @@ S: Supported
F: Documentation/mips/
F: arch/mips/
@@ -31,3 +33,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
MISCELLANEOUS MCA-SUPPORT
M: James Bottomley <James.Bottomley@HansenPartnership.com>
S: Maintained
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0018-MIPS-lantiq-enable-oprofile-support-on-lantiq-target.patch b/target/linux/lantiq/patches-3.2/0017-MIPS-lantiq-enable-oprofile-support-on-lantiq-target.patch
index b6494cf..3c64a41 100644
--- a/target/linux/lantiq/patches-3.2/0018-MIPS-lantiq-enable-oprofile-support-on-lantiq-target.patch
+++ b/target/linux/lantiq/patches-3.2/0017-MIPS-lantiq-enable-oprofile-support-on-lantiq-target.patch
@@ -1,7 +1,7 @@
-From e0bd3f1b16fbce1f0f7900a0dd624f9dc8a47f78 Mon Sep 17 00:00:00 2001
+From 476a5cd7924926236c2356654da639fea90a8fea Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Wed, 24 Aug 2011 13:28:55 +0200
-Subject: [PATCH 18/70] MIPS: lantiq: enable oprofile support on lantiq
+Subject: [PATCH 17/73] MIPS: lantiq: enable oprofile support on lantiq
targets
This patch sets the performance counters irq and HAVE_OPROFILE flag for Lantiq
@@ -13,6 +13,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/irq.c | 5 +++++
2 files changed, 6 insertions(+), 0 deletions(-)
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index d46f1da..c1ceadb 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -226,6 +226,7 @@ config LANTIQ
@@ -23,6 +25,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
select MIPS_MACHINE
config LASAT
+diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
+index 17c057f..0b2ed87 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -40,6 +40,9 @@
@@ -44,3 +48,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
unsigned int __cpuinit get_c0_compare_int(void)
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0019-NET-MIPS-lantiq-make-etop-ethernet-work-on-ase-ar9.patch b/target/linux/lantiq/patches-3.2/0018-NET-MIPS-lantiq-make-etop-ethernet-work-on-ase-ar9.patch
index 594a8b2..cbce8cb 100644
--- a/target/linux/lantiq/patches-3.2/0019-NET-MIPS-lantiq-make-etop-ethernet-work-on-ase-ar9.patch
+++ b/target/linux/lantiq/patches-3.2/0018-NET-MIPS-lantiq-make-etop-ethernet-work-on-ase-ar9.patch
@@ -1,7 +1,7 @@
-From 4b24c79196e5777baff0f5d53b62cf2a964e26ff Mon Sep 17 00:00:00 2001
+From a1a9dcf7554df9bbf23ca0933e645b2327abbb8b Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Wed, 10 Aug 2011 15:32:16 +0200
-Subject: [PATCH 19/70] NET: MIPS: lantiq: make etop ethernet work on ase/ar9
+Subject: [PATCH 18/73] NET: MIPS: lantiq: make etop ethernet work on ase/ar9
Extend the driver to handle the different DMA channel layout for AR9 and
Amazon-SE SoCs. The patch also adds support for the integrated PHY found
@@ -16,6 +16,8 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 171 ++++++++++++++++++--
4 files changed, 174 insertions(+), 40 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+index b4465a8..2a8d5ad 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -38,26 +38,8 @@
@@ -47,6 +49,8 @@ Cc: netdev@vger.kernel.org
#define LTQ_PPE_MBOX_INT (INT_NUM_IM2_IRL0 + 24)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index e31f52d..6983d75 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -82,6 +82,7 @@
@@ -68,7 +72,7 @@ Cc: netdev@vger.kernel.org
/* DMA */
#define LTQ_DMA_BASE_ADDR 0x1E104100
#define LTQ_DMA_SIZE 0x800
-@@ -147,6 +152,11 @@ extern void ltq_pmu_enable(unsigned int
+@@ -147,6 +152,11 @@ extern void ltq_pmu_enable(unsigned int module);
extern void ltq_pmu_disable(unsigned int module);
extern void ltq_cgu_enable(unsigned int clk);
@@ -80,6 +84,8 @@ Cc: netdev@vger.kernel.org
static inline int ltq_is_ar9(void)
{
return (ltq_get_soc_type() == SOC_TYPE_AR9);
+diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
+index f97e565..eab4644d 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
@@ -74,18 +74,23 @@ void __init ltq_register_ase_asc(void)
@@ -109,15 +115,18 @@ Cc: netdev@vger.kernel.org
if (eth) {
ltq_etop.dev.platform_data = eth;
platform_device_register(&ltq_etop);
+diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
+index 0b3567a..d3d4931 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -71,10 +71,43 @@
#define ETOP_MII_REVERSE 0xe
#define ETOP_PLEN_UNDER 0x40
#define ETOP_CGEN 0x800
-+#define ETOP_CFG_MII0 0x01
-
+-
-/* use 2 static channels for TX/RX */
++#define ETOP_CFG_MII0 0x01
++
+#define LTQ_GBIT_MDIO_CTL 0xCC
+#define LTQ_GBIT_MDIO_DATA 0xd0
+#define LTQ_GBIT_GCTL0 0x68
@@ -265,7 +274,7 @@ Cc: netdev@vger.kernel.org
struct ltq_etop_chan *ch = &priv->ch[i];
ch->idx = ch->dma.nr = i;
-@@ -339,6 +421,39 @@ static const struct ethtool_ops ltq_etop
+@@ -339,6 +421,39 @@ static const struct ethtool_ops ltq_etop_ethtool_ops = {
};
static int
@@ -305,7 +314,7 @@ Cc: netdev@vger.kernel.org
ltq_etop_mdio_wr(struct mii_bus *bus, int phy_addr, int phy_reg, u16 phy_data)
{
u32 val = MDIO_REQUEST |
-@@ -379,14 +494,11 @@ ltq_etop_mdio_probe(struct net_device *d
+@@ -379,14 +494,11 @@ ltq_etop_mdio_probe(struct net_device *dev)
{
struct ltq_etop_priv *priv = netdev_priv(dev);
struct phy_device *phydev = NULL;
@@ -324,7 +333,7 @@ Cc: netdev@vger.kernel.org
if (!phydev) {
netdev_err(dev, "no PHY found\n");
-@@ -408,6 +520,9 @@ ltq_etop_mdio_probe(struct net_device *d
+@@ -408,6 +520,9 @@ ltq_etop_mdio_probe(struct net_device *dev)
| SUPPORTED_Autoneg
| SUPPORTED_MII
| SUPPORTED_TP);
@@ -334,7 +343,7 @@ Cc: netdev@vger.kernel.org
phydev->advertising = phydev->supported;
priv->phydev = phydev;
-@@ -433,8 +548,13 @@ ltq_etop_mdio_init(struct net_device *de
+@@ -433,8 +548,13 @@ ltq_etop_mdio_init(struct net_device *dev)
}
priv->mii_bus->priv = dev;
@@ -350,7 +359,7 @@ Cc: netdev@vger.kernel.org
priv->mii_bus->name = "ltq_mii";
snprintf(priv->mii_bus->id, MII_BUS_ID_SIZE, "%x", 0);
priv->mii_bus->irq = kmalloc(sizeof(int) * PHY_MAX_ADDR, GFP_KERNEL);
-@@ -524,9 +644,9 @@ ltq_etop_tx(struct sk_buff *skb, struct
+@@ -524,9 +644,9 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
struct ltq_etop_priv *priv = netdev_priv(dev);
struct ltq_etop_chan *ch = &priv->ch[(queue << 1) | 1];
struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
@@ -361,7 +370,7 @@ Cc: netdev@vger.kernel.org
len = skb->len < ETH_ZLEN ? ETH_ZLEN : skb->len;
-@@ -700,7 +820,7 @@ ltq_etop_probe(struct platform_device *p
+@@ -700,7 +820,7 @@ ltq_etop_probe(struct platform_device *pdev)
{
struct net_device *dev;
struct ltq_etop_priv *priv;
@@ -370,7 +379,7 @@ Cc: netdev@vger.kernel.org
int err;
int i;
-@@ -728,6 +848,23 @@ ltq_etop_probe(struct platform_device *p
+@@ -728,6 +848,23 @@ ltq_etop_probe(struct platform_device *pdev)
goto err_out;
}
@@ -394,3 +403,6 @@ Cc: netdev@vger.kernel.org
dev = alloc_etherdev_mq(sizeof(struct ltq_etop_priv), 4);
strcpy(dev->name, "eth%d");
dev->netdev_ops = &ltq_eth_netdev_ops;
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0020-NET-MIPS-lantiq-non-existing-phy-was-not-handled-gra.patch b/target/linux/lantiq/patches-3.2/0019-NET-MIPS-lantiq-non-existing-phy-was-not-handled-gra.patch
index 95dd0a9..e59244a 100644
--- a/target/linux/lantiq/patches-3.2/0020-NET-MIPS-lantiq-non-existing-phy-was-not-handled-gra.patch
+++ b/target/linux/lantiq/patches-3.2/0019-NET-MIPS-lantiq-non-existing-phy-was-not-handled-gra.patch
@@ -1,7 +1,7 @@
-From d9cddd0b4062e66f350297b4b855ef4db3a1c16b Mon Sep 17 00:00:00 2001
+From 2bad6512b242b3b5f41414a830d7224d504d0825 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 15 Nov 2011 14:52:21 +0100
-Subject: [PATCH 20/70] NET: MIPS: lantiq: non existing phy was not handled
+Subject: [PATCH 19/73] NET: MIPS: lantiq: non existing phy was not handled
gracefully
The code blindly assumed that that a PHY device was present causing a BadVA.
@@ -16,6 +16,8 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
+diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
+index d3d4931..9fd6779 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -612,7 +612,8 @@ ltq_etop_open(struct net_device *dev)
@@ -52,7 +54,7 @@ Cc: netdev@vger.kernel.org
return 0;
err_netdev:
-@@ -868,7 +871,6 @@ ltq_etop_probe(struct platform_device *p
+@@ -868,7 +871,6 @@ ltq_etop_probe(struct platform_device *pdev)
dev = alloc_etherdev_mq(sizeof(struct ltq_etop_priv), 4);
strcpy(dev->name, "eth%d");
dev->netdev_ops = &ltq_eth_netdev_ops;
@@ -60,3 +62,6 @@ Cc: netdev@vger.kernel.org
priv = netdev_priv(dev);
priv->res = res;
priv->pldata = dev_get_platdata(&pdev->dev);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0021-NET-MIPS-lantiq-return-value-of-request_irq-was-not-.patch b/target/linux/lantiq/patches-3.2/0020-NET-MIPS-lantiq-return-value-of-request_irq-was-not-.patch
index 45d8508..bd7e666 100644
--- a/target/linux/lantiq/patches-3.2/0021-NET-MIPS-lantiq-return-value-of-request_irq-was-not-.patch
+++ b/target/linux/lantiq/patches-3.2/0020-NET-MIPS-lantiq-return-value-of-request_irq-was-not-.patch
@@ -1,7 +1,7 @@
-From 6916ef9742e45213d524b69700d937976098d1e6 Mon Sep 17 00:00:00 2001
+From 641dd8688489331068ff4a3f35ee0ad3ca02dbd2 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 15 Nov 2011 15:56:06 +0100
-Subject: [PATCH 21/70] NET: MIPS: lantiq: return value of request_irq was not
+Subject: [PATCH 20/73] NET: MIPS: lantiq: return value of request_irq was not
handled gracefully
The return values of request_irq() were not checked leading to the following
@@ -17,6 +17,8 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 14 ++++++++------
1 files changed, 8 insertions(+), 6 deletions(-)
+diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
+index 9fd6779..dddb9fe 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -312,6 +312,7 @@ ltq_etop_hw_init(struct net_device *dev)
@@ -64,3 +66,6 @@ Cc: netdev@vger.kernel.org
}
static void
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0022-MIPS-lantiq-use-devres-managed-gpios.patch b/target/linux/lantiq/patches-3.2/0021-MIPS-lantiq-use-devres-managed-gpios.patch
index 61c3b85..e7ae83d 100644
--- a/target/linux/lantiq/patches-3.2/0022-MIPS-lantiq-use-devres-managed-gpios.patch
+++ b/target/linux/lantiq/patches-3.2/0021-MIPS-lantiq-use-devres-managed-gpios.patch
@@ -1,7 +1,7 @@
-From 9819317c005d57e1a5924af1faa43f73ed156a2d Mon Sep 17 00:00:00 2001
+From 20ed991ce59030544426dc3422da7ee76667537b Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 08:37:25 +0100
-Subject: [PATCH 22/70] MIPS: lantiq: use devres managed gpios
+Subject: [PATCH 21/73] MIPS: lantiq: use devres managed gpios
3.2 introduced devm_request_gpio() to allow managed gpios.
@@ -22,6 +22,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/lantiq.c | 12 ++++++++++++
10 files changed, 45 insertions(+), 33 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+index b074748..a5dc06a 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -126,9 +126,7 @@ extern __iomem void *ltq_sys1_membase;
@@ -35,9 +37,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
extern int ltq_gpio_mux_set(unsigned int pin, unsigned int mux);
/* to keep the irq code generic we need to define these to 0 as falcon
+diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
+index 188de0f..924b91a 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
-@@ -37,6 +37,10 @@ extern unsigned int ltq_get_soc_type(voi
+@@ -37,6 +37,10 @@ extern unsigned int ltq_get_soc_type(void);
/* spinlock all ebu i/o */
extern spinlock_t ebu_lock;
@@ -48,6 +52,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* some irq helpers */
extern void ltq_disable_irq(struct irq_data *data);
extern void ltq_mask_and_ack_irq(struct irq_data *data);
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 6983d75..6c5b705 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -145,9 +145,6 @@
@@ -60,9 +66,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
extern void ltq_pmu_enable(unsigned int module);
extern void ltq_pmu_disable(unsigned int module);
extern void ltq_cgu_enable(unsigned int clk);
+diff --git a/arch/mips/lantiq/falcon/gpio.c b/arch/mips/lantiq/falcon/gpio.c
+index 28f8639..a44f71b 100644
--- a/arch/mips/lantiq/falcon/gpio.c
+++ b/arch/mips/lantiq/falcon/gpio.c
-@@ -97,7 +97,7 @@ int ltq_gpio_mux_set(unsigned int pin, u
+@@ -97,7 +97,7 @@ int ltq_gpio_mux_set(unsigned int pin, unsigned int mux)
}
EXPORT_SYMBOL(ltq_gpio_mux_set);
@@ -71,7 +79,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
unsigned int dir, const char *name)
{
int port = pin / 100;
-@@ -106,7 +106,7 @@ int ltq_gpio_request(unsigned int pin, u
+@@ -106,7 +106,7 @@ int ltq_gpio_request(unsigned int pin, unsigned int mux,
if (offset >= PINS_PER_PORT || port >= MAX_PORTS)
return -EINVAL;
@@ -80,6 +88,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
pr_err("failed to setup lantiq gpio: %s\n", name);
return -EBUSY;
}
+diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
+index b50d6f9..f98b389 100644
--- a/arch/mips/lantiq/falcon/prom.c
+++ b/arch/mips/lantiq/falcon/prom.c
@@ -27,9 +27,6 @@
@@ -103,6 +113,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ltq_sysctl_activate(SYSCTL_SYS1, ACTS_ASC1_ACT);
}
}
+diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
+index 14ff7c7..54ec6c9 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -50,14 +50,14 @@ int irq_to_gpio(unsigned int gpio)
@@ -122,6 +134,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
pr_err("failed to setup lantiq gpio: %s\n", name);
return -EBUSY;
}
+diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
+index cb6f170..e6b4809 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -80,11 +80,6 @@ static struct gpio_chip ltq_stp_chip = {
@@ -136,7 +150,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* sane defaults */
ltq_stp_w32(0, LTQ_STP_AR);
ltq_stp_w32(0, LTQ_STP_CPU0);
-@@ -133,6 +128,14 @@ static int __devinit ltq_stp_probe(struc
+@@ -133,6 +128,14 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
dev_err(&pdev->dev, "failed to remap STP memory\n");
return -ENOMEM;
}
@@ -151,6 +165,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ret = gpiochip_add(&ltq_stp_chip);
if (!ret)
ret = ltq_stp_hw_init();
+diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
+index c001c5a..47b551c 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -150,24 +150,26 @@ static u32 ltq_calc_bar11mask(void)
@@ -186,7 +202,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* set clock to 33Mhz */
if (ltq_is_ar9()) {
-@@ -190,7 +192,7 @@ static int __devinit ltq_pci_startup(str
+@@ -190,7 +192,7 @@ static int __devinit ltq_pci_startup(struct ltq_pci_data *conf)
}
/* setup pci clock and gpis used by pci */
@@ -195,7 +211,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* enable auto-switching between PCI and EBU */
ltq_pci_w32(0xa, PCI_CR_CLK_CTRL);
-@@ -275,7 +277,7 @@ static int __devinit ltq_pci_probe(struc
+@@ -275,7 +277,7 @@ static int __devinit ltq_pci_probe(struct platform_device *pdev)
ioremap_nocache(LTQ_PCI_CFG_BASE, LTQ_PCI_CFG_BASE);
ltq_pci_controller.io_map_base =
(unsigned long)ioremap(LTQ_PCI_IO_BASE, LTQ_PCI_IO_SIZE - 1);
@@ -204,6 +220,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
register_pci_controller(&ltq_pci_controller);
return 0;
+diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
+index dddb9fe..fcbb9c7 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -291,9 +291,6 @@ ltq_etop_gbit_init(void)
@@ -216,7 +234,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ltq_gbit_w32_mask(0, GCTL0_SE, LTQ_GBIT_GCTL0);
/** Disable MDIO auto polling mode */
ltq_gbit_w32_mask(0, PX_CTL_DMDIO, LTQ_GBIT_P0_CTL);
-@@ -868,6 +865,12 @@ ltq_etop_probe(struct platform_device *p
+@@ -868,6 +865,12 @@ ltq_etop_probe(struct platform_device *pdev)
err = -ENOMEM;
goto err_out;
}
@@ -229,6 +247,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
dev = alloc_etherdev_mq(sizeof(struct ltq_etop_priv), 4);
+diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
+index 96c1cac..5d25828 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -107,6 +107,9 @@
@@ -241,7 +261,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static void lqasc_tx_chars(struct uart_port *port);
static struct ltq_uart_port *lqasc_port[MAXPORTS];
static struct uart_driver lqasc_reg;
-@@ -529,6 +532,15 @@ lqasc_request_port(struct uart_port *por
+@@ -529,6 +532,15 @@ lqasc_request_port(struct uart_port *port)
if (port->membase == NULL)
return -ENOMEM;
}
@@ -257,3 +277,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
return 0;
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0023-MIPS-add-clkdev.h.patch b/target/linux/lantiq/patches-3.2/0022-MIPS-add-clkdev.h.patch
index ac16610..5c3312b 100644
--- a/target/linux/lantiq/patches-3.2/0023-MIPS-add-clkdev.h.patch
+++ b/target/linux/lantiq/patches-3.2/0022-MIPS-add-clkdev.h.patch
@@ -1,7 +1,7 @@
-From aeb5a729386db036163fa21a8f5e5e1f9a735ebf Mon Sep 17 00:00:00 2001
+From 98f3072e25ba8b7552e51309b05b8c643725dec9 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 16 Feb 2012 20:23:36 +0100
-Subject: [PATCH 23/70] MIPS: add clkdev.h
+Subject: [PATCH 22/73] MIPS: add clkdev.h
For clkdev to work on MIPS we need this file
@@ -13,6 +13,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
1 files changed, 25 insertions(+), 0 deletions(-)
create mode 100644 arch/mips/include/asm/clkdev.h
+diff --git a/arch/mips/include/asm/clkdev.h b/arch/mips/include/asm/clkdev.h
+new file mode 100644
+index 0000000..2624754
--- /dev/null
+++ b/arch/mips/include/asm/clkdev.h
@@ -0,0 +1,25 @@
@@ -41,3 +44,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+}
+
+#endif
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0024-MIPS-lantiq-helper-functions-for-SoC-detection.patch b/target/linux/lantiq/patches-3.2/0023-MIPS-lantiq-helper-functions-for-SoC-detection.patch
index 064aa64..219d4c6 100644
--- a/target/linux/lantiq/patches-3.2/0024-MIPS-lantiq-helper-functions-for-SoC-detection.patch
+++ b/target/linux/lantiq/patches-3.2/0023-MIPS-lantiq-helper-functions-for-SoC-detection.patch
@@ -1,7 +1,7 @@
-From 8b47a5997efb253459fa62acce9c52202cbec9da Mon Sep 17 00:00:00 2001
+From ba0e580e5af68726cea08990891fc4abf1cfcde4 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 21 Feb 2012 14:25:03 +0100
-Subject: [PATCH 24/70] MIPS: lantiq: helper functions for SoC detection
+Subject: [PATCH 23/73] MIPS: lantiq: helper functions for SoC detection
Add additional functions for runtime soc detection. We need these for the
serial driver.
@@ -12,9 +12,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
.../mips/include/asm/mach-lantiq/xway/lantiq_soc.h | 5 +++++
2 files changed, 19 insertions(+), 2 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+index a5dc06a..0aa1f16 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
-@@ -134,8 +134,20 @@ extern int ltq_gpio_mux_set(unsigned int
+@@ -134,8 +134,20 @@ extern int ltq_gpio_mux_set(unsigned int pin, unsigned int mux);
#define LTQ_EIU_BASE_ADDR 0
#define LTQ_EBU_PCC_ISTAT 0
@@ -37,6 +39,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#endif /* CONFIG_SOC_FALCON */
#endif /* _LTQ_XWAY_H__ */
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 6c5b705..45e480c 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -164,5 +164,10 @@ static inline int ltq_is_vr9(void)
@@ -50,3 +54,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+
#endif /* CONFIG_SOC_TYPE_XWAY */
#endif /* _LTQ_XWAY_H__ */
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0025-MIPS-lantiq-convert-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0024-MIPS-lantiq-convert-to-clkdev-api.patch
index d2709e9..bc69c92 100644
--- a/target/linux/lantiq/patches-3.2/0025-MIPS-lantiq-convert-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0024-MIPS-lantiq-convert-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From 25db3804c7c9ed3ee5161b00b38de84b1d19f6a8 Mon Sep 17 00:00:00 2001
+From a5124da58605e1717b57953bce56301ea0b33d25 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 08:39:06 +0100
-Subject: [PATCH 25/70] MIPS: lantiq: convert to clkdev api
+Subject: [PATCH 24/73] MIPS: lantiq: convert to clkdev api
* Change setup from HAVE_CLK -> HAVE_MACH_CLKDEV/CLKDEV_LOOKUP
* Add clk_activate/clk_deactivate
@@ -17,6 +17,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/prom.c | 1 -
5 files changed, 111 insertions(+), 61 deletions(-)
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index c1ceadb..1b78cd7 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -225,7 +225,8 @@ config LANTIQ
@@ -29,6 +31,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
select HAVE_OPROFILE
select MIPS_MACHINE
+diff --git a/arch/mips/include/asm/mach-lantiq/lantiq.h b/arch/mips/include/asm/mach-lantiq/lantiq.h
+index 924b91a..622847f 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq.h
@@ -9,6 +9,7 @@
@@ -58,7 +62,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* spinlock all ebu i/o */
extern spinlock_t ebu_lock;
-@@ -46,6 +35,13 @@ extern void ltq_disable_irq(struct irq_d
+@@ -46,6 +35,13 @@ extern void ltq_disable_irq(struct irq_data *data);
extern void ltq_mask_and_ack_irq(struct irq_data *data);
extern void ltq_enable_irq(struct irq_data *data);
@@ -72,6 +76,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* find out what caused the last cpu reset */
extern int ltq_reset_cause(void);
+diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c
+index 39eef7f..84a201e 100644
--- a/arch/mips/lantiq/clk.c
+++ b/arch/mips/lantiq/clk.c
@@ -12,6 +12,7 @@
@@ -116,26 +122,27 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- .get_rate = ltq_get_io_region_clock,
- },
-};
+-
+-void clk_init(void)
+struct clk *clk_get_cpu(void)
+{
+ return &cpu_clk_generic[0];
+}
+
+struct clk *clk_get_fpi(void)
-+{
-+ return &cpu_clk_generic[1];
-+}
-
--void clk_init(void)
-+struct clk *clk_get_io(void)
{
- cpu_clk = cpu_clk_generic;
- cpu_clk_cnt = ARRAY_SIZE(cpu_clk_generic);
++ return &cpu_clk_generic[1];
++}
++
++struct clk *clk_get_io(void)
++{
+ return &cpu_clk_generic[2];
}
static inline int clk_good(struct clk *clk)
-@@ -73,36 +70,49 @@ unsigned long clk_get_rate(struct clk *c
+@@ -73,36 +70,49 @@ unsigned long clk_get_rate(struct clk *clk)
}
EXPORT_SYMBOL(clk_get_rate);
@@ -145,15 +152,15 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- int i;
+ if (unlikely(!clk_good(clk)))
+ return -1;
++
++ if (clk->enable)
++ return clk->enable(clk);
- for (i = 0; i < cpu_clk_cnt; i++)
- if (!strcmp(id, cpu_clk[i].name))
- return &cpu_clk[i];
- BUG();
- return ERR_PTR(-ENOENT);
-+ if (clk->enable)
-+ return clk->enable(clk);
-+
+ return -1;
}
-EXPORT_SYMBOL(clk_get);
@@ -212,6 +219,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
mips_hpt_frequency = clk_get_rate(clk) / ltq_get_counter_resolution();
write_c0_compare(read_c0_count());
pr_info("CPU Clock: %ldMHz\n", clk_get_rate(clk) / 1000000);
+diff --git a/arch/mips/lantiq/clk.h b/arch/mips/lantiq/clk.h
+index 3328925..d047768 100644
--- a/arch/mips/lantiq/clk.h
+++ b/arch/mips/lantiq/clk.h
@@ -9,10 +9,54 @@
@@ -273,6 +282,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+extern unsigned long ltq_vr9_io_region_clock(void);
#endif
+diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
+index acb8921..971554b 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -103,7 +103,6 @@ EXPORT_SYMBOL(ltq_remap_resource);
@@ -283,3 +294,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
snprintf(soc_info.sys_type, LTQ_SYS_TYPE_LEN - 1, "%s rev %s",
soc_info.name, soc_info.rev_type);
soc_info.sys_type[LTQ_SYS_TYPE_LEN - 1] = '\0';
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0026-MIPS-lantiq-convert-xway-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0025-MIPS-lantiq-convert-xway-to-clkdev-api.patch
index 3a658f8..f14c279 100644
--- a/target/linux/lantiq/patches-3.2/0026-MIPS-lantiq-convert-xway-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0025-MIPS-lantiq-convert-xway-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From 418e330dc60aaabdb5cf4509ec08cce07d63f32e Mon Sep 17 00:00:00 2001
+From b6a73eaeb10726bb30584aa8aa4620061db653ba Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 11:18:22 +0100
-Subject: [PATCH 26/70] MIPS: lantiq: convert xway to clkdev api
+Subject: [PATCH 25/73] MIPS: lantiq: convert xway to clkdev api
Unify xway/ase clock code and add clkdev hooks to sysctrl.c
@@ -18,6 +18,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
delete mode 100644 arch/mips/lantiq/xway/clk-xway.c
create mode 100644 arch/mips/lantiq/xway/clk.c
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 45e480c..e9d2dd4 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -81,15 +81,6 @@
@@ -47,6 +49,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
static inline int ltq_is_ase(void)
{
return (ltq_get_soc_type() == SOC_TYPE_AMAZON_SE);
+diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
+index 6678402..4dcb96f 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,7 +1,7 @@
@@ -60,6 +64,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/clk-ase.c b/arch/mips/lantiq/xway/clk-ase.c
+deleted file mode 100644
+index 6522583..0000000
--- a/arch/mips/lantiq/xway/clk-ase.c
+++ /dev/null
@@ -1,48 +0,0 @@
@@ -111,6 +118,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- return CLOCK_133M;
-}
-EXPORT_SYMBOL(ltq_get_fpi_hz);
+diff --git a/arch/mips/lantiq/xway/clk-xway.c b/arch/mips/lantiq/xway/clk-xway.c
+deleted file mode 100644
+index 696b1a3..0000000
--- a/arch/mips/lantiq/xway/clk-xway.c
+++ /dev/null
@@ -1,223 +0,0 @@
@@ -337,6 +347,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- return ddr_clock;
-}
-EXPORT_SYMBOL(ltq_get_fpi_hz);
+diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
+new file mode 100644
+index 0000000..f3b50fc
--- /dev/null
+++ b/arch/mips/lantiq/xway/clk.c
@@ -0,0 +1,227 @@
@@ -567,6 +580,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ return ddr_clock >> 1;
+ return ddr_clock;
+}
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index 8fd13a1..c5782b5 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -8,17 +8,48 @@
@@ -624,18 +639,18 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
-void ltq_cgu_enable(unsigned int clk)
+static int ltq_cgu_enable(struct clk *clk)
-+{
-+ ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) | clk->bits, LTQ_CGU_IFCCR);
-+ return 0;
-+}
-+
-+static void ltq_cgu_disable(struct clk *clk)
{
- ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) | clk, LTQ_CGU_IFCCR);
-+ ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) & ~clk->bits, LTQ_CGU_IFCCR);
++ ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) | clk->bits, LTQ_CGU_IFCCR);
++ return 0;
}
-void ltq_pmu_enable(unsigned int module)
++static void ltq_cgu_disable(struct clk *clk)
++{
++ ltq_cgu_w32(ltq_cgu_r32(LTQ_CGU_IFCCR) & ~clk->bits, LTQ_CGU_IFCCR);
++}
++
+static int ltq_pmu_enable(struct clk *clk)
{
int err = 1000000;
@@ -650,10 +665,13 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
panic("activating PMU module failed!\n");
+
+ return 0;
-+}
-+
+ }
+-EXPORT_SYMBOL(ltq_pmu_enable);
+
+-void ltq_pmu_disable(unsigned int module)
+static void ltq_pmu_disable(struct clk *clk)
-+{
+ {
+- ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | module, LTQ_PMU_PWDCR);
+ ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | clk->bits, LTQ_PMU_PWDCR);
+}
+
@@ -670,14 +688,11 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ clk->module = module;
+ clk->bits = bits;
+ clkdev_add(&clk->cl);
- }
--EXPORT_SYMBOL(ltq_pmu_enable);
-
--void ltq_pmu_disable(unsigned int module)
++}
++
+static inline void clkdev_add_cgu(const char *dev, const char *con,
+ unsigned int bits)
- {
-- ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | module, LTQ_PMU_PWDCR);
++{
+ struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
+
+ clk->cl.dev_id = dev;
@@ -716,3 +731,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ clkdev_add_pmu("ltq_etop", "switch", 0, PMU_SWITCH);
+ }
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0027-MIPS-lantiq-convert-falcon-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0026-MIPS-lantiq-convert-falcon-to-clkdev-api.patch
index c8f2e99..1edec28 100644
--- a/target/linux/lantiq/patches-3.2/0027-MIPS-lantiq-convert-falcon-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0026-MIPS-lantiq-convert-falcon-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From 07c4da1cf419022e5874c881511f051bb81e984e Mon Sep 17 00:00:00 2001
+From 3a20e2b3471baf86765747b0e194400d3d74b6d8 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 11:19:11 +0100
-Subject: [PATCH 27/70] MIPS: lantiq: convert falcon to clkdev api
+Subject: [PATCH 26/73] MIPS: lantiq: convert falcon to clkdev api
Unify sysctrl/clock code and add clkdev hooks to sysctrl.c
@@ -12,6 +12,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/falcon/sysctrl.c | 129 ++++++++++++--------
3 files changed, 80 insertions(+), 59 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+index 0aa1f16..120c56c 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -95,6 +95,7 @@
@@ -36,12 +38,16 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
/* global register ranges */
extern __iomem void *ltq_ebu_membase;
extern __iomem void *ltq_sys1_membase;
+diff --git a/arch/mips/lantiq/falcon/Makefile b/arch/mips/lantiq/falcon/Makefile
+index 56b22eb..3634154 100644
--- a/arch/mips/lantiq/falcon/Makefile
+++ b/arch/mips/lantiq/falcon/Makefile
@@ -1,2 +1,2 @@
-obj-y := clk.o prom.o reset.o sysctrl.o devices.o gpio.o
+obj-y := prom.o reset.o sysctrl.o devices.o gpio.o
obj-$(CONFIG_LANTIQ_MACH_EASY98000) += mach-easy98000.o
+diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
+index 905a142..900f0e5 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -9,11 +9,13 @@
@@ -93,16 +99,15 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
-void
-ltq_sysctl_activate(int module, unsigned int mask)
--{
++static int
++ltq_sysctl_activate(struct clk *clk)
+ {
- if (module > SYSCTL_SYSGPE)
- return;
-
- ltq_reg_w32(module, mask, LTQ_SYSCTL_CLKEN);
- ltq_reg_w32(module, mask, LTQ_SYSCTL_ACT);
- ltq_sysctl_wait(module, mask, mask, LTQ_SYSCTL_ACTS);
-+static int
-+ltq_sysctl_activate(struct clk *clk)
-+{
+ ltq_reg_w32(clk->module, clk->bits, LTQ_SYSCTL_CLKEN);
+ ltq_reg_w32(clk->module, clk->bits, LTQ_SYSCTL_ACT);
+ ltq_sysctl_wait(clk, clk->bits, LTQ_SYSCTL_ACTS);
@@ -164,8 +169,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ltq_sysctl_reboot(struct clk *clk)
{
unsigned int act;
-+ unsigned int bits;
-
+-
- if (module > SYSCTL_SYSGPE)
- return;
-
@@ -174,6 +178,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_sysctl_activate(module, ~act & mask);
- ltq_reg_w32(module, act & mask, LTQ_SYSCTL_RBT);
- ltq_sysctl_wait(module, mask, mask, LTQ_SYSCTL_ACTS);
++ unsigned int bits;
++
+ act = ltq_reg_r32(clk->module, LTQ_SYSCTL_ACT);
+ bits = ~act & clk->bits;
+ if (bits != 0) {
@@ -233,3 +239,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ clkdev_add_sys("ltq_asc.1", SYSCTL_SYS1, ACTS_ASC1_ACT);
+ clkdev_add_sys("falcon_i2c", SYSCTL_SYS1, ACTS_I2C_ACT);
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0028-MIPS-lantiq-convert-dma-driver-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0027-MIPS-lantiq-convert-dma-driver-to-clkdev-api.patch
index 9321576..acda861 100644
--- a/target/linux/lantiq/patches-3.2/0028-MIPS-lantiq-convert-dma-driver-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0027-MIPS-lantiq-convert-dma-driver-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From e6a19ba12790d04267a9f052a3dc64fa1a8cac16 Mon Sep 17 00:00:00 2001
+From 56b484094fed84e4e76532895c5a692f896a9492 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 11:21:08 +0100
-Subject: [PATCH 28/70] MIPS: lantiq: convert dma driver to clkdev api
+Subject: [PATCH 27/73] MIPS: lantiq: convert dma driver to clkdev api
Update from old pmu_{dis,en}able() to ckldev api.
@@ -12,6 +12,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
2 files changed, 16 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/lantiq/xway/Makefile.rej
+diff --git a/arch/mips/lantiq/xway/Makefile.rej b/arch/mips/lantiq/xway/Makefile.rej
+new file mode 100644
+index 0000000..c0d5b52
--- /dev/null
+++ b/arch/mips/lantiq/xway/Makefile.rej
@@ -0,0 +1,11 @@
@@ -26,6 +29,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+
+ obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
+ obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/dma.c b/arch/mips/lantiq/xway/dma.c
+index 60cd11f..388f1aa 100644
--- a/arch/mips/lantiq/xway/dma.c
+++ b/arch/mips/lantiq/xway/dma.c
@@ -20,6 +20,7 @@
@@ -55,3 +60,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ltq_dma_w32_mask(0, DMA_RESET, LTQ_DMA_CTRL);
/* disable all interrupts */
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0029-MIPS-lantiq-convert-gpio_stp-driver-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0028-MIPS-lantiq-convert-gpio_stp-driver-to-clkdev-api.patch
index e9655db..52bd494 100644
--- a/target/linux/lantiq/patches-3.2/0029-MIPS-lantiq-convert-gpio_stp-driver-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0028-MIPS-lantiq-convert-gpio_stp-driver-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From 81cf50fd6cfff13e06cd587094f5094dec32d57d Mon Sep 17 00:00:00 2001
+From a76818770adabc7afdf3bef07f9f30d061c10082 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 11:21:33 +0100
-Subject: [PATCH 29/70] MIPS: lantiq: convert gpio_stp driver to clkdev api
+Subject: [PATCH 28/73] MIPS: lantiq: convert gpio_stp driver to clkdev api
Update from old pmu_{dis,en}able() to ckldev api.
@@ -10,6 +10,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/xway/gpio_stp.c | 12 +++++++++---
1 files changed, 9 insertions(+), 3 deletions(-)
+diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
+index e6b4809..da91c5e 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -15,6 +15,8 @@
@@ -44,7 +46,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
return 0;
}
-@@ -138,7 +144,7 @@ static int __devinit ltq_stp_probe(struc
+@@ -138,7 +144,7 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
}
ret = gpiochip_add(&ltq_stp_chip);
if (!ret)
@@ -53,3 +55,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
return ret;
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0030-MIPS-lantiq-convert-falcon-gpio-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0029-MIPS-lantiq-convert-falcon-gpio-to-clkdev-api.patch
index 7b56046..c7f2928 100644
--- a/target/linux/lantiq/patches-3.2/0030-MIPS-lantiq-convert-falcon-gpio-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0029-MIPS-lantiq-convert-falcon-gpio-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From 3cb13f9992ae1948b6ca05c88d2bd25cf9e7cd41 Mon Sep 17 00:00:00 2001
+From 509bc67e8e365c8f1a0cb91abcac7c7772cf8335 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 11:22:03 +0100
-Subject: [PATCH 30/70] MIPS: lantiq: convert falcon gpio to clkdev api
+Subject: [PATCH 29/73] MIPS: lantiq: convert falcon gpio to clkdev api
The falcon gpio clocks used to be enabled when registering the platform device.
Move this code into the driver and use clkdev api.
@@ -12,6 +12,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/falcon/gpio.c | 10 ++++++++++
2 files changed, 10 insertions(+), 5 deletions(-)
+diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
+index 4f47b44..6cd7a88 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -111,9 +111,6 @@ falcon_register_gpio(void)
@@ -31,6 +33,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_sysctl_activate(SYSCTL_SYS1,
- ACTS_PADCTRL3 | ACTS_PADCTRL4 | ACTS_P3 | ACTS_P4);
}
+diff --git a/arch/mips/lantiq/falcon/gpio.c b/arch/mips/lantiq/falcon/gpio.c
+index a44f71b..4147d61 100644
--- a/arch/mips/lantiq/falcon/gpio.c
+++ b/arch/mips/lantiq/falcon/gpio.c
@@ -11,6 +11,7 @@
@@ -49,7 +53,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
};
static struct falcon_gpio_port ltq_gpio_port[MAX_PORTS];
-@@ -332,6 +334,14 @@ falcon_gpio_probe(struct platform_device
+@@ -332,6 +334,14 @@ falcon_gpio_probe(struct platform_device *pdev)
goto err;
}
@@ -64,3 +68,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
if (irq > 0) {
/* irq_chip support */
gpio_port->gpio_chip.to_irq = falcon_gpio_to_irq;
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0031-SERIAL-MIPS-lantiq-convert-serial-driver-to-clkdev-a.patch b/target/linux/lantiq/patches-3.2/0030-SERIAL-MIPS-lantiq-convert-serial-driver-to-clkdev-a.patch
index e282b0b..8d737d0 100644
--- a/target/linux/lantiq/patches-3.2/0031-SERIAL-MIPS-lantiq-convert-serial-driver-to-clkdev-a.patch
+++ b/target/linux/lantiq/patches-3.2/0030-SERIAL-MIPS-lantiq-convert-serial-driver-to-clkdev-a.patch
@@ -1,7 +1,7 @@
-From 1fdd8c04b65bd55730e6931a520cc1dabfc4d190 Mon Sep 17 00:00:00 2001
+From da5f76f9eb0563597855f6b89894443d30a62d4f Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 16 Feb 2012 20:17:16 +0100
-Subject: [PATCH 31/70] SERIAL: MIPS: lantiq: convert serial driver to clkdev
+Subject: [PATCH 30/73] SERIAL: MIPS: lantiq: convert serial driver to clkdev
api
Reference the FPI clock via its new access function.
@@ -12,9 +12,11 @@ Cc: linux-serial@vger.kernel.org
drivers/tty/serial/lantiq.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
+diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
+index 5d25828..1542ad6 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
-@@ -540,6 +540,10 @@ lqasc_request_port(struct uart_port *por
+@@ -540,6 +540,10 @@ lqasc_request_port(struct uart_port *port)
if (ltq_gpio_request(&pdev->dev, MUXC_SIF_TX_PIN,
3, 1, "asc1-tx"))
return -EBUSY;
@@ -25,7 +27,7 @@ Cc: linux-serial@vger.kernel.org
}
return 0;
}
-@@ -698,7 +702,7 @@ lqasc_probe(struct platform_device *pdev
+@@ -698,7 +702,7 @@ lqasc_probe(struct platform_device *pdev)
if (lqasc_port[pdev->id] != NULL)
return -EBUSY;
@@ -34,3 +36,6 @@ Cc: linux-serial@vger.kernel.org
if (IS_ERR(clk)) {
pr_err("failed to get fpi clk\n");
return -ENOENT;
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0032-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0031-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch
index 944d507..a1e61ff 100644
--- a/target/linux/lantiq/patches-3.2/0032-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0031-MIPS-lantiq-convert-falcon-debug-uart-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From 005044f41ed9884ee23d756a5950e38679d31cc7 Mon Sep 17 00:00:00 2001
+From 96cc1d1baabe7bc6df02e90bcd78e6dde542d384 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 21 Feb 2012 14:25:21 +0100
-Subject: [PATCH 32/70] MIPS: lantiq: convert falcon debug uart to clkdev api
+Subject: [PATCH 31/73] MIPS: lantiq: convert falcon debug uart to clkdev api
On Falcon SoCs we have a secondary serial port that can be used to help
debug the voice core. For the port to work several clocking bits need to
@@ -13,6 +13,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
drivers/tty/serial/lantiq.c | 7 ++++---
2 files changed, 5 insertions(+), 6 deletions(-)
+diff --git a/arch/mips/lantiq/falcon/prom.c b/arch/mips/lantiq/falcon/prom.c
+index f98b389..2a4eea17 100644
--- a/arch/mips/lantiq/falcon/prom.c
+++ b/arch/mips/lantiq/falcon/prom.c
@@ -43,10 +43,8 @@ ltq_soc_setup(void)
@@ -27,6 +29,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
}
void __init
+diff --git a/drivers/tty/serial/lantiq.c b/drivers/tty/serial/lantiq.c
+index 1542ad6..82956de 100644
--- a/drivers/tty/serial/lantiq.c
+++ b/drivers/tty/serial/lantiq.c
@@ -117,6 +117,7 @@ static DEFINE_SPINLOCK(ltq_asc_lock);
@@ -46,7 +50,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ltq_w32_mask(ASCCLC_DISS | ASCCLC_RMCMASK, (1 << ASCCLC_RMCOFFSET),
port->membase + LTQ_ASC_CLC);
-@@ -646,7 +647,7 @@ lqasc_console_setup(struct console *co,
+@@ -646,7 +647,7 @@ lqasc_console_setup(struct console *co, char *options)
port = &ltq_port->port;
@@ -55,7 +59,7 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
if (options)
uart_parse_options(options, &baud, &parity, &bits, &flow);
-@@ -731,7 +732,7 @@ lqasc_probe(struct platform_device *pdev
+@@ -731,7 +732,7 @@ lqasc_probe(struct platform_device *pdev)
port->irq = tx_irq; /* unused, just to be backward-compatibe */
port->mapbase = mmres->start;
@@ -64,3 +68,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
ltq_port->tx_irq = tx_irq;
ltq_port->rx_irq = rx_irq;
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0033-NET-MIPS-lantiq-convert-etop-driver-to-clkdev-api.patch b/target/linux/lantiq/patches-3.2/0032-NET-MIPS-lantiq-convert-etop-driver-to-clkdev-api.patch
index daf33c9..590feaa 100644
--- a/target/linux/lantiq/patches-3.2/0033-NET-MIPS-lantiq-convert-etop-driver-to-clkdev-api.patch
+++ b/target/linux/lantiq/patches-3.2/0032-NET-MIPS-lantiq-convert-etop-driver-to-clkdev-api.patch
@@ -1,7 +1,7 @@
-From c96f5cae05788c326f63c8b769e53c6e15215e70 Mon Sep 17 00:00:00 2001
+From e3b7883bacd449a22e262cc359dc923c78eb32f6 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 11:23:00 +0100
-Subject: [PATCH 33/70] NET: MIPS: lantiq: convert etop driver to clkdev api
+Subject: [PATCH 32/73] NET: MIPS: lantiq: convert etop driver to clkdev api
Update from old pmu_{dis,en}able() to ckldev api.
@@ -11,6 +11,8 @@ Cc: netdev@vger.kernel.org
drivers/net/ethernet/lantiq_etop.c | 49 ++++++++++++++++++++++++++++++-----
1 files changed, 42 insertions(+), 7 deletions(-)
+diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
+index fcbb9c7..a084d74 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -36,6 +36,7 @@
@@ -91,7 +93,7 @@ Cc: netdev@vger.kernel.org
/* we need to write this magic to the internal phy to
make it work */
ltq_etop_mdio_wr(NULL, 0x8, 0x12, 0xC020);
-@@ -880,6 +897,24 @@ ltq_etop_probe(struct platform_device *p
+@@ -880,6 +897,24 @@ ltq_etop_probe(struct platform_device *pdev)
priv->res = res;
priv->pldata = dev_get_platdata(&pdev->dev);
priv->netdev = dev;
@@ -116,3 +118,6 @@ Cc: netdev@vger.kernel.org
spin_lock_init(&priv->lock);
for (i = 0; i < MAX_DMA_CHAN; i++) {
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0034-WDT-MIPS-lantiq-convert-watchdog-driver-to-clkdev-ap.patch b/target/linux/lantiq/patches-3.2/0033-WDT-MIPS-lantiq-convert-watchdog-driver-to-clkdev-ap.patch
index 284d248..fd51b8b 100644
--- a/target/linux/lantiq/patches-3.2/0034-WDT-MIPS-lantiq-convert-watchdog-driver-to-clkdev-ap.patch
+++ b/target/linux/lantiq/patches-3.2/0033-WDT-MIPS-lantiq-convert-watchdog-driver-to-clkdev-ap.patch
@@ -1,7 +1,7 @@
-From ac9ded7942720231ed139ac0660e60a3a2f82b86 Mon Sep 17 00:00:00 2001
+From f2a29d33abb24184f84533e2c6032d4b1c3fd346 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 16 Feb 2012 20:17:50 +0100
-Subject: [PATCH 34/70] WDT: MIPS: lantiq: convert watchdog driver to clkdev
+Subject: [PATCH 33/73] WDT: MIPS: lantiq: convert watchdog driver to clkdev
api
Refrence the IO region clock via its new access function.
@@ -12,9 +12,11 @@ Cc: linux-watchdog@vger.kernel.org
drivers/watchdog/lantiq_wdt.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
+diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c
+index 179bf98..da2b09f 100644
--- a/drivers/watchdog/lantiq_wdt.c
+++ b/drivers/watchdog/lantiq_wdt.c
-@@ -206,7 +206,7 @@ ltq_wdt_probe(struct platform_device *pd
+@@ -206,7 +206,7 @@ ltq_wdt_probe(struct platform_device *pdev)
}
/* we do not need to enable the clock as it is always running */
@@ -23,3 +25,6 @@ Cc: linux-watchdog@vger.kernel.org
WARN_ON(!clk);
ltq_io_region_clk_rate = clk_get_rate(clk);
clk_put(clk);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0035-MIPS-lantiq-unify-xway-prom-code.patch b/target/linux/lantiq/patches-3.2/0034-MIPS-lantiq-unify-xway-prom-code.patch
index 736abfe..7f426c9 100644
--- a/target/linux/lantiq/patches-3.2/0035-MIPS-lantiq-unify-xway-prom-code.patch
+++ b/target/linux/lantiq/patches-3.2/0034-MIPS-lantiq-unify-xway-prom-code.patch
@@ -1,7 +1,7 @@
-From cab49331fac138102493dea8f1b1d8c28cae6db5 Mon Sep 17 00:00:00 2001
+From f2c407ca7b975f979b0d73d2e52a73991de13dd9 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 11:44:55 +0100
-Subject: [PATCH 35/70] MIPS: lantiq: unify xway prom code
+Subject: [PATCH 34/73] MIPS: lantiq: unify xway prom code
The xway prom-ase.c and prom-xway.c files are redundant. Unify the 2 files.
@@ -18,6 +18,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
delete mode 100644 arch/mips/lantiq/xway/prom-xway.c
create mode 100644 arch/mips/lantiq/xway/prom.c
+diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
+index 4dcb96f..9d1a0a2 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,7 +1,4 @@
@@ -29,6 +31,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/Makefile.rej b/arch/mips/lantiq/xway/Makefile.rej
+deleted file mode 100644
+index c0d5b52..0000000
--- a/arch/mips/lantiq/xway/Makefile.rej
+++ /dev/null
@@ -1,11 +0,0 @@
@@ -43,6 +48,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
-
- obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
- obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/prom-ase.c b/arch/mips/lantiq/xway/prom-ase.c
+deleted file mode 100644
+index 3f86a3b..0000000
--- a/arch/mips/lantiq/xway/prom-ase.c
+++ /dev/null
@@ -1,48 +0,0 @@
@@ -94,6 +102,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_register_gpio();
- ltq_register_wdt();
-}
+diff --git a/arch/mips/lantiq/xway/prom-xway.c b/arch/mips/lantiq/xway/prom-xway.c
+deleted file mode 100644
+index d823a92..0000000
--- a/arch/mips/lantiq/xway/prom-xway.c
+++ /dev/null
@@ -1,64 +0,0 @@
@@ -161,6 +172,9 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
- ltq_register_gpio();
- ltq_register_wdt();
-}
+diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
+new file mode 100644
+index 0000000..0929acb
--- /dev/null
+++ b/arch/mips/lantiq/xway/prom.c
@@ -0,0 +1,79 @@
@@ -243,3 +257,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ ltq_register_gpio();
+ ltq_register_wdt();
+}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0036-MIPS-lantiq-add-vr9-support.patch b/target/linux/lantiq/patches-3.2/0035-MIPS-lantiq-add-vr9-support.patch
index 54bd759..d4ae7d2 100644
--- a/target/linux/lantiq/patches-3.2/0036-MIPS-lantiq-add-vr9-support.patch
+++ b/target/linux/lantiq/patches-3.2/0035-MIPS-lantiq-add-vr9-support.patch
@@ -1,7 +1,7 @@
-From 27c4128ab1835a2aff1a0ce6413bb21cfa614d93 Mon Sep 17 00:00:00 2001
+From 958d1d653fe13627d13907e61ae201fe62ddd99f Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 21 Feb 2012 09:48:11 +0100
-Subject: [PATCH 36/70] MIPS: lantiq: add vr9 support
+Subject: [PATCH 35/73] MIPS: lantiq: add vr9 support
VR9 is a VDSL SoC made by Lantiq. It is very similar to the AR9.
This patch adds the clkdev init code and SoC detection for the VR9.
@@ -15,6 +15,8 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
arch/mips/lantiq/xway/sysctrl.c | 12 +++-
4 files changed, 103 insertions(+), 1 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index e9d2dd4..5d11eb7 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -21,6 +21,9 @@
@@ -27,6 +29,8 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
/* SoC Types */
#define SOC_TYPE_DANUBE 0x01
+diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
+index f3b50fc..3635c9f 100644
--- a/arch/mips/lantiq/xway/clk.c
+++ b/arch/mips/lantiq/xway/clk.c
@@ -225,3 +225,86 @@ unsigned long ltq_danube_fpi_hz(void)
@@ -116,9 +120,11 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
+{
+ return ltq_vr9_fpi_hz();
+}
+diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
+index 0929acb..b6f56b7 100644
--- a/arch/mips/lantiq/xway/prom.c
+++ b/arch/mips/lantiq/xway/prom.c
-@@ -60,6 +60,12 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -60,6 +60,12 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
#endif
break;
@@ -131,6 +137,8 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
default:
unreachable();
break;
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index c5782b5..38f02f9 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -147,7 +147,8 @@ void __init ltq_soc_init(void)
@@ -159,3 +167,6 @@ Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>
} else {
clkdev_add_static(ltq_danube_cpu_hz(), ltq_danube_fpi_hz(),
ltq_danube_io_region_clock());
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0037-MIPS-lantiq-add-ipi-handlers-to-make-vsmp-work.patch b/target/linux/lantiq/patches-3.2/0036-MIPS-lantiq-add-ipi-handlers-to-make-vsmp-work.patch
index 758e6a7..895bddd 100644
--- a/target/linux/lantiq/patches-3.2/0037-MIPS-lantiq-add-ipi-handlers-to-make-vsmp-work.patch
+++ b/target/linux/lantiq/patches-3.2/0036-MIPS-lantiq-add-ipi-handlers-to-make-vsmp-work.patch
@@ -1,7 +1,7 @@
-From 58d1ae79d144e6725a68fab99ef6a9b20b25a765 Mon Sep 17 00:00:00 2001
+From da466512e536083352dcefd9ddbfd95a9c60b464 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 21 Feb 2012 21:09:01 +0100
-Subject: [PATCH 37/70] MIPS: lantiq: add ipi handlers to make vsmp work
+Subject: [PATCH 36/73] MIPS: lantiq: add ipi handlers to make vsmp work
Add IPI handlers to the interrupt code. This patch makes MIPS_MT_SMP work
on lantiq SoCs.
@@ -12,6 +12,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
arch/mips/lantiq/prom.c | 5 ++++
2 files changed, 66 insertions(+), 0 deletions(-)
+diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
+index 0b2ed87..770a10c 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -9,6 +9,7 @@
@@ -103,6 +105,8 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
#if !defined(CONFIG_MIPS_MT_SMP) && !defined(CONFIG_MIPS_MT_SMTC)
set_c0_status(IE_IRQ0 | IE_IRQ1 | IE_IRQ2 |
IE_IRQ3 | IE_IRQ4 | IE_IRQ5);
+diff --git a/arch/mips/lantiq/prom.c b/arch/mips/lantiq/prom.c
+index 971554b..00ad59c 100644
--- a/arch/mips/lantiq/prom.c
+++ b/arch/mips/lantiq/prom.c
@@ -108,4 +108,9 @@ void __init prom_init(void)
@@ -115,3 +119,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org>
+ panic("failed to register_vsmp_smp_ops()");
+#endif
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0038-MIPS-lantiq-add-additional-soc-ids.patch b/target/linux/lantiq/patches-3.2/0037-MIPS-lantiq-add-additional-soc-ids.patch
index 33e2514..e0d1a97 100644
--- a/target/linux/lantiq/patches-3.2/0038-MIPS-lantiq-add-additional-soc-ids.patch
+++ b/target/linux/lantiq/patches-3.2/0037-MIPS-lantiq-add-additional-soc-ids.patch
@@ -1,13 +1,15 @@
-From 655f264da58e9e49d61bf26374f877e2175125e4 Mon Sep 17 00:00:00 2001
+From 5585147ea9462778decc7146667ac54413acd91f Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Mon, 12 Mar 2012 15:23:39 +0100
-Subject: [PATCH 38/70] MIPS: lantiq: add additional soc ids
+Subject: [PATCH 37/73] MIPS: lantiq: add additional soc ids
---
.../mips/include/asm/mach-lantiq/xway/lantiq_soc.h | 38 +++++++++++++++----
arch/mips/lantiq/xway/prom.c | 35 ++++++++++++++++--
2 files changed, 61 insertions(+), 12 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 5d11eb7..3f22acb 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -17,20 +17,32 @@
@@ -71,6 +73,8 @@ Subject: [PATCH 38/70] MIPS: lantiq: add additional soc ids
}
static inline int ltq_is_falcon(void)
+diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
+index b6f56b7..e3dcbbd 100644
--- a/arch/mips/lantiq/xway/prom.c
+++ b/arch/mips/lantiq/xway/prom.c
@@ -18,7 +18,9 @@
@@ -91,7 +95,7 @@ Subject: [PATCH 38/70] MIPS: lantiq: add additional soc ids
void __init ltq_soc_detect(struct ltq_soc_info *i)
{
-@@ -46,13 +47,21 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -46,13 +47,21 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
break;
case SOC_ID_ARX188:
@@ -115,7 +119,7 @@ Subject: [PATCH 38/70] MIPS: lantiq: add additional soc ids
i->name = SOC_AMAZON_SE;
i->type = SOC_TYPE_AMAZON_SE;
#ifdef CONFIG_PCI
-@@ -60,12 +69,30 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -60,12 +69,30 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
#endif
break;
@@ -147,3 +151,6 @@ Subject: [PATCH 38/70] MIPS: lantiq: add additional soc ids
default:
unreachable();
break;
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0039-SPI-MIPS-lantiq-add-FALC-ON-spi-driver.patch b/target/linux/lantiq/patches-3.2/0038-SPI-MIPS-lantiq-add-FALC-ON-spi-driver.patch
index e9d7239..4d60af5 100644
--- a/target/linux/lantiq/patches-3.2/0039-SPI-MIPS-lantiq-add-FALC-ON-spi-driver.patch
+++ b/target/linux/lantiq/patches-3.2/0038-SPI-MIPS-lantiq-add-FALC-ON-spi-driver.patch
@@ -1,7 +1,7 @@
-From 0ebdb2202a06d096114aa7676f02d5f426a20366 Mon Sep 17 00:00:00 2001
+From addbb26930d41b35e329d0ad6413cc8d087aa4cc Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sat, 27 Aug 2011 18:12:26 +0200
-Subject: [PATCH 39/70] SPI: MIPS: lantiq: add FALC-ON spi driver
+Subject: [PATCH 38/73] SPI: MIPS: lantiq: add FALC-ON spi driver
The external bus unit (EBU) found on the FALC-ON SoC has spi emulation that is
designed for serial flash access. This driver has only been tested with m25p80
@@ -20,6 +20,8 @@ Cc: spi-devel-general@lists.sourceforge.net
6 files changed, 532 insertions(+), 0 deletions(-)
create mode 100644 drivers/spi/spi-falcon.c
+diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
+index 6cd7a88..92ec571 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
@@ -121,3 +121,16 @@ falcon_register_gpio_extra(void)
@@ -39,6 +41,8 @@ Cc: spi-devel-general@lists.sourceforge.net
+ spi_register_board_info(data, 1);
+ platform_device_register(&ltq_spi);
+}
+diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
+index 18be8b6..5e6f720 100644
--- a/arch/mips/lantiq/falcon/devices.h
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -11,10 +11,14 @@
@@ -56,9 +60,11 @@ Cc: spi-devel-general@lists.sourceforge.net
+extern void falcon_register_spi_flash(struct spi_board_info *data);
#endif
+diff --git a/arch/mips/lantiq/falcon/mach-easy98000.c b/arch/mips/lantiq/falcon/mach-easy98000.c
+index 361b8f0..1a7caad 100644
--- a/arch/mips/lantiq/falcon/mach-easy98000.c
+++ b/arch/mips/lantiq/falcon/mach-easy98000.c
-@@ -40,6 +40,21 @@ struct physmap_flash_data easy98000_nor_
+@@ -40,6 +40,21 @@ struct physmap_flash_data easy98000_nor_flash_data = {
.parts = easy98000_nor_partitions,
};
@@ -106,9 +112,11 @@ Cc: spi-devel-general@lists.sourceforge.net
MIPS_MACHINE(LANTIQ_MACH_EASY98000NAND,
"EASY98000NAND",
"EASY98000 Eval Board (NAND Flash)",
+diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
+index 8ba4510..b8424ba 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -189,6 +189,10 @@ config SPI_MPC52xx
+@@ -180,6 +180,10 @@ config SPI_MPC52xx
This drivers supports the MPC52xx SPI controller in master SPI
mode.
@@ -119,9 +127,11 @@ Cc: spi-devel-general@lists.sourceforge.net
config SPI_MPC52xx_PSC
tristate "Freescale MPC52xx PSC SPI controller"
depends on PPC_MPC52xx && EXPERIMENTAL
+diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
+index 61c3261..570894c 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -25,6 +25,7 @@ obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmi
+@@ -25,6 +25,7 @@ obj-$(CONFIG_SPI_DW_MMIO) += spi-dw-mmio.o
obj-$(CONFIG_SPI_DW_PCI) += spi-dw-midpci.o
spi-dw-midpci-objs := spi-dw-pci.o spi-dw-mid.o
obj-$(CONFIG_SPI_EP93XX) += spi-ep93xx.o
@@ -129,6 +139,9 @@ Cc: spi-devel-general@lists.sourceforge.net
obj-$(CONFIG_SPI_FSL_LIB) += spi-fsl-lib.o
obj-$(CONFIG_SPI_FSL_ESPI) += spi-fsl-espi.o
obj-$(CONFIG_SPI_FSL_SPI) += spi-fsl-spi.o
+diff --git a/drivers/spi/spi-falcon.c b/drivers/spi/spi-falcon.c
+new file mode 100644
+index 0000000..447bbaa
--- /dev/null
+++ b/drivers/spi/spi-falcon.c
@@ -0,0 +1,483 @@
@@ -615,3 +628,6 @@ Cc: spi-devel-general@lists.sourceforge.net
+
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("Lantiq Falcon SPI controller driver");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0040-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch b/target/linux/lantiq/patches-3.2/0039-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch
index 8b3775a..10a1bcf 100644
--- a/target/linux/lantiq/patches-3.2/0040-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch
+++ b/target/linux/lantiq/patches-3.2/0039-I2C-MIPS-lantiq-add-FALC-ON-i2c-bus-master.patch
@@ -1,7 +1,7 @@
-From 97050437c6a3ce59ce2c5a8286b9bc1c9f1b3b60 Mon Sep 17 00:00:00 2001
+From 9732ec2d97f001961f670d12f342df9b70db27ea Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 4 Nov 2011 16:00:34 +0100
-Subject: [PATCH 40/70] I2C: MIPS: lantiq: add FALC-ON i2c bus master
+Subject: [PATCH 39/73] I2C: MIPS: lantiq: add FALC-ON i2c bus master
This patch adds the driver needed to make the I2C bus work on FALC-ON SoCs.
@@ -21,6 +21,8 @@ Cc: linux-i2c@vger.kernel.org
delete mode 100644 arch/mips/lantiq/falcon/clk.c
create mode 100644 drivers/i2c/busses/i2c-falcon.c
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+index 120c56c..fff5ecd 100644
--- a/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/falcon/lantiq_soc.h
@@ -72,6 +72,10 @@
@@ -42,6 +44,9 @@ Cc: linux-i2c@vger.kernel.org
/* global register ranges */
extern __iomem void *ltq_ebu_membase;
+diff --git a/arch/mips/lantiq/falcon/clk.c b/arch/mips/lantiq/falcon/clk.c
+deleted file mode 100644
+index afe1b52..0000000
--- a/arch/mips/lantiq/falcon/clk.c
+++ /dev/null
@@ -1,44 +0,0 @@
@@ -89,9 +94,11 @@ Cc: linux-i2c@vger.kernel.org
- return CLOCK_100M;
-}
-EXPORT_SYMBOL(ltq_get_fpi_hz);
+diff --git a/arch/mips/lantiq/falcon/devices.c b/arch/mips/lantiq/falcon/devices.c
+index 92ec571..e684ed4 100644
--- a/arch/mips/lantiq/falcon/devices.c
+++ b/arch/mips/lantiq/falcon/devices.c
-@@ -134,3 +134,19 @@ falcon_register_spi_flash(struct spi_boa
+@@ -134,3 +134,19 @@ falcon_register_spi_flash(struct spi_board_info *data)
spi_register_board_info(data, 1);
platform_device_register(&ltq_spi);
}
@@ -111,6 +118,8 @@ Cc: linux-i2c@vger.kernel.org
+ platform_device_register_simple("i2c-falcon", 0,
+ falcon_i2c_resources, ARRAY_SIZE(falcon_i2c_resources));
+}
+diff --git a/arch/mips/lantiq/falcon/devices.h b/arch/mips/lantiq/falcon/devices.h
+index 5e6f720..d81edbe 100644
--- a/arch/mips/lantiq/falcon/devices.h
+++ b/arch/mips/lantiq/falcon/devices.h
@@ -20,5 +20,6 @@ extern void falcon_register_nand(void);
@@ -120,6 +129,8 @@ Cc: linux-i2c@vger.kernel.org
+extern void falcon_register_i2c(void);
#endif
+diff --git a/arch/mips/lantiq/falcon/mach-easy98000.c b/arch/mips/lantiq/falcon/mach-easy98000.c
+index 1a7caad..fc5720d 100644
--- a/arch/mips/lantiq/falcon/mach-easy98000.c
+++ b/arch/mips/lantiq/falcon/mach-easy98000.c
@@ -98,6 +98,7 @@ easy98000_init_common(void)
@@ -130,6 +141,8 @@ Cc: linux-i2c@vger.kernel.org
}
static void __init
+diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
+index a3afac4..41be6cc 100644
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
@@ -369,6 +369,16 @@ config I2C_DESIGNWARE_PCI
@@ -149,9 +162,11 @@ Cc: linux-i2c@vger.kernel.org
config I2C_GPIO
tristate "GPIO-based bitbanging I2C"
depends on GENERIC_GPIO
+diff --git a/drivers/i2c/busses/Makefile b/drivers/i2c/busses/Makefile
+index fba6da6..36239c8 100644
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
-@@ -37,6 +37,7 @@ obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) +=
+@@ -37,6 +37,7 @@ obj-$(CONFIG_I2C_DESIGNWARE_PLATFORM) += i2c-designware-platform.o
i2c-designware-platform-objs := i2c-designware-platdrv.o i2c-designware-core.o
obj-$(CONFIG_I2C_DESIGNWARE_PCI) += i2c-designware-pci.o
i2c-designware-pci-objs := i2c-designware-pcidrv.o i2c-designware-core.o
@@ -159,6 +174,9 @@ Cc: linux-i2c@vger.kernel.org
obj-$(CONFIG_I2C_GPIO) += i2c-gpio.o
obj-$(CONFIG_I2C_HIGHLANDER) += i2c-highlander.o
obj-$(CONFIG_I2C_IBM_IIC) += i2c-ibm_iic.o
+diff --git a/drivers/i2c/busses/i2c-falcon.c b/drivers/i2c/busses/i2c-falcon.c
+new file mode 100644
+index 0000000..fc4f0eb
--- /dev/null
+++ b/drivers/i2c/busses/i2c-falcon.c
@@ -0,0 +1,1040 @@
@@ -1202,3 +1220,6 @@ Cc: linux-i2c@vger.kernel.org
+MODULE_ALIAS("platform:" DRV_NAME);
+MODULE_LICENSE("GPL");
+MODULE_VERSION(DRV_VERSION);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0041-MIPS-lantiq-add-xway-nand-driver.patch b/target/linux/lantiq/patches-3.2/0040-MIPS-lantiq-add-xway-nand-driver.patch
index 155085e..c28f2ab 100644
--- a/target/linux/lantiq/patches-3.2/0041-MIPS-lantiq-add-xway-nand-driver.patch
+++ b/target/linux/lantiq/patches-3.2/0040-MIPS-lantiq-add-xway-nand-driver.patch
@@ -1,7 +1,7 @@
-From 9c7a6f8804aef7559ee8edcb7466676ee7d00c09 Mon Sep 17 00:00:00 2001
+From e125a83872c5b400852efbd451786c42bd395f11 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sat, 27 Aug 2011 20:08:14 +0200
-Subject: [PATCH 41/70] MIPS: lantiq: add xway nand driver
+Subject: [PATCH 40/73] MIPS: lantiq: add xway nand driver
This patch adds a nand driver for XWAY SoCs. The patch makes use of the
plat_nand driver. As with the EBU NOR driver merged in 3.0, we have the
@@ -25,6 +25,8 @@ TODO : memory ranges
6 files changed, 222 insertions(+), 1 deletions(-)
create mode 100644 arch/mips/lantiq/xway/nand.c
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index 3f22acb..ab2d236 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -145,6 +145,8 @@
@@ -36,6 +38,8 @@ TODO : memory ranges
#define ltq_cgu_w32(x, y) ltq_w32((x), ltq_cgu_membase + (y))
#define ltq_cgu_r32(x) ltq_r32(ltq_cgu_membase + (x))
+diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
+index 9d1a0a2..277aa34 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,4 +1,4 @@
@@ -44,6 +48,8 @@ TODO : memory ranges
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/devices.h b/arch/mips/lantiq/xway/devices.h
+index e904934..d825cbd 100644
--- a/arch/mips/lantiq/xway/devices.h
+++ b/arch/mips/lantiq/xway/devices.h
@@ -16,5 +16,6 @@ extern void ltq_register_gpio(void);
@@ -53,6 +59,9 @@ TODO : memory ranges
+extern void xway_register_nand(struct mtd_partition *parts, int count);
#endif
+diff --git a/arch/mips/lantiq/xway/nand.c b/arch/mips/lantiq/xway/nand.c
+new file mode 100644
+index 0000000..9ab91d8
--- /dev/null
+++ b/arch/mips/lantiq/xway/nand.c
@@ -0,0 +1,216 @@
@@ -272,9 +281,11 @@ TODO : memory ranges
+ falcon_flash_nand_data.chip.nr_partitions = count;
+ platform_device_register(&ltq_flash_nand);
+}
+diff --git a/drivers/mtd/nand/plat_nand.c b/drivers/mtd/nand/plat_nand.c
+index ea8e123..9040ba1 100644
--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
-@@ -75,6 +75,7 @@ static int __devinit plat_nand_probe(str
+@@ -75,6 +75,7 @@ static int __devinit plat_nand_probe(struct platform_device *pdev)
data->chip.select_chip = pdata->ctrl.select_chip;
data->chip.write_buf = pdata->ctrl.write_buf;
data->chip.read_buf = pdata->ctrl.read_buf;
@@ -282,9 +293,11 @@ TODO : memory ranges
data->chip.chip_delay = pdata->chip.chip_delay;
data->chip.options |= pdata->chip.options;
data->chip.bbt_options |= pdata->chip.bbt_options;
+diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
+index 904131b..80e11b9 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
-@@ -651,6 +651,7 @@ struct platform_nand_ctrl {
+@@ -650,6 +650,7 @@ struct platform_nand_ctrl {
void (*cmd_ctrl)(struct mtd_info *mtd, int dat, unsigned int ctrl);
void (*write_buf)(struct mtd_info *mtd, const uint8_t *buf, int len);
void (*read_buf)(struct mtd_info *mtd, uint8_t *buf, int len);
@@ -292,3 +305,6 @@ TODO : memory ranges
void *priv;
};
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0042-SPI-MIPS-lantiq-adds-spi-xway.patch b/target/linux/lantiq/patches-3.2/0041-SPI-MIPS-lantiq-adds-spi-xway.patch
index 1619b0a..01b90e4 100644
--- a/target/linux/lantiq/patches-3.2/0042-SPI-MIPS-lantiq-adds-spi-xway.patch
+++ b/target/linux/lantiq/patches-3.2/0041-SPI-MIPS-lantiq-adds-spi-xway.patch
@@ -1,7 +1,7 @@
-From b257baf20b44e97770a2654a07f196fcbcd46e92 Mon Sep 17 00:00:00 2001
+From dfa93fd2fa8bab9965ae7359e23d15f9f69af19b Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Mon, 10 Oct 2011 22:29:13 +0200
-Subject: [PATCH 42/70] SPI: MIPS: lantiq: adds spi xway
+Subject: [PATCH 41/73] SPI: MIPS: lantiq: adds spi xway
---
.../mips/include/asm/mach-lantiq/lantiq_platform.h | 9 +
@@ -12,6 +12,8 @@ Subject: [PATCH 42/70] SPI: MIPS: lantiq: adds spi xway
5 files changed, 1088 insertions(+), 0 deletions(-)
create mode 100644 drivers/spi/spi-xway.c
+diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_platform.h b/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
+index a305f1d..38ed938 100644
--- a/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_platform.h
@@ -50,4 +50,13 @@ struct ltq_eth_data {
@@ -28,6 +30,8 @@ Subject: [PATCH 42/70] SPI: MIPS: lantiq: adds spi xway
+};
+
#endif
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+index 2a8d5ad..b7f10e6 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
@@ -27,6 +27,8 @@
@@ -39,9 +43,11 @@ Subject: [PATCH 42/70] SPI: MIPS: lantiq: adds spi xway
#define LTQ_SSC_EIR (INT_NUM_IM0_IRL0 + 16)
#define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
+diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
+index b8424ba..ca4189c 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -393,6 +393,14 @@ config SPI_NUC900
+@@ -384,6 +384,14 @@ config SPI_NUC900
help
SPI driver for Nuvoton NUC900 series ARM SoCs
@@ -56,14 +62,19 @@ Subject: [PATCH 42/70] SPI: MIPS: lantiq: adds spi xway
#
# Add new SPI master controllers in alphabetical order above this line
#
+diff --git a/drivers/spi/Makefile b/drivers/spi/Makefile
+index 570894c..a465d9a 100644
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -60,4 +60,5 @@ obj-$(CONFIG_SPI_TLE62X0) += spi-tle62x
+@@ -59,4 +59,5 @@ obj-$(CONFIG_SPI_TLE62X0) += spi-tle62x0.o
obj-$(CONFIG_SPI_TOPCLIFF_PCH) += spi-topcliff-pch.o
obj-$(CONFIG_SPI_TXX9) += spi-txx9.o
obj-$(CONFIG_SPI_XILINX) += spi-xilinx.o
+obj-$(CONFIG_SPI_XWAY) += spi-xway.o
+diff --git a/drivers/spi/spi-xway.c b/drivers/spi/spi-xway.c
+new file mode 100644
+index 0000000..016a6d0
--- /dev/null
+++ b/drivers/spi/spi-xway.c
@@ -0,0 +1,1068 @@
@@ -1135,3 +1146,6 @@ Subject: [PATCH 42/70] SPI: MIPS: lantiq: adds spi xway
+MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>");
+MODULE_LICENSE("GPL");
+MODULE_ALIAS("platform:ltq-spi");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0043-NET-adds-driver-for-lantiq-vr9-ethernet.patch b/target/linux/lantiq/patches-3.2/0042-NET-adds-driver-for-lantiq-vr9-ethernet.patch
index 394f3a6..3a0cd0f 100644
--- a/target/linux/lantiq/patches-3.2/0043-NET-adds-driver-for-lantiq-vr9-ethernet.patch
+++ b/target/linux/lantiq/patches-3.2/0042-NET-adds-driver-for-lantiq-vr9-ethernet.patch
@@ -1,7 +1,7 @@
-From 7591c5702cfe842f415e42f387532fe71ea3640f Mon Sep 17 00:00:00 2001
+From 29be0a0cb78942568ea4dc164a86da1bcf7b3ad6 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 9 Mar 2012 19:03:40 +0100
-Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
+Subject: [PATCH 42/73] NET: adds driver for lantiq vr9 ethernet
---
.../mips/include/asm/mach-lantiq/xway/lantiq_soc.h | 2 +-
@@ -13,6 +13,8 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
6 files changed, 1387 insertions(+), 1 deletions(-)
create mode 100644 drivers/net/ethernet/lantiq_vrx200.c
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index ab2d236..d1b8cc8 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -102,7 +102,7 @@
@@ -24,9 +26,11 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
/* DMA */
#define LTQ_DMA_BASE_ADDR 0x1E104100
+diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
+index eab4644d..5efa4f3 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
-@@ -83,6 +83,7 @@ static struct platform_device ltq_etop =
+@@ -83,6 +83,7 @@ static struct platform_device ltq_etop = {
.name = "ltq_etop",
.resource = ltq_etop_resources,
.num_resources = 1,
@@ -34,7 +38,7 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
};
void __init
-@@ -96,3 +97,22 @@ ltq_register_etop(struct ltq_eth_data *e
+@@ -96,3 +97,22 @@ ltq_register_etop(struct ltq_eth_data *eth)
platform_device_register(&ltq_etop);
}
}
@@ -57,6 +61,8 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
+ ltq_vrx200.dev.platform_data = eth;
+ platform_device_register(&ltq_vrx200);
+}
+diff --git a/arch/mips/lantiq/xway/devices.h b/arch/mips/lantiq/xway/devices.h
+index d825cbd..08befd9 100644
--- a/arch/mips/lantiq/xway/devices.h
+++ b/arch/mips/lantiq/xway/devices.h
@@ -17,5 +17,6 @@ extern void ltq_register_gpio_stp(void);
@@ -66,6 +72,8 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
+extern void ltq_register_vrx200(struct ltq_eth_data *eth);
#endif
+diff --git a/drivers/net/ethernet/Kconfig b/drivers/net/ethernet/Kconfig
+index 597f4d4..2035cab 100644
--- a/drivers/net/ethernet/Kconfig
+++ b/drivers/net/ethernet/Kconfig
@@ -84,6 +84,12 @@ config LANTIQ_ETOP
@@ -81,6 +89,8 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
source "drivers/net/ethernet/marvell/Kconfig"
source "drivers/net/ethernet/mellanox/Kconfig"
source "drivers/net/ethernet/micrel/Kconfig"
+diff --git a/drivers/net/ethernet/Makefile b/drivers/net/ethernet/Makefile
+index be5dde0..4fde2be 100644
--- a/drivers/net/ethernet/Makefile
+++ b/drivers/net/ethernet/Makefile
@@ -35,6 +35,7 @@ obj-$(CONFIG_IP1000) += icplus/
@@ -91,6 +101,9 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
obj-$(CONFIG_NET_VENDOR_MARVELL) += marvell/
obj-$(CONFIG_NET_VENDOR_MELLANOX) += mellanox/
obj-$(CONFIG_NET_VENDOR_MICREL) += micrel/
+diff --git a/drivers/net/ethernet/lantiq_vrx200.c b/drivers/net/ethernet/lantiq_vrx200.c
+new file mode 100644
+index 0000000..d79d380
--- /dev/null
+++ b/drivers/net/ethernet/lantiq_vrx200.c
@@ -0,0 +1,1358 @@
@@ -1452,3 +1465,6 @@ Subject: [PATCH 43/70] NET: adds driver for lantiq vr9 ethernet
+MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
+MODULE_DESCRIPTION("Lantiq SoC ETOP");
+MODULE_LICENSE("GPL");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0044-MIPS-NET-several-fixes-to-etop-driver.patch b/target/linux/lantiq/patches-3.2/0043-MIPS-NET-several-fixes-to-etop-driver.patch
index f170167..d747e8c 100644
--- a/target/linux/lantiq/patches-3.2/0044-MIPS-NET-several-fixes-to-etop-driver.patch
+++ b/target/linux/lantiq/patches-3.2/0043-MIPS-NET-several-fixes-to-etop-driver.patch
@@ -1,12 +1,14 @@
-From 06663beb0230c02d1962eca8d9f6709c2e852328 Mon Sep 17 00:00:00 2001
+From 7fd67cfebce500eaeaf209c303d7c1edf1aa34db Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Wed, 21 Mar 2012 18:14:06 +0100
-Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
+Subject: [PATCH 43/73] MIPS: NET: several fixes to etop driver
---
drivers/net/ethernet/lantiq_etop.c | 208 +++++++++++++++++++-----------------
1 files changed, 108 insertions(+), 100 deletions(-)
+diff --git a/drivers/net/ethernet/lantiq_etop.c b/drivers/net/ethernet/lantiq_etop.c
+index a084d74..1a807d8 100644
--- a/drivers/net/ethernet/lantiq_etop.c
+++ b/drivers/net/ethernet/lantiq_etop.c
@@ -103,15 +103,6 @@
@@ -46,7 +48,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
spinlock_t lock;
-@@ -206,8 +197,10 @@ ltq_etop_poll_rx(struct napi_struct *nap
+@@ -206,8 +197,10 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget)
{
struct ltq_etop_chan *ch = container_of(napi,
struct ltq_etop_chan, napi);
@@ -57,7 +59,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
while ((rx < budget) && !complete) {
struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
-@@ -221,7 +214,9 @@ ltq_etop_poll_rx(struct napi_struct *nap
+@@ -221,7 +214,9 @@ ltq_etop_poll_rx(struct napi_struct *napi, int budget)
}
if (complete || !rx) {
napi_complete(&ch->napi);
@@ -67,7 +69,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
}
return rx;
}
-@@ -233,7 +228,7 @@ ltq_etop_poll_tx(struct napi_struct *nap
+@@ -233,7 +228,7 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget)
container_of(napi, struct ltq_etop_chan, napi);
struct ltq_etop_priv *priv = netdev_priv(ch->netdev);
struct netdev_queue *txq =
@@ -76,7 +78,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
unsigned long flags;
spin_lock_irqsave(&priv->lock, flags);
-@@ -251,7 +246,9 @@ ltq_etop_poll_tx(struct napi_struct *nap
+@@ -251,7 +246,9 @@ ltq_etop_poll_tx(struct napi_struct *napi, int budget)
if (netif_tx_queue_stopped(txq))
netif_tx_start_queue(txq);
napi_complete(&ch->napi);
@@ -100,7 +102,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
return IRQ_HANDLED;
}
-@@ -273,7 +271,7 @@ ltq_etop_free_channel(struct net_device
+@@ -273,7 +271,7 @@ ltq_etop_free_channel(struct net_device *dev, struct ltq_etop_chan *ch)
ltq_dma_free(&ch->dma);
if (ch->dma.irq)
free_irq(ch->dma.irq, priv);
@@ -210,7 +212,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
return err;
}
-@@ -410,7 +423,10 @@ ltq_etop_get_settings(struct net_device
+@@ -410,7 +423,10 @@ ltq_etop_get_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -222,7 +224,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
}
static int
-@@ -418,7 +434,10 @@ ltq_etop_set_settings(struct net_device
+@@ -418,7 +434,10 @@ ltq_etop_set_settings(struct net_device *dev, struct ethtool_cmd *cmd)
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -234,7 +236,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
}
static int
-@@ -426,7 +445,10 @@ ltq_etop_nway_reset(struct net_device *d
+@@ -426,7 +445,10 @@ ltq_etop_nway_reset(struct net_device *dev)
{
struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -302,7 +304,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
return 0;
}
-@@ -660,16 +683,16 @@ ltq_etop_tx(struct sk_buff *skb, struct
+@@ -660,16 +683,16 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
int queue = skb_get_queue_mapping(skb);
struct netdev_queue *txq = netdev_get_tx_queue(dev, queue);
struct ltq_etop_priv *priv = netdev_priv(dev);
@@ -323,7 +325,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
netdev_err(dev, "tx ring full\n");
netif_tx_stop_queue(txq);
return NETDEV_TX_BUSY;
-@@ -677,7 +700,7 @@ ltq_etop_tx(struct sk_buff *skb, struct
+@@ -677,7 +700,7 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
/* dma needs to start on a 16 byte aligned address */
byte_offset = CPHYSADDR(skb->data) % 16;
@@ -332,7 +334,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
dev->trans_start = jiffies;
-@@ -687,11 +710,11 @@ ltq_etop_tx(struct sk_buff *skb, struct
+@@ -687,11 +710,11 @@ ltq_etop_tx(struct sk_buff *skb, struct net_device *dev)
wmb();
desc->ctl = LTQ_DMA_OWN | LTQ_DMA_SOP | LTQ_DMA_EOP |
LTQ_DMA_TX_OFFSET(byte_offset) | (len & LTQ_DMA_SIZE_MASK);
@@ -358,7 +360,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
ltq_etop_change_mtu(dev, 1500);
memcpy(&mac, &priv->pldata->mac, sizeof(struct sockaddr));
-@@ -811,6 +838,9 @@ ltq_etop_tx_timeout(struct net_device *d
+@@ -811,6 +838,9 @@ ltq_etop_tx_timeout(struct net_device *dev)
err = ltq_etop_hw_init(dev);
if (err)
goto err_hw;
@@ -368,7 +370,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
dev->trans_start = jiffies;
netif_wake_queue(dev);
return;
-@@ -834,14 +864,13 @@ static const struct net_device_ops ltq_e
+@@ -834,14 +864,13 @@ static const struct net_device_ops ltq_eth_netdev_ops = {
.ndo_tx_timeout = ltq_etop_tx_timeout,
};
@@ -384,7 +386,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) {
-@@ -917,15 +946,10 @@ ltq_etop_probe(struct platform_device *p
+@@ -917,15 +946,10 @@ ltq_etop_probe(struct platform_device *pdev)
spin_lock_init(&priv->lock);
@@ -404,7 +406,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
err = register_netdev(dev);
if (err)
-@@ -955,6 +979,7 @@ ltq_etop_remove(struct platform_device *
+@@ -955,6 +979,7 @@ ltq_etop_remove(struct platform_device *pdev)
}
static struct platform_driver ltq_mii_driver = {
@@ -412,7 +414,7 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
.remove = __devexit_p(ltq_etop_remove),
.driver = {
.name = "ltq_etop",
-@@ -962,24 +987,7 @@ static struct platform_driver ltq_mii_dr
+@@ -962,24 +987,7 @@ static struct platform_driver ltq_mii_driver = {
},
};
@@ -438,3 +440,6 @@ Subject: [PATCH 44/70] MIPS: NET: several fixes to etop driver
MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
MODULE_DESCRIPTION("Lantiq SoC ETOP");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0045-MTD-MIPS-lantiq-use-module_platform_driver-inside-la.patch b/target/linux/lantiq/patches-3.2/0044-MTD-MIPS-lantiq-use-module_platform_driver-inside-la.patch
index b7ddea6..4a09321 100644
--- a/target/linux/lantiq/patches-3.2/0045-MTD-MIPS-lantiq-use-module_platform_driver-inside-la.patch
+++ b/target/linux/lantiq/patches-3.2/0044-MTD-MIPS-lantiq-use-module_platform_driver-inside-la.patch
@@ -1,7 +1,7 @@
-From f94454615da63008ac865e6a7b03bbe79041e8c2 Mon Sep 17 00:00:00 2001
+From 8757ae55b11c87d75078b44384b27aadc52f2f22 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Mon, 20 Feb 2012 12:15:25 +0100
-Subject: [PATCH 45/70] MTD: MIPS: lantiq: use module_platform_driver inside
+Subject: [PATCH 44/73] MTD: MIPS: lantiq: use module_platform_driver inside
lantiq map driver
Reduce boilerplate code by converting driver to module_platform_driver.
@@ -12,9 +12,11 @@ Cc: linux-mtd@lists.infradead.org
drivers/mtd/maps/lantiq-flash.c | 22 +++-------------------
1 files changed, 3 insertions(+), 19 deletions(-)
+diff --git a/drivers/mtd/maps/lantiq-flash.c b/drivers/mtd/maps/lantiq-flash.c
+index 764d468..b55212c 100644
--- a/drivers/mtd/maps/lantiq-flash.c
+++ b/drivers/mtd/maps/lantiq-flash.c
-@@ -108,7 +108,7 @@ ltq_copy_to(struct map_info *map, unsign
+@@ -108,7 +108,7 @@ ltq_copy_to(struct map_info *map, unsigned long to,
spin_unlock_irqrestore(&ebu_lock, flags);
}
@@ -23,7 +25,7 @@ Cc: linux-mtd@lists.infradead.org
ltq_mtd_probe(struct platform_device *pdev)
{
struct physmap_flash_data *ltq_mtd_data = dev_get_platdata(&pdev->dev);
-@@ -208,6 +208,7 @@ ltq_mtd_remove(struct platform_device *p
+@@ -208,6 +208,7 @@ ltq_mtd_remove(struct platform_device *pdev)
}
static struct platform_driver ltq_mtd_driver = {
@@ -31,7 +33,7 @@ Cc: linux-mtd@lists.infradead.org
.remove = __devexit_p(ltq_mtd_remove),
.driver = {
.name = "ltq_nor",
-@@ -215,24 +216,7 @@ static struct platform_driver ltq_mtd_dr
+@@ -215,24 +216,7 @@ static struct platform_driver ltq_mtd_driver = {
},
};
@@ -57,3 +59,6 @@ Cc: linux-mtd@lists.infradead.org
MODULE_LICENSE("GPL");
MODULE_AUTHOR("John Crispin <blogic@openwrt.org>");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0046-WDT-MIPS-lantiq-use-module_platform_driver-inside-la.patch b/target/linux/lantiq/patches-3.2/0045-WDT-MIPS-lantiq-use-module_platform_driver-inside-la.patch
index 90dfa8b..69894d6 100644
--- a/target/linux/lantiq/patches-3.2/0046-WDT-MIPS-lantiq-use-module_platform_driver-inside-la.patch
+++ b/target/linux/lantiq/patches-3.2/0045-WDT-MIPS-lantiq-use-module_platform_driver-inside-la.patch
@@ -1,7 +1,7 @@
-From 7d332825d131e70daff66b934797c89f50c11ace Mon Sep 17 00:00:00 2001
+From 3b8b06b76d01136fa4e195a10c5ee12b2352616e Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Mon, 20 Feb 2012 12:16:31 +0100
-Subject: [PATCH 46/70] WDT: MIPS: lantiq: use module_platform_driver inside
+Subject: [PATCH 45/73] WDT: MIPS: lantiq: use module_platform_driver inside
lantiq watchdog driver
Reduce boilerplate code by converting driver to module_platform_driver.
@@ -12,9 +12,11 @@ Cc: linux-watchdog@vger.kernel.org
drivers/watchdog/lantiq_wdt.c | 19 +++----------------
1 files changed, 3 insertions(+), 16 deletions(-)
+diff --git a/drivers/watchdog/lantiq_wdt.c b/drivers/watchdog/lantiq_wdt.c
+index da2b09f..40c9eb7 100644
--- a/drivers/watchdog/lantiq_wdt.c
+++ b/drivers/watchdog/lantiq_wdt.c
-@@ -182,7 +182,7 @@ static struct miscdevice ltq_wdt_miscdev
+@@ -182,7 +182,7 @@ static struct miscdevice ltq_wdt_miscdev = {
.fops = &ltq_wdt_fops,
};
@@ -23,7 +25,7 @@ Cc: linux-watchdog@vger.kernel.org
ltq_wdt_probe(struct platform_device *pdev)
{
struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-@@ -230,6 +230,7 @@ ltq_wdt_remove(struct platform_device *p
+@@ -230,6 +230,7 @@ ltq_wdt_remove(struct platform_device *pdev)
static struct platform_driver ltq_wdt_driver = {
@@ -31,7 +33,7 @@ Cc: linux-watchdog@vger.kernel.org
.remove = __devexit_p(ltq_wdt_remove),
.driver = {
.name = "ltq_wdt",
-@@ -237,21 +238,7 @@ static struct platform_driver ltq_wdt_dr
+@@ -237,21 +238,7 @@ static struct platform_driver ltq_wdt_driver = {
},
};
@@ -54,3 +56,6 @@ Cc: linux-watchdog@vger.kernel.org
module_param(nowayout, int, 0);
MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0047-MIPS-lantiq-adds-GPTU-driver.patch b/target/linux/lantiq/patches-3.2/0046-MIPS-lantiq-adds-GPTU-driver.patch
index ecaa577..4feff7e 100644
--- a/target/linux/lantiq/patches-3.2/0047-MIPS-lantiq-adds-GPTU-driver.patch
+++ b/target/linux/lantiq/patches-3.2/0046-MIPS-lantiq-adds-GPTU-driver.patch
@@ -1,7 +1,7 @@
-From b672c54f9ae4504687a80bb51cdfe102bdae96e1 Mon Sep 17 00:00:00 2001
+From 688c075ddc08723848df01fc0426d69d0b3a464b Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 29 Sep 2011 17:16:38 +0200
-Subject: [PATCH 47/70] MIPS: lantiq: adds GPTU driver
+Subject: [PATCH 46/73] MIPS: lantiq: adds GPTU driver
---
arch/mips/include/asm/mach-lantiq/lantiq_timer.h | 155 ++++
@@ -12,6 +12,9 @@ Subject: [PATCH 47/70] MIPS: lantiq: adds GPTU driver
create mode 100644 arch/mips/include/asm/mach-lantiq/lantiq_timer.h
create mode 100644 arch/mips/lantiq/xway/timer.c
+diff --git a/arch/mips/include/asm/mach-lantiq/lantiq_timer.h b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h
+new file mode 100644
+index 0000000..ef564ab
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/lantiq_timer.h
@@ -0,0 +1,155 @@
@@ -170,6 +173,8 @@ Subject: [PATCH 47/70] MIPS: lantiq: adds GPTU driver
+ u32 reload, unsigned long arg1, unsigned long arg2);
+
+#endif /* __DANUBE_GPTU_DEV_H__2005_07_26__10_19__ */
+diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
+index 277aa34..4c3106f 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,4 +1,4 @@
@@ -178,6 +183,8 @@ Subject: [PATCH 47/70] MIPS: lantiq: adds GPTU driver
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index 38f02f9..1a2e2d4 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -147,6 +147,7 @@ void __init ltq_soc_init(void)
@@ -188,6 +195,9 @@ Subject: [PATCH 47/70] MIPS: lantiq: adds GPTU driver
if (!ltq_is_vr9())
clkdev_add_pmu("ltq_etop", NULL, 0, PMU_PPE);
if (ltq_is_ase()) {
+diff --git a/arch/mips/lantiq/xway/timer.c b/arch/mips/lantiq/xway/timer.c
+new file mode 100644
+index 0000000..9794c87
--- /dev/null
+++ b/arch/mips/lantiq/xway/timer.c
@@ -0,0 +1,846 @@
@@ -1037,3 +1047,6 @@ Subject: [PATCH 47/70] MIPS: lantiq: adds GPTU driver
+
+module_init(lq_gptu_init);
+module_exit(lq_gptu_exit);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0048-MIPS-lantiq-adds-dwc_otg.patch b/target/linux/lantiq/patches-3.2/0047-MIPS-lantiq-adds-dwc_otg.patch
index 0f842c3..425eb47 100644
--- a/target/linux/lantiq/patches-3.2/0048-MIPS-lantiq-adds-dwc_otg.patch
+++ b/target/linux/lantiq/patches-3.2/0047-MIPS-lantiq-adds-dwc_otg.patch
@@ -1,7 +1,7 @@
-From 668e5f88aa80ef8c4c8cb935c7c222146de79825 Mon Sep 17 00:00:00 2001
+From 16e349f80eec982f301265bebd66fd08f3b0dce1 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 30 Sep 2011 14:37:36 +0200
-Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+Subject: [PATCH 47/73] MIPS: lantiq: adds dwc_otg
---
drivers/usb/Kconfig | 2 +
@@ -45,6 +45,8 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
create mode 100644 drivers/usb/dwc_otg/dwc_otg_plat.h
create mode 100644 drivers/usb/dwc_otg/dwc_otg_regs.h
+diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
+index 791f11b..1eafa7a 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -129,6 +129,8 @@ source "drivers/usb/wusbcore/Kconfig"
@@ -56,6 +58,8 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
source "drivers/usb/musb/Kconfig"
source "drivers/usb/renesas_usbhs/Kconfig"
+diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
+index 75eca76..7fe8e83 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -30,6 +30,8 @@ obj-$(CONFIG_USB_C67X00_HCD) += c67x00/
@@ -67,9 +71,11 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
obj-$(CONFIG_USB_ACM) += class/
obj-$(CONFIG_USB_PRINTER) += class/
obj-$(CONFIG_USB_WDM) += class/
+diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c
+index 7978146..6a7df52 100644
--- a/drivers/usb/core/hub.c
+++ b/drivers/usb/core/hub.c
-@@ -2939,11 +2939,11 @@ hub_port_init (struct usb_hub *hub, stru
+@@ -2935,11 +2935,11 @@ hub_port_init (struct usb_hub *hub, struct usb_device *udev, int port1,
udev->ttport = hdev->ttport;
} else if (udev->speed != USB_SPEED_HIGH
&& hdev->speed == USB_SPEED_HIGH) {
@@ -83,6 +89,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
udev->tt = &hub->tt;
udev->ttport = port1;
}
+diff --git a/drivers/usb/dwc_otg/Kconfig b/drivers/usb/dwc_otg/Kconfig
+new file mode 100644
+index 0000000..e018490
--- /dev/null
+++ b/drivers/usb/dwc_otg/Kconfig
@@ -0,0 +1,37 @@
@@ -123,6 +132,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+config DWC_OTG_DEBUG
+ bool "Enable debug mode"
+ depends on DWC_OTG
+diff --git a/drivers/usb/dwc_otg/Makefile b/drivers/usb/dwc_otg/Makefile
+new file mode 100644
+index 0000000..d4d2355
--- /dev/null
+++ b/drivers/usb/dwc_otg/Makefile
@@ -0,0 +1,39 @@
@@ -165,6 +177,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+
+#obj-$(CONFIG_DWC_OTG_IFX) := dwc_otg_ifx.o
+#dwc_otg_ifx-objs := dwc_otg_ifx.o
+diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.c b/drivers/usb/dwc_otg/dwc_otg_attr.c
+new file mode 100644
+index 0000000..4675a5c
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.c
@@ -0,0 +1,802 @@
@@ -970,6 +985,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+ device_remove_file(_dev, &dev_attr_rd_reg_test);
+ device_remove_file(_dev, &dev_attr_wr_reg_test);
+}
+diff --git a/drivers/usb/dwc_otg/dwc_otg_attr.h b/drivers/usb/dwc_otg/dwc_otg_attr.h
+new file mode 100644
+index 0000000..4bbf7df
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_attr.h
@@ -0,0 +1,67 @@
@@ -1040,6 +1058,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+void dwc_otg_attr_remove (struct device *_dev);
+
+#endif
+diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.c b/drivers/usb/dwc_otg/dwc_otg_cil.c
+new file mode 100644
+index 0000000..42c69eb
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.c
@@ -0,0 +1,3025 @@
@@ -4068,6 +4089,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+ _cb->p = _p;
+}
+
+diff --git a/drivers/usb/dwc_otg/dwc_otg_cil.h b/drivers/usb/dwc_otg/dwc_otg_cil.h
+new file mode 100644
+index 0000000..bbb9516
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil.h
@@ -0,0 +1,911 @@
@@ -4982,6 +5006,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+
+
+#endif
+diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h b/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h
+new file mode 100644
+index 0000000..b0298ec
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil_ifx.h
@@ -0,0 +1,58 @@
@@ -5043,6 +5070,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+
+#endif // __DWC_OTG_CIL_IFX_H__
+
+diff --git a/drivers/usb/dwc_otg/dwc_otg_cil_intr.c b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
+new file mode 100644
+index 0000000..d469ab4
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_cil_intr.c
@@ -0,0 +1,708 @@
@@ -5754,6 +5784,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+ }
+ return retval;
+}
+diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.c b/drivers/usb/dwc_otg/dwc_otg_driver.c
+new file mode 100644
+index 0000000..1b0daab
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.c
@@ -0,0 +1,1274 @@
@@ -7031,6 +7064,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+ </td></tr>
+
+*/
+diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.h b/drivers/usb/dwc_otg/dwc_otg_driver.h
+new file mode 100644
+index 0000000..7e6940d
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_driver.h
@@ -0,0 +1,84 @@
@@ -7118,6 +7154,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+//#define dev_dbg(fake, format, arg...) printk(KERN_CRIT __FILE__ ":%d: " format "\n" , __LINE__, ## arg)
+
+#endif
+diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.c b/drivers/usb/dwc_otg/dwc_otg_hcd.c
+new file mode 100644
+index 0000000..ad6bc72
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.c
@@ -0,0 +1,2870 @@
@@ -9991,6 +10030,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+#endif
+}
+#endif /* DWC_DEVICE_ONLY */
+diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd.h b/drivers/usb/dwc_otg/dwc_otg_hcd.h
+new file mode 100644
+index 0000000..8a20dff
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd.h
@@ -0,0 +1,676 @@
@@ -10670,6 +10712,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+#endif // DEBUG
+#endif // __DWC_HCD_H__
+#endif /* DWC_DEVICE_ONLY */
+diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
+new file mode 100644
+index 0000000..834b5e0
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
@@ -0,0 +1,1841 @@
@@ -12514,6 +12559,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+}
+
+#endif /* DWC_DEVICE_ONLY */
+diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
+new file mode 100644
+index 0000000..fcb5ce6
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_queue.c
@@ -0,0 +1,794 @@
@@ -13311,6 +13359,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+}
+
+#endif /* DWC_DEVICE_ONLY */
+diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.c b/drivers/usb/dwc_otg/dwc_otg_ifx.c
+new file mode 100644
+index 0000000..0a4c209
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_ifx.c
@@ -0,0 +1,100 @@
@@ -13414,6 +13465,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+void ifx_usb_hc_remove(void)
+{
+}
+diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.h b/drivers/usb/dwc_otg/dwc_otg_ifx.h
+new file mode 100644
+index 0000000..402d7a6
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_ifx.h
@@ -0,0 +1,85 @@
@@ -13502,6 +13556,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+ ltq_mask_and_ack_irq(&d);
+}
+#endif //__DWC_OTG_IFX_H__
+diff --git a/drivers/usb/dwc_otg/dwc_otg_plat.h b/drivers/usb/dwc_otg/dwc_otg_plat.h
+new file mode 100644
+index 0000000..727d0c4
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_plat.h
@@ -0,0 +1,269 @@
@@ -13774,6 +13831,9 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+
+#endif
+
+diff --git a/drivers/usb/dwc_otg/dwc_otg_regs.h b/drivers/usb/dwc_otg/dwc_otg_regs.h
+new file mode 100644
+index 0000000..397a954
--- /dev/null
+++ b/drivers/usb/dwc_otg/dwc_otg_regs.h
@@ -0,0 +1,1797 @@
@@ -15574,3 +15634,6 @@ Subject: [PATCH 48/70] MIPS: lantiq: adds dwc_otg
+} dwc_otg_host_if_t;
+
+#endif
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0049-dwc_otg-remove-bogus-halt_channel.patch b/target/linux/lantiq/patches-3.2/0048-dwc_otg-remove-bogus-halt_channel.patch
index 621a25f..f9ee4e7 100644
--- a/target/linux/lantiq/patches-3.2/0049-dwc_otg-remove-bogus-halt_channel.patch
+++ b/target/linux/lantiq/patches-3.2/0048-dwc_otg-remove-bogus-halt_channel.patch
@@ -1,16 +1,18 @@
-From 7f73b86b26fc58e0513a792533b7e11450aa0737 Mon Sep 17 00:00:00 2001
+From 604835c84e9854d347a43b736b047d9789f19a00 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 23 Mar 2012 16:14:33 +0100
-Subject: [PATCH 49/70] dwc_otg: remove bogus halt_channel
+Subject: [PATCH 48/73] dwc_otg: remove bogus halt_channel
https://lists.openwrt.org/pipermail/openwrt-devel/2012-March/014524.html
---
drivers/usb/dwc_otg/dwc_otg_hcd_intr.c | 2 --
1 files changed, 0 insertions(+), 2 deletions(-)
+diff --git a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
+index 834b5e0..f6f3f3d 100644
--- a/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
+++ b/drivers/usb/dwc_otg/dwc_otg_hcd_intr.c
-@@ -1278,8 +1278,6 @@ static int32_t handle_hc_ack_intr(dwc_ot
+@@ -1278,8 +1278,6 @@ static int32_t handle_hc_ack_intr(dwc_otg_hcd_t *_hcd,
* automatically executes the PING, then the transfer.
*/
halt_channel(_hcd, _hc, _qtd, DWC_OTG_HC_XFER_ACK, must_free);
@@ -19,3 +21,6 @@ https://lists.openwrt.org/pipermail/openwrt-devel/2012-March/014524.html
}
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0050-MIPS-adds-ifxhcd.patch b/target/linux/lantiq/patches-3.2/0049-MIPS-adds-ifxhcd.patch
index 88348a4..b6243a3 100644
--- a/target/linux/lantiq/patches-3.2/0050-MIPS-adds-ifxhcd.patch
+++ b/target/linux/lantiq/patches-3.2/0049-MIPS-adds-ifxhcd.patch
@@ -1,7 +1,7 @@
-From 09071b501014528984b158bc5408d8a738ef6883 Mon Sep 17 00:00:00 2001
+From ad4f618fdcbeb60ce82094c51ba8ea26ab8a6af2 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sun, 11 Mar 2012 15:59:39 +0100
-Subject: [PATCH 50/70] MIPS: adds ifxhcd
+Subject: [PATCH 49/73] MIPS: adds ifxhcd
---
arch/mips/lantiq/xway/Makefile | 2 +-
@@ -48,6 +48,8 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
create mode 100644 drivers/usb/ifxhcd/ifxusb_regs.h
create mode 100644 drivers/usb/ifxhcd/ifxusb_version.h
+diff --git a/arch/mips/lantiq/xway/Makefile b/arch/mips/lantiq/xway/Makefile
+index 4c3106f..c9baf91 100644
--- a/arch/mips/lantiq/xway/Makefile
+++ b/arch/mips/lantiq/xway/Makefile
@@ -1,4 +1,4 @@
@@ -56,6 +58,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
obj-$(CONFIG_LANTIQ_MACH_EASY50712) += mach-easy50712.o
obj-$(CONFIG_LANTIQ_MACH_EASY50601) += mach-easy50601.o
+diff --git a/arch/mips/lantiq/xway/dev-ifxhcd.c b/arch/mips/lantiq/xway/dev-ifxhcd.c
+new file mode 100644
+index 0000000..ea08a35
--- /dev/null
+++ b/arch/mips/lantiq/xway/dev-ifxhcd.c
@@ -0,0 +1,45 @@
@@ -104,6 +109,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+ platform_dev.dev.platform_data = pins;
+ return platform_device_register(&platform_dev);
+}
+diff --git a/arch/mips/lantiq/xway/dev-ifxhcd.h b/arch/mips/lantiq/xway/dev-ifxhcd.h
+new file mode 100644
+index 0000000..18b3d2d
--- /dev/null
+++ b/arch/mips/lantiq/xway/dev-ifxhcd.h
@@ -0,0 +1,17 @@
@@ -124,6 +132,8 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+extern void __init xway_register_hcd(int *pin);
+
+#endif
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index 1a2e2d4..ac7383f 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -166,6 +166,8 @@ void __init ltq_soc_init(void)
@@ -135,6 +145,8 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
} else {
clkdev_add_static(ltq_danube_cpu_hz(), ltq_danube_fpi_hz(),
ltq_danube_io_region_clock());
+diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
+index 1eafa7a..0f7926e 100644
--- a/drivers/usb/Kconfig
+++ b/drivers/usb/Kconfig
@@ -183,4 +183,6 @@ source "drivers/usb/gadget/Kconfig"
@@ -144,6 +156,8 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+source "drivers/usb/ifxhcd/Kconfig"
+
endif # USB_SUPPORT
+diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile
+index 7fe8e83..61b4c88 100644
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
@@ -57,3 +57,5 @@ obj-$(CONFIG_USB_OTG_UTILS) += otg/
@@ -152,6 +166,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
obj-$(CONFIG_USB_COMMON) += usb-common.o
+
+obj-$(CONFIG_USB_HOST_IFX) += ifxhcd/
+diff --git a/drivers/usb/ifxhcd/Kconfig b/drivers/usb/ifxhcd/Kconfig
+new file mode 100644
+index 0000000..7eb8ceb
--- /dev/null
+++ b/drivers/usb/ifxhcd/Kconfig
@@ -0,0 +1,58 @@
@@ -213,6 +230,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+#config USB_HOST_IFX_UNALIGNED_NONE
+
+
+diff --git a/drivers/usb/ifxhcd/Makefile b/drivers/usb/ifxhcd/Makefile
+new file mode 100644
+index 0000000..0a2ac99
--- /dev/null
+++ b/drivers/usb/ifxhcd/Makefile
@@ -0,0 +1,85 @@
@@ -301,6 +321,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+
+obj-$(CONFIG_USB_HOST_IFX) += ifxusb_host.o
+
+diff --git a/drivers/usb/ifxhcd/TagHistory b/drivers/usb/ifxhcd/TagHistory
+new file mode 100644
+index 0000000..3820d70
--- /dev/null
+++ b/drivers/usb/ifxhcd/TagHistory
@@ -0,0 +1,171 @@
@@ -475,6 +498,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+
+Bekanntes Problem: Stick and Surf funktioniert nur sporadisch, weil CONTROL_IRQ manchmal ausbleibt.
+
+diff --git a/drivers/usb/ifxhcd/ifxhcd.c b/drivers/usb/ifxhcd/ifxhcd.c
+new file mode 100644
+index 0000000..d2ae125
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd.c
@@ -0,0 +1,2523 @@
@@ -3001,6 +3027,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+ }
+#endif //__ENABLE_DUMP__
+
+diff --git a/drivers/usb/ifxhcd/ifxhcd.h b/drivers/usb/ifxhcd/ifxhcd.h
+new file mode 100644
+index 0000000..3a40851
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd.h
@@ -0,0 +1,628 @@
@@ -3632,6 +3661,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+/*@}*//*IFXUSB_HCD*/
+
+#endif // __IFXHCD_H__
+diff --git a/drivers/usb/ifxhcd/ifxhcd_es.c b/drivers/usb/ifxhcd/ifxhcd_es.c
+new file mode 100644
+index 0000000..ef9e8c0
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd_es.c
@@ -0,0 +1,549 @@
@@ -4184,6 +4216,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+ }
+#endif //__WITH_HS_ELECT_TST__
+
+diff --git a/drivers/usb/ifxhcd/ifxhcd_intr.c b/drivers/usb/ifxhcd/ifxhcd_intr.c
+new file mode 100644
+index 0000000..76fe602
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd_intr.c
@@ -0,0 +1,3742 @@
@@ -7929,6 +7964,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+ }
+ return retval;
+}
+diff --git a/drivers/usb/ifxhcd/ifxhcd_queue.c b/drivers/usb/ifxhcd/ifxhcd_queue.c
+new file mode 100644
+index 0000000..8f9dd25
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxhcd_queue.c
@@ -0,0 +1,418 @@
@@ -8350,6 +8388,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+ return retval;
+}
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_cif.c b/drivers/usb/ifxhcd/ifxusb_cif.c
+new file mode 100644
+index 0000000..10b1292
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif.c
@@ -0,0 +1,1458 @@
@@ -9811,6 +9852,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+ return;
+}
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_cif.h b/drivers/usb/ifxhcd/ifxusb_cif.h
+new file mode 100644
+index 0000000..191781f
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif.h
@@ -0,0 +1,665 @@
@@ -10479,6 +10523,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+#endif // !defined(__IFXUSB_CIF_H__)
+
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_cif_d.c b/drivers/usb/ifxhcd/ifxusb_cif_d.c
+new file mode 100644
+index 0000000..36ab0e7
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif_d.c
@@ -0,0 +1,458 @@
@@ -10940,6 +10987,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+ }
+}
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_cif_h.c b/drivers/usb/ifxhcd/ifxusb_cif_h.c
+new file mode 100644
+index 0000000..0f47ecd
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_cif_h.c
@@ -0,0 +1,846 @@
@@ -11789,6 +11839,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+#endif //defined(__UEIP__)
+
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_ctl.c b/drivers/usb/ifxhcd/ifxusb_ctl.c
+new file mode 100644
+index 0000000..ade8e13
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_ctl.c
@@ -0,0 +1,1385 @@
@@ -13177,6 +13230,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+}
+
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_driver.c b/drivers/usb/ifxhcd/ifxusb_driver.c
+new file mode 100644
+index 0000000..2334905
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_driver.c
@@ -0,0 +1,970 @@
@@ -14150,6 +14206,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+MODULE_PARM_DESC(timeout_cal_fs, "Timeout Cal for FS");
+
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_plat.h b/drivers/usb/ifxhcd/ifxusb_plat.h
+new file mode 100644
+index 0000000..a50294f
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_plat.h
@@ -0,0 +1,1018 @@
@@ -15171,6 +15230,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+
+#endif //__IFXUSB_PLAT_H__
+
+diff --git a/drivers/usb/ifxhcd/ifxusb_regs.h b/drivers/usb/ifxhcd/ifxusb_regs.h
+new file mode 100644
+index 0000000..014c6db
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_regs.h
@@ -0,0 +1,1420 @@
@@ -16594,6 +16656,9 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+/****************************************************************************/
+
+#endif //__IFXUSB_REGS_H__
+diff --git a/drivers/usb/ifxhcd/ifxusb_version.h b/drivers/usb/ifxhcd/ifxusb_version.h
+new file mode 100644
+index 0000000..2dff735
--- /dev/null
+++ b/drivers/usb/ifxhcd/ifxusb_version.h
@@ -0,0 +1,5 @@
@@ -16602,3 +16667,6 @@ Subject: [PATCH 50/70] MIPS: adds ifxhcd
+#define IFXUSB_VERSION "3.0alpha B100312"
+#endif
+
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0051-MIPS-adds-gptu-driver.patch b/target/linux/lantiq/patches-3.2/0050-MIPS-adds-gptu-driver.patch
index 1769c49..ade25bf 100644
--- a/target/linux/lantiq/patches-3.2/0051-MIPS-adds-gptu-driver.patch
+++ b/target/linux/lantiq/patches-3.2/0050-MIPS-adds-gptu-driver.patch
@@ -1,13 +1,16 @@
-From a7c55f5e927b69bb30912fe1c3e5bcd8751e8381 Mon Sep 17 00:00:00 2001
+From ce8fccecad845349cc5f6783b3812a17a074d39c Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Wed, 14 Mar 2012 15:37:19 +0100
-Subject: [PATCH 51/70] MIPS: adds gptu driver
+Subject: [PATCH 50/73] MIPS: adds gptu driver
---
arch/mips/lantiq/xway/gptu.c | 176 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 176 insertions(+), 0 deletions(-)
create mode 100644 arch/mips/lantiq/xway/gptu.c
+diff --git a/arch/mips/lantiq/xway/gptu.c b/arch/mips/lantiq/xway/gptu.c
+new file mode 100644
+index 0000000..ac82c37
--- /dev/null
+++ b/arch/mips/lantiq/xway/gptu.c
@@ -0,0 +1,176 @@
@@ -187,3 +190,6 @@ Subject: [PATCH 51/70] MIPS: adds gptu driver
+}
+
+arch_initcall(gptu_setup);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0052-MIPS-lantiq-pci-rename-variable-inside.patch b/target/linux/lantiq/patches-3.2/0051-MIPS-lantiq-pci-rename-variable-inside.patch
index 37d9da5..e1a05cf 100644
--- a/target/linux/lantiq/patches-3.2/0052-MIPS-lantiq-pci-rename-variable-inside.patch
+++ b/target/linux/lantiq/patches-3.2/0051-MIPS-lantiq-pci-rename-variable-inside.patch
@@ -1,7 +1,7 @@
-From 3571f6a294783e617c2f8f52021f9c33bc9e5a36 Mon Sep 17 00:00:00 2001
+From 6a3a89057dbb65c67be80641f13f34c599ee3863 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 12:00:17 +0100
-Subject: [PATCH 52/70] MIPS: lantiq: pci: rename variable inside
+Subject: [PATCH 51/73] MIPS: lantiq: pci: rename variable inside
* rename a global var inside the pci code
---
@@ -10,9 +10,11 @@ Subject: [PATCH 52/70] MIPS: lantiq: pci: rename variable inside
arch/mips/pci/pci-lantiq.h | 2 +-
3 files changed, 7 insertions(+), 7 deletions(-)
+diff --git a/arch/mips/pci/ops-lantiq.c b/arch/mips/pci/ops-lantiq.c
+index 1f2afb5..5cbb0cf 100644
--- a/arch/mips/pci/ops-lantiq.c
+++ b/arch/mips/pci/ops-lantiq.c
-@@ -41,7 +41,7 @@ static int ltq_pci_config_access(unsigne
+@@ -41,7 +41,7 @@ static int ltq_pci_config_access(unsigned char access_type, struct pci_bus *bus,
spin_lock_irqsave(&ebu_lock, flags);
@@ -21,7 +23,7 @@ Subject: [PATCH 52/70] MIPS: lantiq: pci: rename variable inside
cfg_base |= (bus->number << LTQ_PCI_CFG_BUSNUM_SHF) | (devfn <<
LTQ_PCI_CFG_FUNNUM_SHF) | (where & ~0x3);
-@@ -55,11 +55,11 @@ static int ltq_pci_config_access(unsigne
+@@ -55,11 +55,11 @@ static int ltq_pci_config_access(unsigned char access_type, struct pci_bus *bus,
wmb();
/* clean possible Master abort */
@@ -35,6 +37,8 @@ Subject: [PATCH 52/70] MIPS: lantiq: pci: rename variable inside
cfg_base |= (0x68 << LTQ_PCI_CFG_FUNNUM_SHF) + 4;
ltq_w32(temp, ((u32 *)cfg_base));
+diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
+index 47b551c..efcdd45 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
@@ -65,8 +65,8 @@
@@ -48,7 +52,7 @@ Subject: [PATCH 52/70] MIPS: lantiq: pci: rename variable inside
struct ltq_pci_gpio_map {
int pin;
-@@ -273,7 +273,7 @@ static int __devinit ltq_pci_probe(struc
+@@ -273,7 +273,7 @@ static int __devinit ltq_pci_probe(struct platform_device *pdev)
pci_probe_only = 0;
ltq_pci_irq_map = ltq_pci_data->irq;
ltq_pci_membase = ioremap_nocache(PCI_CR_BASE_ADDR, PCI_CR_SIZE);
@@ -57,6 +61,8 @@ Subject: [PATCH 52/70] MIPS: lantiq: pci: rename variable inside
ioremap_nocache(LTQ_PCI_CFG_BASE, LTQ_PCI_CFG_BASE);
ltq_pci_controller.io_map_base =
(unsigned long)ioremap(LTQ_PCI_IO_BASE, LTQ_PCI_IO_SIZE - 1);
+diff --git a/arch/mips/pci/pci-lantiq.h b/arch/mips/pci/pci-lantiq.h
+index 66bf6cd..c4721b4 100644
--- a/arch/mips/pci/pci-lantiq.h
+++ b/arch/mips/pci/pci-lantiq.h
@@ -9,7 +9,7 @@
@@ -68,3 +74,6 @@ Subject: [PATCH 52/70] MIPS: lantiq: pci: rename variable inside
extern int ltq_pci_read_config_dword(struct pci_bus *bus,
unsigned int devfn, int where, int size, u32 *val);
extern int ltq_pci_write_config_dword(struct pci_bus *bus,
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0053-MIPS-lantiq-pci-give-xway-pci-support-its-own-kbuild.patch b/target/linux/lantiq/patches-3.2/0052-MIPS-lantiq-pci-give-xway-pci-support-its-own-kbuild.patch
index 0455801..be65378 100644
--- a/target/linux/lantiq/patches-3.2/0053-MIPS-lantiq-pci-give-xway-pci-support-its-own-kbuild.patch
+++ b/target/linux/lantiq/patches-3.2/0052-MIPS-lantiq-pci-give-xway-pci-support-its-own-kbuild.patch
@@ -1,7 +1,7 @@
-From 00dda451e12b6fc519cd4f575a696c4216f45992 Mon Sep 17 00:00:00 2001
+From 3ea2b94a6721ebdde4508ef7d35521f1b8f06351 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 13:13:31 +0100
-Subject: [PATCH 53/70] MIPS: lantiq: pci: give xway pci support its own
+Subject: [PATCH 52/73] MIPS: lantiq: pci: give xway pci support its own
kbuild symbol
---
@@ -9,6 +9,8 @@ Subject: [PATCH 53/70] MIPS: lantiq: pci: give xway pci support its own
arch/mips/pci/Makefile | 2 +-
2 files changed, 6 insertions(+), 1 deletions(-)
+diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
+index cb6b39f..dde9fc6 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -19,8 +19,13 @@ config SOC_XWAY
@@ -25,9 +27,11 @@ Subject: [PATCH 53/70] MIPS: lantiq: pci: give xway pci support its own
source "arch/mips/lantiq/xway/Kconfig"
source "arch/mips/lantiq/falcon/Kconfig"
+diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
+index bb82cbd..afad91d 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -40,7 +40,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1
+@@ -40,7 +40,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1250.o pci-sb1250.o
obj-$(CONFIG_SIBYTE_BCM112X) += fixup-sb1250.o pci-sb1250.o
obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
@@ -36,3 +40,6 @@ Subject: [PATCH 53/70] MIPS: lantiq: pci: give xway pci support its own
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
obj-$(CONFIG_TANBAC_TB0287) += fixup-tb0287.o
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0054-MIPS-lantiq-pci-move-pcibios-code-into-fixup-lantiq..patch b/target/linux/lantiq/patches-3.2/0053-MIPS-lantiq-pci-move-pcibios-code-into-fixup-lantiq..patch
index dba323d..42a355e 100644
--- a/target/linux/lantiq/patches-3.2/0054-MIPS-lantiq-pci-move-pcibios-code-into-fixup-lantiq..patch
+++ b/target/linux/lantiq/patches-3.2/0053-MIPS-lantiq-pci-move-pcibios-code-into-fixup-lantiq..patch
@@ -1,7 +1,7 @@
-From 49b5d2242091e216736216d98d7f940870d4f1ec Mon Sep 17 00:00:00 2001
+From e6b9f3ea5f2f3f8a66d6650c16f3537288806c0b Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 15:53:10 +0100
-Subject: [PATCH 54/70] MIPS: lantiq: pci: move pcibios code into
+Subject: [PATCH 53/73] MIPS: lantiq: pci: move pcibios code into
fixup-lantiq.c
---
@@ -11,9 +11,11 @@ Subject: [PATCH 54/70] MIPS: lantiq: pci: move pcibios code into
3 files changed, 45 insertions(+), 22 deletions(-)
create mode 100644 arch/mips/pci/fixup-lantiq.c
+diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
+index afad91d..3ca5f75 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -40,6 +40,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1
+@@ -40,6 +40,7 @@ obj-$(CONFIG_SIBYTE_SB1250) += fixup-sb1250.o pci-sb1250.o
obj-$(CONFIG_SIBYTE_BCM112X) += fixup-sb1250.o pci-sb1250.o
obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
@@ -21,6 +23,9 @@ Subject: [PATCH 54/70] MIPS: lantiq: pci: move pcibios code into
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
+diff --git a/arch/mips/pci/fixup-lantiq.c b/arch/mips/pci/fixup-lantiq.c
+new file mode 100644
+index 0000000..daf5ae9
--- /dev/null
+++ b/arch/mips/pci/fixup-lantiq.c
@@ -0,0 +1,42 @@
@@ -66,9 +71,11 @@ Subject: [PATCH 54/70] MIPS: lantiq: pci: move pcibios code into
+}
+
+
+diff --git a/arch/mips/pci/pci-lantiq.c b/arch/mips/pci/pci-lantiq.c
+index efcdd45..7a29738 100644
--- a/arch/mips/pci/pci-lantiq.c
+++ b/arch/mips/pci/pci-lantiq.c
-@@ -93,16 +93,14 @@ static struct ltq_pci_gpio_map ltq_pci_g
+@@ -93,16 +93,14 @@ static struct ltq_pci_gpio_map ltq_pci_gpio_map[] = {
{ 37, 2, 0, "pci-req4" },
};
@@ -87,7 +94,7 @@ Subject: [PATCH 54/70] MIPS: lantiq: pci: move pcibios code into
struct pci_ops ltq_pci_ops = {
.read = ltq_pci_read_config_dword,
-@@ -131,14 +129,6 @@ static struct pci_controller ltq_pci_con
+@@ -131,14 +129,6 @@ static struct pci_controller ltq_pci_controller = {
.io_offset = 0x00000000UL,
};
@@ -102,7 +109,7 @@ Subject: [PATCH 54/70] MIPS: lantiq: pci: move pcibios code into
static u32 ltq_calc_bar11mask(void)
{
u32 mem, bar11mask;
-@@ -256,16 +246,6 @@ static int __devinit ltq_pci_startup(str
+@@ -256,16 +246,6 @@ static int __devinit ltq_pci_startup(struct device *dev)
return 0;
}
@@ -119,3 +126,6 @@ Subject: [PATCH 54/70] MIPS: lantiq: pci: move pcibios code into
static int __devinit ltq_pci_probe(struct platform_device *pdev)
{
struct ltq_pci_data *ltq_pci_data =
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0055-MIPS-lantiq-pcie-add-pcie-driver.patch b/target/linux/lantiq/patches-3.2/0054-MIPS-lantiq-pcie-add-pcie-driver.patch
index 1b57cf6..16159b8 100644
--- a/target/linux/lantiq/patches-3.2/0055-MIPS-lantiq-pcie-add-pcie-driver.patch
+++ b/target/linux/lantiq/patches-3.2/0054-MIPS-lantiq-pcie-add-pcie-driver.patch
@@ -1,7 +1,7 @@
-From a53d622001ae396d89c9abacb62f3c3c7fbd3c13 Mon Sep 17 00:00:00 2001
+From ab91bdfb7d8dbeebe4594b96cf81721f97012d24 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 8 Mar 2012 15:57:33 +0100
-Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
+Subject: [PATCH 54/73] MIPS: lantiq: pcie: add pcie driver
---
arch/mips/Kconfig | 1 +
@@ -21,9 +21,11 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
create mode 100644 arch/mips/pci/pcie-lantiq.c
create mode 100644 arch/mips/pci/pcie-lantiq.h
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 1b78cd7..bbaff9b 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -2353,6 +2353,7 @@ config PCI_DOMAINS
+@@ -2329,6 +2329,7 @@ config PCI_DOMAINS
bool
source "drivers/pci/Kconfig"
@@ -31,6 +33,8 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
#
# ISA support is now enabled via select. Too many systems still have the one
+diff --git a/arch/mips/lantiq/Kconfig b/arch/mips/lantiq/Kconfig
+index dde9fc6..d21d9d4 100644
--- a/arch/mips/lantiq/Kconfig
+++ b/arch/mips/lantiq/Kconfig
@@ -22,10 +22,6 @@ config SOC_FALCON
@@ -44,6 +48,8 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
source "arch/mips/lantiq/xway/Kconfig"
source "arch/mips/lantiq/falcon/Kconfig"
+diff --git a/arch/mips/lantiq/xway/Kconfig b/arch/mips/lantiq/xway/Kconfig
+index 2b857de..54a51ff 100644
--- a/arch/mips/lantiq/xway/Kconfig
+++ b/arch/mips/lantiq/xway/Kconfig
@@ -8,6 +8,27 @@ config LANTIQ_MACH_EASY50712
@@ -74,9 +80,11 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
endif
if SOC_AMAZON_SE
+diff --git a/arch/mips/pci/Makefile b/arch/mips/pci/Makefile
+index 3ca5f75..3386888 100644
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -42,6 +42,8 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1
+@@ -42,6 +42,8 @@ obj-$(CONFIG_SIBYTE_BCM1x80) += pci-bcm1480.o pci-bcm1480ht.o
obj-$(CONFIG_SNI_RM) += fixup-sni.o ops-sni.o
obj-$(CONFIG_LANTIQ) += fixup-lantiq.o
obj-$(CONFIG_PCI_LANTIQ) += pci-lantiq.o ops-lantiq.o
@@ -85,6 +93,9 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
obj-$(CONFIG_TANBAC_TB0219) += fixup-tb0219.o
obj-$(CONFIG_TANBAC_TB0226) += fixup-tb0226.o
obj-$(CONFIG_TANBAC_TB0287) += fixup-tb0287.o
+diff --git a/arch/mips/pci/fixup-lantiq-pcie.c b/arch/mips/pci/fixup-lantiq-pcie.c
+new file mode 100644
+index 0000000..84517df
--- /dev/null
+++ b/arch/mips/pci/fixup-lantiq-pcie.c
@@ -0,0 +1,81 @@
@@ -169,6 +180,8 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
+
+DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_LANTIQ, PCI_DEVICE_ID_LANTIQ_PCIE,
+ ifx_pcie_rc_class_early_fixup);
+diff --git a/arch/mips/pci/pci.c b/arch/mips/pci/pci.c
+index 41af7fa..2239cda 100644
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
@@ -167,6 +167,31 @@ static int __init pcibios_init(void)
@@ -203,6 +216,9 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
static int pcibios_enable_resources(struct pci_dev *dev, int mask)
{
u16 cmd, old_cmd;
+diff --git a/arch/mips/pci/pcie-lantiq-msi.c b/arch/mips/pci/pcie-lantiq-msi.c
+new file mode 100644
+index 0000000..9cbf639
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq-msi.c
@@ -0,0 +1,399 @@
@@ -605,6 +621,9 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
+MODULE_SUPPORTED_DEVICE("Infineon PCIe IP builtin MSI PIC module");
+MODULE_DESCRIPTION("Infineon PCIe IP builtin MSI PIC driver");
+
+diff --git a/arch/mips/pci/pcie-lantiq-phy.c b/arch/mips/pci/pcie-lantiq-phy.c
+new file mode 100644
+index 0000000..9f5027d
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq-phy.c
@@ -0,0 +1,408 @@
@@ -1016,6 +1035,9 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
+#endif
+}
+
+diff --git a/arch/mips/pci/pcie-lantiq.c b/arch/mips/pci/pcie-lantiq.c
+new file mode 100644
+index 0000000..1df55b5
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq.c
@@ -0,0 +1,1146 @@
@@ -2165,6 +2187,9 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
+}
+
+arch_initcall(pciebios_init);
+diff --git a/arch/mips/pci/pcie-lantiq.h b/arch/mips/pci/pcie-lantiq.h
+new file mode 100644
+index 0000000..d877c23
--- /dev/null
+++ b/arch/mips/pci/pcie-lantiq.h
@@ -0,0 +1,1305 @@
@@ -3473,3 +3498,6 @@ Subject: [PATCH 55/70] MIPS: lantiq: pcie: add pcie driver
+
+#endif /* IFXMIPS_PCIE_VR9_H */
+
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0056-MIPS-lantiq-make-GPIO3-work-on-AR9.patch b/target/linux/lantiq/patches-3.2/0055-MIPS-lantiq-make-GPIO3-work-on-AR9.patch
index 4a5d8a6..888a991 100644
--- a/target/linux/lantiq/patches-3.2/0056-MIPS-lantiq-make-GPIO3-work-on-AR9.patch
+++ b/target/linux/lantiq/patches-3.2/0055-MIPS-lantiq-make-GPIO3-work-on-AR9.patch
@@ -1,7 +1,7 @@
-From b11a96f2bdf1730fe3fd3be1d0667e20a4eb5bff Mon Sep 17 00:00:00 2001
+From bc45b5c61ffb156eb01515bf56efc5ae8d2bc3b2 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sat, 13 Aug 2011 13:59:50 +0200
-Subject: [PATCH 56/70] MIPS: lantiq: make GPIO3 work on AR9
+Subject: [PATCH 55/73] MIPS: lantiq: make GPIO3 work on AR9
There are 3 16bit and 1 8bit gpio ports on AR9. The gpio driver needs a hack
at 2 places to make the different register layout of the GPIO3 work properly
@@ -18,6 +18,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
arch/mips/lantiq/xway/gpio_stp.c | 3 +-
5 files changed, 75 insertions(+), 20 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index d1b8cc8..bfdeb16 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -126,7 +126,9 @@
@@ -30,9 +32,11 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
/* SSC */
#define LTQ_SSC_BASE_ADDR 0x1e100800
+diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
+index 5efa4f3..e6d45bc 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
-@@ -34,6 +34,7 @@ static struct resource ltq_gpio_resource
+@@ -34,6 +34,7 @@ static struct resource ltq_gpio_resource[] = {
MEM_RES("gpio0", LTQ_GPIO0_BASE_ADDR, LTQ_GPIO_SIZE),
MEM_RES("gpio1", LTQ_GPIO1_BASE_ADDR, LTQ_GPIO_SIZE),
MEM_RES("gpio2", LTQ_GPIO2_BASE_ADDR, LTQ_GPIO_SIZE),
@@ -49,6 +53,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
}
}
+diff --git a/arch/mips/lantiq/xway/gpio.c b/arch/mips/lantiq/xway/gpio.c
+index 54ec6c9..375329b 100644
--- a/arch/mips/lantiq/xway/gpio.c
+++ b/arch/mips/lantiq/xway/gpio.c
@@ -23,9 +23,17 @@
@@ -70,7 +76,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
#define ltq_gpio_getbit(m, r, p) (!!(ltq_r32(m + r) & (1 << p)))
#define ltq_gpio_setbit(m, r, p) ltq_w32_mask(0, (1 << p), m + r)
-@@ -55,7 +63,7 @@ int ltq_gpio_request(struct device *dev,
+@@ -55,7 +63,7 @@ int ltq_gpio_request(struct device *dev, unsigned int pin, unsigned int mux,
{
int id = 0;
@@ -79,7 +85,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
return -EINVAL;
if (devm_gpio_request(dev, pin, name)) {
pr_err("failed to setup lantiq gpio: %s\n", name);
-@@ -75,12 +83,21 @@ int ltq_gpio_request(struct device *dev,
+@@ -75,12 +83,21 @@ int ltq_gpio_request(struct device *dev, unsigned int pin, unsigned int mux,
else
ltq_gpio_clearbit(ltq_gpio_port[id].membase,
LTQ_GPIO_ALTSEL0, pin);
@@ -107,7 +113,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
return 0;
}
EXPORT_SYMBOL(ltq_gpio_request);
-@@ -106,10 +123,19 @@ static int ltq_gpio_direction_input(stru
+@@ -106,10 +123,19 @@ static int ltq_gpio_direction_input(struct gpio_chip *chip, unsigned int offset)
{
struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
@@ -130,7 +136,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
return 0;
}
-@@ -119,10 +145,19 @@ static int ltq_gpio_direction_output(str
+@@ -119,10 +145,19 @@ static int ltq_gpio_direction_output(struct gpio_chip *chip,
{
struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
@@ -153,7 +159,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
ltq_gpio_set(chip, offset, value);
return 0;
-@@ -133,7 +168,11 @@ static int ltq_gpio_req(struct gpio_chip
+@@ -133,7 +168,11 @@ static int ltq_gpio_req(struct gpio_chip *chip, unsigned offset)
struct ltq_gpio *ltq_gpio = container_of(chip, struct ltq_gpio, chip);
ltq_gpio_clearbit(ltq_gpio->membase, LTQ_GPIO_ALTSEL0, offset);
@@ -166,7 +172,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
return 0;
}
-@@ -146,6 +185,16 @@ static int ltq_gpio_probe(struct platfor
+@@ -146,6 +185,16 @@ static int ltq_gpio_probe(struct platform_device *pdev)
pdev->id);
return -EINVAL;
}
@@ -183,7 +189,7 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res) {
dev_err(&pdev->dev, "failed to get memory for gpio port %d\n",
-@@ -175,7 +224,10 @@ static int ltq_gpio_probe(struct platfor
+@@ -175,7 +224,10 @@ static int ltq_gpio_probe(struct platform_device *pdev)
ltq_gpio_port[pdev->id].chip.set = ltq_gpio_set;
ltq_gpio_port[pdev->id].chip.request = ltq_gpio_req;
ltq_gpio_port[pdev->id].chip.base = PINS_PER_PORT * pdev->id;
@@ -195,6 +201,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
platform_set_drvdata(pdev, &ltq_gpio_port[pdev->id]);
return gpiochip_add(&ltq_gpio_port[pdev->id].chip);
}
+diff --git a/arch/mips/lantiq/xway/gpio_ebu.c b/arch/mips/lantiq/xway/gpio_ebu.c
+index b91c7f1..bc5696b 100644
--- a/arch/mips/lantiq/xway/gpio_ebu.c
+++ b/arch/mips/lantiq/xway/gpio_ebu.c
@@ -61,9 +61,8 @@ static struct gpio_chip ltq_ebu_chip = {
@@ -208,6 +216,8 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
.owner = THIS_MODULE,
};
+diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
+index da91c5e..9610c10 100644
--- a/arch/mips/lantiq/xway/gpio_stp.c
+++ b/arch/mips/lantiq/xway/gpio_stp.c
@@ -74,9 +74,8 @@ static struct gpio_chip ltq_stp_chip = {
@@ -221,3 +231,6 @@ Signed-off-by: Thomas Langer <thomas.langer@lantiq.com>
.owner = THIS_MODULE,
};
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch b/target/linux/lantiq/patches-3.2/0056-MIPS-lantiq-VPE-extensions.patch
index b145c9d..b70027e 100644
--- a/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-VPE-extensions.patch
+++ b/target/linux/lantiq/patches-3.2/0056-MIPS-lantiq-VPE-extensions.patch
@@ -1,7 +1,7 @@
-From 587ca6b21ab64ab014625b1cacb36ef711c74962 Mon Sep 17 00:00:00 2001
+From 7bd37f8a051a3760aa86da081e3b4d1e96c19dbf Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 29 Sep 2011 20:30:40 +0200
-Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
+Subject: [PATCH 56/73] MIPS: lantiq: VPE extensions
---
arch/mips/Kconfig | 22 +++
@@ -17,9 +17,11 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
create mode 100644 arch/mips/kernel/mtsched_proc.c
create mode 100644 arch/mips/kernel/perf_proc.c
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index bbaff9b..902aedb 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1909,6 +1909,28 @@ config MIPS_VPE_LOADER
+@@ -1897,6 +1897,28 @@ config MIPS_VPE_LOADER
Includes a loader for loading an elf relocatable object
onto another VPE and running it.
@@ -48,6 +50,8 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
config MIPS_MT_SMTC_IM_BACKSTOP
bool "Use per-TC register bits as backstop for inhibited IM bits"
depends on MIPS_MT_SMTC
+diff --git a/arch/mips/include/asm/mipsmtregs.h b/arch/mips/include/asm/mipsmtregs.h
+index c9420aa..04bfb4b 100644
--- a/arch/mips/include/asm/mipsmtregs.h
+++ b/arch/mips/include/asm/mipsmtregs.h
@@ -28,14 +28,34 @@
@@ -157,9 +161,11 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
/* GPR */
#define read_tc_gpr_sp() mftgpr(29)
+diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile
+index 1a96618..bc5989e 100644
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
-@@ -88,7 +88,8 @@ obj-$(CONFIG_MIPS32_O32) += binfmt_elfo3
+@@ -88,7 +88,8 @@ obj-$(CONFIG_MIPS32_O32) += binfmt_elfo32.o scall64-o32.o
obj-$(CONFIG_KGDB) += kgdb.o
obj-$(CONFIG_PROC_FS) += proc.o
@@ -169,6 +175,8 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
obj-$(CONFIG_64BIT) += cpu-bugs64.o
obj-$(CONFIG_I8253) += i8253.o
+diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c
+index c23d11f..11d6489 100644
--- a/arch/mips/kernel/mips-mt.c
+++ b/arch/mips/kernel/mips-mt.c
@@ -21,26 +21,96 @@
@@ -273,7 +281,7 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
/*
* Dump new MIPS MT state for the core. Does not leave TCs halted.
-@@ -78,18 +148,18 @@ void mips_mt_regdump(unsigned long mvpct
+@@ -78,18 +148,18 @@ void mips_mt_regdump(unsigned long mvpctl)
if ((read_tc_c0_tcbind() & TCBIND_CURVPE) == i) {
printk(" VPE %d\n", i);
printk(" VPEControl : %08lx\n",
@@ -309,6 +317,9 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
}
/*
+diff --git a/arch/mips/kernel/mtsched_proc.c b/arch/mips/kernel/mtsched_proc.c
+new file mode 100644
+index 0000000..4dafded
--- /dev/null
+++ b/arch/mips/kernel/mtsched_proc.c
@@ -0,0 +1,279 @@
@@ -591,6 +602,9 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
+
+/* Automagically create the entry */
+module_init(init_mtsched_proc);
+diff --git a/arch/mips/kernel/perf_proc.c b/arch/mips/kernel/perf_proc.c
+new file mode 100644
+index 0000000..7eec015
--- /dev/null
+++ b/arch/mips/kernel/perf_proc.c
@@ -0,0 +1,191 @@
@@ -785,6 +799,8 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
+
+/* Automagically create the entry */
+module_init(init_perf_proc);
+diff --git a/arch/mips/kernel/proc.c b/arch/mips/kernel/proc.c
+index e309665..2de204f 100644
--- a/arch/mips/kernel/proc.c
+++ b/arch/mips/kernel/proc.c
@@ -7,6 +7,7 @@
@@ -795,7 +811,7 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
#include <asm/bootinfo.h>
#include <asm/cpu.h>
#include <asm/cpu-features.h>
-@@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op =
+@@ -110,3 +111,19 @@ const struct seq_operations cpuinfo_op = {
.stop = c_stop,
.show = show_cpuinfo,
};
@@ -815,9 +831,11 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
+ mips_proc = proc_mkdir("mips", NULL);
+ return(mips_proc);
+}
+diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c
+index f0895e7..199e853 100644
--- a/arch/mips/kernel/smtc.c
+++ b/arch/mips/kernel/smtc.c
-@@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_
+@@ -1334,6 +1334,13 @@ void smtc_get_new_mmu_context(struct mm_struct *mm, unsigned long cpu)
asid = asid_cache(cpu);
do {
@@ -831,9 +849,11 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
if (!((asid += ASID_INC) & ASID_MASK) ) {
if (cpu_has_vtag_icache)
flush_icache_all();
+diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
+index bfa12a4..e338ba5 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
-@@ -75,6 +75,58 @@ static struct kspd_notifications kspd_ev
+@@ -75,6 +75,58 @@ static struct kspd_notifications kspd_events;
static int kspd_events_reqd;
#endif
@@ -892,7 +912,7 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
/* grab the likely amount of memory we will need. */
#ifdef CONFIG_MIPS_VPE_LOADER_TOM
#define P_SIZE (2 * 1024 * 1024)
-@@ -267,6 +319,13 @@ static void *alloc_progmem(unsigned long
+@@ -267,6 +319,13 @@ static void *alloc_progmem(unsigned long len)
void *addr;
#ifdef CONFIG_MIPS_VPE_LOADER_TOM
@@ -940,7 +960,7 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
/*
* The sde-kit passes 'memsize' to __start in $a3, so set something
* here... Or set $a3 to zero and define DFLT_STACK_SIZE and
-@@ -832,6 +911,9 @@ static int find_vpe_symbols(struct vpe *
+@@ -832,6 +911,9 @@ static int find_vpe_symbols(struct vpe * v, Elf_Shdr * sechdrs,
if ( (v->__start == 0) || (v->shared_ptr == NULL))
return -1;
@@ -966,7 +986,7 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
if (v->__start == 0) {
printk(KERN_WARNING "VPE loader: program does not contain "
"a __start symbol\n");
-@@ -1063,6 +1154,9 @@ static int vpe_open(struct inode *inode,
+@@ -1063,6 +1154,9 @@ static int vpe_open(struct inode *inode, struct file *filp)
struct vpe_notifications *not;
struct vpe *v;
int ret;
@@ -976,7 +996,7 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
if (minor != iminor(inode)) {
/* assume only 1 device at the moment. */
-@@ -1088,7 +1182,12 @@ static int vpe_open(struct inode *inode,
+@@ -1088,7 +1182,12 @@ static int vpe_open(struct inode *inode, struct file *filp)
release_progmem(v->load_addr);
cleanup_tc(get_tc(tclimit));
}
@@ -990,7 +1010,7 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
/* this of-course trashes what was there before... */
v->pbuffer = vmalloc(P_SIZE);
if (!v->pbuffer) {
-@@ -1096,11 +1195,14 @@ static int vpe_open(struct inode *inode,
+@@ -1096,11 +1195,14 @@ static int vpe_open(struct inode *inode, struct file *filp)
return -ENOMEM;
}
v->plen = P_SIZE;
@@ -1196,3 +1216,6 @@ Subject: [PATCH 57/70] MIPS: lantiq: VPE extensions
evpe(vpflags);
emt(mtflags);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0058-MIPS-lantiq-falcon-VPE-softdog.patch b/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-falcon-VPE-softdog.patch
index a993c17..35ff8f5 100644
--- a/target/linux/lantiq/patches-3.2/0058-MIPS-lantiq-falcon-VPE-softdog.patch
+++ b/target/linux/lantiq/patches-3.2/0057-MIPS-lantiq-falcon-VPE-softdog.patch
@@ -1,7 +1,7 @@
-From 6a76c0c9a33c32464319c24ff5647f7676642c51 Mon Sep 17 00:00:00 2001
+From 7ee92edb5569c1cdc676a2635a40b53e8d9d647d Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 29 Sep 2011 21:29:14 +0200
-Subject: [PATCH 58/70] MIPS: lantiq: falcon VPE softdog
+Subject: [PATCH 57/73] MIPS: lantiq: falcon VPE softdog
---
arch/mips/include/asm/mach-lantiq/falcon/vpe.h | 44 ++++++++++
@@ -10,6 +10,9 @@ Subject: [PATCH 58/70] MIPS: lantiq: falcon VPE softdog
create mode 100644 arch/mips/include/asm/mach-lantiq/falcon/vpe.h
create mode 100644 arch/mips/lantiq/falcon/softdog_vpe.c
+diff --git a/arch/mips/include/asm/mach-lantiq/falcon/vpe.h b/arch/mips/include/asm/mach-lantiq/falcon/vpe.h
+new file mode 100644
+index 0000000..22a701b
--- /dev/null
+++ b/arch/mips/include/asm/mach-lantiq/falcon/vpe.h
@@ -0,0 +1,44 @@
@@ -57,6 +60,9 @@ Subject: [PATCH 58/70] MIPS: lantiq: falcon VPE softdog
+int32_t vpe1_sw_wdog_register_reset_handler(VPE_SW_WDOG_RESET reset_fn);
+
+#endif
+diff --git a/arch/mips/lantiq/falcon/softdog_vpe.c b/arch/mips/lantiq/falcon/softdog_vpe.c
+new file mode 100644
+index 0000000..85d22a2
--- /dev/null
+++ b/arch/mips/lantiq/falcon/softdog_vpe.c
@@ -0,0 +1,109 @@
@@ -169,3 +175,6 @@ Subject: [PATCH 58/70] MIPS: lantiq: falcon VPE softdog
+MODULE_AUTHOR("LXDB");
+MODULE_DESCRIPTION("Software Watchdog For VPE1");
+MODULE_LICENSE("GPL");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0059-MIPS-lantiq-udp-in-kernel-redirect.patch b/target/linux/lantiq/patches-3.2/0058-MIPS-lantiq-udp-in-kernel-redirect.patch
index 2e9853b..086dc3b 100644
--- a/target/linux/lantiq/patches-3.2/0059-MIPS-lantiq-udp-in-kernel-redirect.patch
+++ b/target/linux/lantiq/patches-3.2/0058-MIPS-lantiq-udp-in-kernel-redirect.patch
@@ -1,7 +1,7 @@
-From 268b631d81d5428cdf1a82b9655e9f44f64a8238 Mon Sep 17 00:00:00 2001
+From 8bf74990542ad73bc633332f716a5edc76f858a2 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 29 Sep 2011 20:29:54 +0200
-Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
+Subject: [PATCH 58/73] MIPS: lantiq: udp in-kernel redirect
---
include/linux/udp_redirect.h | 57 +++++++++++++
@@ -13,6 +13,9 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
create mode 100644 include/linux/udp_redirect.h
create mode 100644 net/ipv4/udp_redirect_symb.c
+diff --git a/include/linux/udp_redirect.h b/include/linux/udp_redirect.h
+new file mode 100644
+index 0000000..de1e64f
--- /dev/null
+++ b/include/linux/udp_redirect.h
@@ -0,0 +1,57 @@
@@ -73,6 +76,8 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
+extern int udpredirect_getfrag(void *p, char * to, int offset,
+ int fraglen, int odd, struct sk_buff *skb);
+#endif
+diff --git a/net/Kconfig b/net/Kconfig
+index a073148..d13e3fa 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -72,6 +72,12 @@ config INET
@@ -88,9 +93,11 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
if INET
source "net/ipv4/Kconfig"
source "net/ipv6/Kconfig"
+diff --git a/net/ipv4/Makefile b/net/ipv4/Makefile
+index f2dc69c..6badd72 100644
--- a/net/ipv4/Makefile
+++ b/net/ipv4/Makefile
-@@ -14,6 +14,9 @@ obj-y := route.o inetpeer.o protocol
+@@ -14,6 +14,9 @@ obj-y := route.o inetpeer.o protocol.o \
inet_fragment.o ping.o
obj-$(CONFIG_SYSCTL) += sysctl_net_ipv4.o
@@ -100,6 +107,8 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
obj-$(CONFIG_PROC_FS) += proc.o
obj-$(CONFIG_IP_MULTIPLE_TABLES) += fib_rules.o
obj-$(CONFIG_IP_MROUTE) += ipmr.o
+diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c
+index 5a65eea..cdfa0d4 100644
--- a/net/ipv4/udp.c
+++ b/net/ipv4/udp.c
@@ -108,6 +108,10 @@
@@ -113,7 +122,7 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
struct udp_table udp_table __read_mostly;
EXPORT_SYMBOL(udp_table);
-@@ -803,7 +807,7 @@ int udp_sendmsg(struct kiocb *iocb, stru
+@@ -803,7 +807,7 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
u8 tos;
int err, is_udplite = IS_UDPLITE(sk);
int corkreq = up->corkflag || msg->msg_flags&MSG_MORE;
@@ -122,7 +131,7 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
struct sk_buff *skb;
struct ip_options_data opt_copy;
-@@ -820,7 +824,13 @@ int udp_sendmsg(struct kiocb *iocb, stru
+@@ -820,7 +824,13 @@ int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg,
ipc.opt = NULL;
ipc.tx_flags = 0;
@@ -137,7 +146,7 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
fl4 = &inet->cork.fl.u.ip4;
if (up->pending) {
-@@ -1623,6 +1633,7 @@ int __udp4_lib_rcv(struct sk_buff *skb,
+@@ -1623,6 +1633,7 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
struct rtable *rt = skb_rtable(skb);
__be32 saddr, daddr;
struct net *net = dev_net(skb->dev);
@@ -145,7 +154,7 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
/*
* Validate the packet.
-@@ -1655,7 +1666,16 @@ int __udp4_lib_rcv(struct sk_buff *skb,
+@@ -1655,7 +1666,16 @@ int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable,
sk = __udp4_lib_lookup_skb(skb, uh->source, uh->dest, udptable);
if (sk != NULL) {
@@ -172,6 +181,9 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
/* ------------------------------------------------------------------------ */
#ifdef CONFIG_PROC_FS
+diff --git a/net/ipv4/udp_redirect_symb.c b/net/ipv4/udp_redirect_symb.c
+new file mode 100644
+index 0000000..5617e86
--- /dev/null
+++ b/net/ipv4/udp_redirect_symb.c
@@ -0,0 +1,186 @@
@@ -361,3 +373,6 @@ Subject: [PATCH 59/70] MIPS: lantiq: udp in-kernel redirect
+EXPORT_SYMBOL(udp_do_redirect_fn);
+EXPORT_SYMBOL(udpredirect_getfrag_fn);
+#endif /* CONFIG_IFX_UDP_REDIRECT* */
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0060-MIPS-lantiq-cache-split.patch b/target/linux/lantiq/patches-3.2/0059-MIPS-lantiq-cache-split.patch
index 94442ce..78b4e21 100644
--- a/target/linux/lantiq/patches-3.2/0060-MIPS-lantiq-cache-split.patch
+++ b/target/linux/lantiq/patches-3.2/0059-MIPS-lantiq-cache-split.patch
@@ -1,7 +1,7 @@
-From 307ba9e4d8fb0608566aacf88ab8cded5e20e005 Mon Sep 17 00:00:00 2001
+From bd865269f0a339d575ac9f0b768d1168b9865f85 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Thu, 29 Sep 2011 20:31:54 +0200
-Subject: [PATCH 60/70] MIPS: lantiq: cache split
+Subject: [PATCH 59/73] MIPS: lantiq: cache split
---
arch/mips/Kconfig | 22 ++++++
@@ -9,9 +9,11 @@ Subject: [PATCH 60/70] MIPS: lantiq: cache split
arch/mips/mm/c-r4k.c | 172 ++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 260 insertions(+), 0 deletions(-)
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 902aedb..12ee3df 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -1916,6 +1916,28 @@ config IFX_VPE_EXT
+@@ -1904,6 +1904,28 @@ config IFX_VPE_EXT
help
IFX included extensions in APRP
@@ -40,9 +42,11 @@ Subject: [PATCH 60/70] MIPS: lantiq: cache split
config PERFCTRS
bool "34K Performance counters"
depends on MIPS_MT && PROC_FS
+diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
+index e338ba5..0511d11 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
-@@ -127,6 +127,13 @@ __setup("vpe1_wdog_timeout=", wdog_timeo
+@@ -127,6 +127,13 @@ __setup("vpe1_wdog_timeout=", wdog_timeout);
EXPORT_SYMBOL(vpe1_wdog_timeout);
#endif
@@ -122,9 +126,11 @@ Subject: [PATCH 60/70] MIPS: lantiq: cache split
/* clear out any left overs from a previous program */
write_vpe_c0_status(0);
write_vpe_c0_cause(0);
+diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c
+index a79fe9a..94cb24f 100644
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
-@@ -1383,6 +1383,106 @@ static int __init setcoherentio(char *st
+@@ -1383,6 +1383,106 @@ static int __init setcoherentio(char *str)
__setup("coherentio", setcoherentio);
#endif
@@ -310,3 +316,6 @@ Subject: [PATCH 60/70] MIPS: lantiq: cache split
probe_pcache();
setup_scache();
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0061-MIPS-clean-up-clock-code.patch b/target/linux/lantiq/patches-3.2/0060-MIPS-clean-up-clock-code.patch
index af1a7c0..83e7fb7 100644
--- a/target/linux/lantiq/patches-3.2/0061-MIPS-clean-up-clock-code.patch
+++ b/target/linux/lantiq/patches-3.2/0060-MIPS-clean-up-clock-code.patch
@@ -1,7 +1,7 @@
-From d23a3c21962bcc3dc18e7916c2499cd3b26feaf0 Mon Sep 17 00:00:00 2001
+From 720f8d0381c60af85f049353464a12fbed903edb Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 20 Mar 2012 08:26:04 +0100
-Subject: [PATCH 61/70] MIPS: clean up clock code
+Subject: [PATCH 60/73] MIPS: clean up clock code
---
arch/mips/lantiq/clk.c | 11 +++
@@ -10,6 +10,8 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
arch/mips/lantiq/xway/sysctrl.c | 166 ++++++++++++++++++++++++++++++---------
4 files changed, 143 insertions(+), 39 deletions(-)
+diff --git a/arch/mips/lantiq/clk.c b/arch/mips/lantiq/clk.c
+index 84a201e..5494b6e 100644
--- a/arch/mips/lantiq/clk.c
+++ b/arch/mips/lantiq/clk.c
@@ -44,6 +44,7 @@ struct clk *clk_get_fpi(void)
@@ -20,7 +22,7 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
struct clk *clk_get_io(void)
{
-@@ -70,6 +71,16 @@ unsigned long clk_get_rate(struct clk *c
+@@ -70,6 +71,16 @@ unsigned long clk_get_rate(struct clk *clk)
}
EXPORT_SYMBOL(clk_get_rate);
@@ -37,6 +39,8 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
int clk_enable(struct clk *clk)
{
if (unlikely(!clk_good(clk)))
+diff --git a/arch/mips/lantiq/clk.h b/arch/mips/lantiq/clk.h
+index d047768..b34e675 100644
--- a/arch/mips/lantiq/clk.h
+++ b/arch/mips/lantiq/clk.h
@@ -12,6 +12,7 @@
@@ -58,9 +62,11 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
int (*enable) (struct clk *clk);
void (*disable) (struct clk *clk);
int (*activate) (struct clk *clk);
+diff --git a/arch/mips/lantiq/xway/devices.c b/arch/mips/lantiq/xway/devices.c
+index e6d45bc..5d4650d 100644
--- a/arch/mips/lantiq/xway/devices.c
+++ b/arch/mips/lantiq/xway/devices.c
-@@ -59,7 +59,7 @@ static struct resource ltq_stp_resource
+@@ -59,7 +59,7 @@ static struct resource ltq_stp_resource =
void __init ltq_register_gpio_stp(void)
{
@@ -69,6 +75,8 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
}
/* asc ports - amazon se has its own serial mapping */
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index ac7383f..9df048c 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -16,40 +16,57 @@
@@ -176,15 +184,15 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
}
static int ltq_pmu_enable(struct clk *clk)
-@@ -94,9 +111,49 @@ static int ltq_pmu_enable(struct clk *cl
+@@ -94,9 +111,49 @@ static int ltq_pmu_enable(struct clk *clk)
static void ltq_pmu_disable(struct clk *clk)
{
- ltq_pmu_w32(ltq_pmu_r32(LTQ_PMU_PWDCR) | clk->bits, LTQ_PMU_PWDCR);
+ ltq_pmu_w32(ltq_pmu_r32(PWDCR(clk->module)) | clk->bits,
+ PWDCR(clk->module));
- }
-
++}
++
+static int ltq_pci_enable(struct clk *clk)
+{
+ unsigned int ifccr = ltq_cgu_r32(CGU_IFCCR);
@@ -221,13 +229,13 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
+ ltq_cgu_w32(ltq_cgu_r32(CGU_IFCCR) | (1 << 16),
+ CGU_IFCCR);
+ ltq_cgu_w32((1 << 31) | (1 << 30), CGU_PCICR);
-+}
-+
+ }
+
+/* manage the clock gates via PMU */
static inline void clkdev_add_pmu(const char *dev, const char *con,
unsigned int module, unsigned int bits)
{
-@@ -112,6 +169,7 @@ static inline void clkdev_add_pmu(const
+@@ -112,6 +169,7 @@ static inline void clkdev_add_pmu(const char *dev, const char *con,
clkdev_add(&clk->cl);
}
@@ -235,7 +243,7 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
static inline void clkdev_add_cgu(const char *dev, const char *con,
unsigned int bits)
{
-@@ -126,6 +184,33 @@ static inline void clkdev_add_cgu(const
+@@ -126,6 +184,33 @@ static inline void clkdev_add_cgu(const char *dev, const char *con,
clkdev_add(&clk->cl);
}
@@ -306,3 +314,6 @@ Subject: [PATCH 61/70] MIPS: clean up clock code
if (ltq_is_ar9())
clkdev_add_pmu("ltq_etop", "switch", 0, PMU_SWITCH);
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0062-MIPS-cleanup-reset-code.patch b/target/linux/lantiq/patches-3.2/0061-MIPS-cleanup-reset-code.patch
index 6231b38..828acca 100644
--- a/target/linux/lantiq/patches-3.2/0062-MIPS-cleanup-reset-code.patch
+++ b/target/linux/lantiq/patches-3.2/0061-MIPS-cleanup-reset-code.patch
@@ -1,12 +1,14 @@
-From 1748dc7b4974109040d0249ac1fc322c120eb528 Mon Sep 17 00:00:00 2001
+From 5e04db198bbad2dc345262e838965332826eb37c Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 16 Mar 2012 15:49:32 +0100
-Subject: [PATCH 62/70] MIPS: cleanup reset code
+Subject: [PATCH 61/73] MIPS: cleanup reset code
---
arch/mips/lantiq/xway/reset.c | 59 ++++++++++++++++++++++++++++++++++------
1 files changed, 50 insertions(+), 9 deletions(-)
+diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c
+index ca2212a..8a5dff1 100644
--- a/arch/mips/lantiq/xway/reset.c
+++ b/arch/mips/lantiq/xway/reset.c
@@ -11,6 +11,7 @@
@@ -96,3 +98,6 @@ Subject: [PATCH 62/70] MIPS: cleanup reset code
unreachable();
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0063-MIPS-lantiq-fixes-ar9-vr9-clock.patch b/target/linux/lantiq/patches-3.2/0062-MIPS-lantiq-fixes-ar9-vr9-clock.patch
index 26b8cd6..1362446 100644
--- a/target/linux/lantiq/patches-3.2/0063-MIPS-lantiq-fixes-ar9-vr9-clock.patch
+++ b/target/linux/lantiq/patches-3.2/0062-MIPS-lantiq-fixes-ar9-vr9-clock.patch
@@ -1,7 +1,7 @@
-From 449adc45e29be18da14b23e9ccd97ba5251ffcc9 Mon Sep 17 00:00:00 2001
+From 42cfda7eaf263248257cef40b88e06b7a0666eb4 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sat, 17 Mar 2012 09:58:07 +0100
-Subject: [PATCH 63/70] MIPS: lantiq: fixes ar9/vr9 clock
+Subject: [PATCH 62/73] MIPS: lantiq: fixes ar9/vr9 clock
---
arch/mips/lantiq/clk.h | 4 +++-
@@ -9,9 +9,11 @@ Subject: [PATCH 63/70] MIPS: lantiq: fixes ar9/vr9 clock
arch/mips/lantiq/xway/sysctrl.c | 13 ++++++++-----
3 files changed, 35 insertions(+), 11 deletions(-)
+diff --git a/arch/mips/lantiq/clk.h b/arch/mips/lantiq/clk.h
+index b34e675..010dfa7 100644
--- a/arch/mips/lantiq/clk.h
+++ b/arch/mips/lantiq/clk.h
-@@ -56,8 +56,10 @@ extern unsigned long ltq_danube_cpu_hz(v
+@@ -56,8 +56,10 @@ extern unsigned long ltq_danube_cpu_hz(void);
extern unsigned long ltq_danube_fpi_hz(void);
extern unsigned long ltq_danube_io_region_clock(void);
@@ -23,6 +25,8 @@ Subject: [PATCH 63/70] MIPS: lantiq: fixes ar9/vr9 clock
-extern unsigned long ltq_vr9_io_region_clock(void);
#endif
+diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
+index 3635c9f..2bafc04 100644
--- a/arch/mips/lantiq/xway/clk.c
+++ b/arch/mips/lantiq/xway/clk.c
@@ -217,6 +217,30 @@ unsigned long ltq_danube_cpu_hz(void)
@@ -68,6 +72,8 @@ Subject: [PATCH 63/70] MIPS: lantiq: fixes ar9/vr9 clock
unsigned long ltq_vr9_fpi_bus_clock(int fpi)
{
return ltq_vr9_fpi_hz();
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index 9df048c..6771a7e 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -237,6 +237,8 @@ void __init ltq_soc_init(void)
@@ -105,3 +111,6 @@ Subject: [PATCH 63/70] MIPS: lantiq: fixes ar9/vr9 clock
+ ltq_danube_io_region_clock());
}
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0064-MIPS-lantiq-fixes-danube-clock.patch b/target/linux/lantiq/patches-3.2/0063-MIPS-lantiq-fixes-danube-clock.patch
index f43186b..95346e5 100644
--- a/target/linux/lantiq/patches-3.2/0064-MIPS-lantiq-fixes-danube-clock.patch
+++ b/target/linux/lantiq/patches-3.2/0063-MIPS-lantiq-fixes-danube-clock.patch
@@ -1,15 +1,17 @@
-From 1303ac4fbe98c7132717102223089dc10d0ab4a2 Mon Sep 17 00:00:00 2001
+From 08d0c1d1f42f6bc6d446763dafe5338b0963cf58 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Mon, 19 Mar 2012 15:53:37 +0100
-Subject: [PATCH 64/70] MIPS: lantiq: fixes danube clock
+Subject: [PATCH 63/73] MIPS: lantiq: fixes danube clock
---
arch/mips/lantiq/xway/clk.c | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
+diff --git a/arch/mips/lantiq/xway/clk.c b/arch/mips/lantiq/xway/clk.c
+index 2bafc04..5d850dc 100644
--- a/arch/mips/lantiq/xway/clk.c
+++ b/arch/mips/lantiq/xway/clk.c
-@@ -181,7 +181,7 @@ unsigned long ltq_danube_io_region_clock
+@@ -181,7 +181,7 @@ unsigned long ltq_danube_io_region_clock(void)
{
unsigned int ret = ltq_get_pll0_fosc();
@@ -18,7 +20,7 @@ Subject: [PATCH 64/70] MIPS: lantiq: fixes danube clock
default:
case 0:
return (ret + 1) / 2;
-@@ -203,6 +203,15 @@ unsigned long ltq_danube_fpi_bus_clock(i
+@@ -203,6 +203,15 @@ unsigned long ltq_danube_fpi_bus_clock(int fpi)
return ret;
}
@@ -50,3 +52,6 @@ Subject: [PATCH 64/70] MIPS: lantiq: fixes danube clock
unsigned long ltq_vr9_cpu_hz(void)
{
unsigned int cpu_sel;
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0065-MIPS-adds-dsl-clocks.patch b/target/linux/lantiq/patches-3.2/0064-MIPS-adds-dsl-clocks.patch
index 13f5b2f..bd6b972 100644
--- a/target/linux/lantiq/patches-3.2/0065-MIPS-adds-dsl-clocks.patch
+++ b/target/linux/lantiq/patches-3.2/0064-MIPS-adds-dsl-clocks.patch
@@ -1,12 +1,14 @@
-From a840d623b6a70428e8b698f0116fecc38e16e668 Mon Sep 17 00:00:00 2001
+From 76d01e1bc369026d9ec47d2c8355871c083134d2 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 20 Mar 2012 13:05:11 +0100
-Subject: [PATCH 65/70] MIPS: adds dsl clocks
+Subject: [PATCH 64/73] MIPS: adds dsl clocks
---
arch/mips/lantiq/xway/sysctrl.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index 6771a7e..3672fc6 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -41,8 +41,9 @@
@@ -20,7 +22,7 @@ Subject: [PATCH 65/70] MIPS: adds dsl clocks
#define PMU_EBU BIT(10)
#define PMU_STP BIT(11)
#define PMU_GPT BIT(12)
-@@ -147,7 +148,7 @@ static int ltq_pci_ext_enable(struct clk
+@@ -147,7 +148,7 @@ static int ltq_pci_ext_enable(struct clk *clk)
static void ltq_pci_ext_disable(struct clk *clk)
{
@@ -59,3 +61,6 @@ Subject: [PATCH 65/70] MIPS: adds dsl clocks
+ PMU_PPE_QSB | PMU_AHBS | PMU_DFE);
}
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0066-MIPS-lantiq-dont-always-register-asc0.patch b/target/linux/lantiq/patches-3.2/0065-MIPS-lantiq-dont-always-register-asc0.patch
index 8c5a739..e8c3ffe 100644
--- a/target/linux/lantiq/patches-3.2/0066-MIPS-lantiq-dont-always-register-asc0.patch
+++ b/target/linux/lantiq/patches-3.2/0065-MIPS-lantiq-dont-always-register-asc0.patch
@@ -1,15 +1,17 @@
-From ff4470f274b61cebaeb1586f2f462ff66b8041cb Mon Sep 17 00:00:00 2001
+From 75ecc8a55268df4eee6c97f8236a42c82fde44b2 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 20 Mar 2012 08:22:11 +0100
-Subject: [PATCH 66/70] MIPS: lantiq: dont always register asc0
+Subject: [PATCH 65/73] MIPS: lantiq: dont always register asc0
---
arch/mips/lantiq/xway/prom.c | 6 ++----
1 files changed, 2 insertions(+), 4 deletions(-)
+diff --git a/arch/mips/lantiq/xway/prom.c b/arch/mips/lantiq/xway/prom.c
+index e3dcbbd..f776d5a 100644
--- a/arch/mips/lantiq/xway/prom.c
+++ b/arch/mips/lantiq/xway/prom.c
-@@ -101,12 +101,10 @@ void __init ltq_soc_detect(struct ltq_so
+@@ -101,12 +101,10 @@ void __init ltq_soc_detect(struct ltq_soc_info *i)
void __init ltq_soc_setup(void)
{
@@ -24,3 +26,6 @@ Subject: [PATCH 66/70] MIPS: lantiq: dont always register asc0
ltq_register_gpio();
ltq_register_wdt();
}
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0067-MIPS-lantiq-irqs-were-not-cleared-properly-on-boot.patch b/target/linux/lantiq/patches-3.2/0066-MIPS-lantiq-irqs-were-not-cleared-properly-on-boot.patch
index a79f50c..60f35a4 100644
--- a/target/linux/lantiq/patches-3.2/0067-MIPS-lantiq-irqs-were-not-cleared-properly-on-boot.patch
+++ b/target/linux/lantiq/patches-3.2/0066-MIPS-lantiq-irqs-were-not-cleared-properly-on-boot.patch
@@ -1,12 +1,14 @@
-From 845d2430d74cf6e2326da95b9205258170b30c86 Mon Sep 17 00:00:00 2001
+From 88ac424363e7d5d0a9301bd163877f8b442cc865 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Tue, 20 Mar 2012 09:44:27 +0100
-Subject: [PATCH 67/70] MIPS: lantiq: irqs were not cleared properly on boot
+Subject: [PATCH 66/73] MIPS: lantiq: irqs were not cleared properly on boot
---
arch/mips/lantiq/irq.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
+diff --git a/arch/mips/lantiq/irq.c b/arch/mips/lantiq/irq.c
+index 770a10c..d4e70b4 100644
--- a/arch/mips/lantiq/irq.c
+++ b/arch/mips/lantiq/irq.c
@@ -327,12 +327,12 @@ void __init arch_init_irq(void)
@@ -27,3 +29,6 @@ Subject: [PATCH 67/70] MIPS: lantiq: irqs were not cleared properly on boot
mips_cpu_irq_init();
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0068-MIPS-lantiq-adds-bootsel-helper.patch b/target/linux/lantiq/patches-3.2/0067-MIPS-lantiq-adds-bootsel-helper.patch
index 6410f06..74f7210 100644
--- a/target/linux/lantiq/patches-3.2/0068-MIPS-lantiq-adds-bootsel-helper.patch
+++ b/target/linux/lantiq/patches-3.2/0067-MIPS-lantiq-adds-bootsel-helper.patch
@@ -1,13 +1,15 @@
-From 091358d0004ae2d2a28c9132e6976d46cf96fd3e Mon Sep 17 00:00:00 2001
+From 5e679bb5e0ba948e5a1aa52ab50b6b60d175348d Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Wed, 21 Mar 2012 14:17:37 +0100
-Subject: [PATCH 68/70] MIPS: lantiq: adds bootsel helper
+Subject: [PATCH 67/73] MIPS: lantiq: adds bootsel helper
---
.../mips/include/asm/mach-lantiq/xway/lantiq_soc.h | 12 ++++++++++++
arch/mips/lantiq/xway/reset.c | 12 +++++++++++-
2 files changed, 23 insertions(+), 1 deletions(-)
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+index bfdeb16..1ec8f2a 100644
--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
+++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_soc.h
@@ -144,6 +144,18 @@
@@ -29,6 +31,8 @@ Subject: [PATCH 68/70] MIPS: lantiq: adds bootsel helper
/* register access macros for EBU and CGU */
#define ltq_ebu_w32(x, y) ltq_w32((x), ltq_ebu_membase + (y))
#define ltq_ebu_r32(x) ltq_r32(ltq_ebu_membase + (x))
+diff --git a/arch/mips/lantiq/xway/reset.c b/arch/mips/lantiq/xway/reset.c
+index 8a5dff1..b8f7ffb 100644
--- a/arch/mips/lantiq/xway/reset.c
+++ b/arch/mips/lantiq/xway/reset.c
@@ -27,7 +27,11 @@
@@ -57,3 +61,6 @@ Subject: [PATCH 68/70] MIPS: lantiq: adds bootsel helper
void ltq_reset_once(unsigned int module, ulong usec)
{
ltq_rcu_w32(ltq_rcu_r32(RCU_RST_REQ) | module, RCU_RST_REQ);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0069-MIPS-lantiq-adds-USB_ARCH_HAS_HCD-to-CONFIG_LANTIQ.patch b/target/linux/lantiq/patches-3.2/0068-MIPS-lantiq-adds-USB_ARCH_HAS_HCD-to-CONFIG_LANTIQ.patch
index 344af96..9591996 100644
--- a/target/linux/lantiq/patches-3.2/0069-MIPS-lantiq-adds-USB_ARCH_HAS_HCD-to-CONFIG_LANTIQ.patch
+++ b/target/linux/lantiq/patches-3.2/0068-MIPS-lantiq-adds-USB_ARCH_HAS_HCD-to-CONFIG_LANTIQ.patch
@@ -1,12 +1,14 @@
-From 749d1baf548fda72bb1a74b7653415a63b00e8a0 Mon Sep 17 00:00:00 2001
+From a843a038cefffbad99e2fc3e95b0f72e6cd28124 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 23 Mar 2012 11:28:22 +0100
-Subject: [PATCH 69/70] MIPS: lantiq: adds USB_ARCH_HAS_HCD to CONFIG_LANTIQ
+Subject: [PATCH 68/73] MIPS: lantiq: adds USB_ARCH_HAS_HCD to CONFIG_LANTIQ
---
arch/mips/Kconfig | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
+diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
+index 12ee3df..81b22c1 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -229,6 +229,7 @@ config LANTIQ
@@ -17,3 +19,6 @@ Subject: [PATCH 69/70] MIPS: lantiq: adds USB_ARCH_HAS_HCD to CONFIG_LANTIQ
config LASAT
bool "LASAT Networks platforms"
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0069-MIPS-lantiq-fixes-bad-PMU_USB0-0-define.patch b/target/linux/lantiq/patches-3.2/0069-MIPS-lantiq-fixes-bad-PMU_USB0-0-define.patch
new file mode 100644
index 0000000..b1d8fa6
--- /dev/null
+++ b/target/linux/lantiq/patches-3.2/0069-MIPS-lantiq-fixes-bad-PMU_USB0-0-define.patch
@@ -0,0 +1,25 @@
+From 2690917f28c385dd3edf0e2b92dc6b44a1b3dd12 Mon Sep 17 00:00:00 2001
+From: John Crispin <blogic@openwrt.org>
+Date: Thu, 5 Apr 2012 21:51:05 +0200
+Subject: [PATCH 69/73] MIPS: lantiq: fixes bad PMU_USB0(0) define
+
+---
+ arch/mips/lantiq/xway/sysctrl.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index 3672fc6..5807456 100644
+--- a/arch/mips/lantiq/xway/sysctrl.c
++++ b/arch/mips/lantiq/xway/sysctrl.c
+@@ -40,7 +40,7 @@
+ #define PMU_USB0_P BIT(0)
+ #define PMU_PCI BIT(4)
+ #define PMU_DMA BIT(5)
+-#define PMU_USB0 BIT(5)
++#define PMU_USB0 BIT(6)
+ #define PMU_EPHY BIT(7) /* ase */
+ #define PMU_SPI BIT(8)
+ #define PMU_DFE BIT(9)
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0070-MIPS-lantiq-fix-dwc_otg-usb-for-ase.patch b/target/linux/lantiq/patches-3.2/0070-MIPS-lantiq-fix-dwc_otg-usb-for-ase.patch
new file mode 100644
index 0000000..04e6e56
--- /dev/null
+++ b/target/linux/lantiq/patches-3.2/0070-MIPS-lantiq-fix-dwc_otg-usb-for-ase.patch
@@ -0,0 +1,60 @@
+From 6c2374c768e0eacba197e242e8793d93846dc762 Mon Sep 17 00:00:00 2001
+From: John Crispin <blogic@openwrt.org>
+Date: Wed, 11 Apr 2012 18:43:50 +0200
+Subject: [PATCH 70/73] MIPS: lantiq: fix dwc_otg usb for ase
+
+changed irq number and pmu settings. little bit of fiddling to get the now variable
+irq into resources.
+
+Signed-off-by: Conor O'Gorman <i@conorogorman.net>
+---
+ .../mips/include/asm/mach-lantiq/xway/lantiq_irq.h | 1 +
+ drivers/usb/dwc_otg/dwc_otg_driver.c | 3 +++
+ drivers/usb/dwc_otg/dwc_otg_ifx.c | 5 ++++-
+ 3 files changed, 8 insertions(+), 1 deletions(-)
+
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+index b7f10e6..d9c892b 100644
+--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
++++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+@@ -36,6 +36,7 @@
+
+ #define LTQ_TIMER6_INT (INT_NUM_IM1_IRL0 + 23)
+ #define LTQ_USB_INT (INT_NUM_IM1_IRL0 + 22)
++#define LTQ_USB_ASE_INT (INT_NUM_IM0_IRL0 + 31)
+ #define LTQ_USB_OC_INT (INT_NUM_IM4_IRL0 + 23)
+
+ #define MIPS_CPU_TIMER_IRQ 7
+diff --git a/drivers/usb/dwc_otg/dwc_otg_driver.c b/drivers/usb/dwc_otg/dwc_otg_driver.c
+index 1b0daab..5c64ebb 100644
+--- a/drivers/usb/dwc_otg/dwc_otg_driver.c
++++ b/drivers/usb/dwc_otg/dwc_otg_driver.c
+@@ -860,6 +860,9 @@ static int __init dwc_otg_init(void)
+
+ printk(KERN_INFO "%s: version %s\n", dwc_driver_name, DWC_DRIVER_VERSION);
+
++ if (ltq_is_ase())
++ dwc_irq = LTQ_USB_ASE_INT;
++
+ // ifxmips setup
+ retval = ifx_usb_hc_init(dwc_iomem_base, dwc_irq);
+ if (retval < 0)
+diff --git a/drivers/usb/dwc_otg/dwc_otg_ifx.c b/drivers/usb/dwc_otg/dwc_otg_ifx.c
+index 0a4c209..e45da85 100644
+--- a/drivers/usb/dwc_otg/dwc_otg_ifx.c
++++ b/drivers/usb/dwc_otg/dwc_otg_ifx.c
+@@ -61,7 +61,10 @@ void dwc_otg_power_on (void)
+ // clear power
+ writel(readl(DANUBE_PMU_PWDCR) | 0x41, DANUBE_PMU_PWDCR);
+ // set clock gating
+- writel(readl(DANUBE_CGU_IFCCR) | 0x30, DANUBE_CGU_IFCCR);
++ if (ltq_is_ase())
++ writel(readl(DANUBE_CGU_IFCCR) & ~0x20, DANUBE_CGU_IFCCR);
++ else
++ writel(readl(DANUBE_CGU_IFCCR) | 0x30, DANUBE_CGU_IFCCR);
+ // set power
+ writel(readl(DANUBE_PMU_PWDCR) & ~0x1, DANUBE_PMU_PWDCR);
+ writel(readl(DANUBE_PMU_PWDCR) & ~0x40, DANUBE_PMU_PWDCR);
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0071-MIPS-lantiq-stp-fix-for-ase-add-get-clock-disabled.patch b/target/linux/lantiq/patches-3.2/0071-MIPS-lantiq-stp-fix-for-ase-add-get-clock-disabled.patch
new file mode 100644
index 0000000..7aeaa1d
--- /dev/null
+++ b/target/linux/lantiq/patches-3.2/0071-MIPS-lantiq-stp-fix-for-ase-add-get-clock-disabled.patch
@@ -0,0 +1,88 @@
+From d8e3038c520ea6c7619d3f5339c47ca0c2aa7fe3 Mon Sep 17 00:00:00 2001
+From: John Crispin <blogic@openwrt.org>
+Date: Wed, 11 Apr 2012 18:47:53 +0200
+Subject: [PATCH 71/73] MIPS: lantiq: stp, fix for ase, add get, clock
+ disabled
+
+Lantiq serial-to-parallel hardware gpio module
+Added gpio pins as used for amazon se (ase)
+Added get to enable reporting of gpio status
+Changed to use software update, as hw clock was not running on ase. Clock
+really only needed if hw flashing was implemented.
+
+Signed-off-by: Conor O'Gorman <i@conorogorman.net>
+---
+ arch/mips/lantiq/xway/gpio_stp.c | 22 +++++++++++++---------
+ 1 files changed, 13 insertions(+), 9 deletions(-)
+
+diff --git a/arch/mips/lantiq/xway/gpio_stp.c b/arch/mips/lantiq/xway/gpio_stp.c
+index 9610c10..791beeb 100644
+--- a/arch/mips/lantiq/xway/gpio_stp.c
++++ b/arch/mips/lantiq/xway/gpio_stp.c
+@@ -27,6 +27,7 @@
+ #define LTQ_STP_AR 0x10
+
+ #define LTQ_STP_CON_SWU (1 << 31)
++#define LTQ_STP_SWU_MASK (1 << 31)
+ #define LTQ_STP_2HZ 0
+ #define LTQ_STP_4HZ (1 << 23)
+ #define LTQ_STP_8HZ (2 << 23)
+@@ -60,6 +61,12 @@ static void ltq_stp_set(struct gpio_chip *chip, unsigned offset, int value)
+ else
+ ltq_stp_shadow &= ~(1 << offset);
+ ltq_stp_w32(ltq_stp_shadow, LTQ_STP_CPU0);
++ ltq_stp_w32_mask(LTQ_STP_SWU_MASK, LTQ_STP_CON_SWU, LTQ_STP_CON0);
++}
++
++static int ltq_stp_get(struct gpio_chip *chip, unsigned offset)
++{
++ return !!(ltq_stp_r32(LTQ_STP_CPU0) & (1<<offset));
+ }
+
+ static int ltq_stp_direction_output(struct gpio_chip *chip, unsigned offset,
+@@ -74,6 +81,7 @@ static struct gpio_chip ltq_stp_chip = {
+ .label = "ltq_stp",
+ .direction_output = ltq_stp_direction_output,
+ .set = ltq_stp_set,
++ .get = ltq_stp_get,
+ .base = 200,
+ .ngpio = 24,
+ .owner = THIS_MODULE,
+@@ -97,12 +105,6 @@ static int ltq_stp_hw_init(struct device *dev)
+ ltq_stp_w32_mask(0, LTQ_STP_GROUP0 | LTQ_STP_GROUP1 | LTQ_STP_GROUP2,
+ LTQ_STP_CON1);
+
+- /* stp are update periodically by the FPI bus */
+- ltq_stp_w32_mask(LTQ_STP_UPD_MASK, LTQ_STP_UPD_FPI, LTQ_STP_CON1);
+-
+- /* set stp update speed */
+- ltq_stp_w32_mask(LTQ_STP_SPEED_MASK, LTQ_STP_8HZ, LTQ_STP_CON1);
+-
+ /* tell the hardware that pin (led) 0 and 1 are controlled
+ * by the dsl arc
+ */
+@@ -118,6 +120,7 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
+ {
+ struct resource *res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+ int ret = 0;
++ int pin;
+
+ if (!res)
+ return -ENOENT;
+@@ -135,9 +138,10 @@ static int __devinit ltq_stp_probe(struct platform_device *pdev)
+ }
+
+ /* the 3 pins used to control the external stp */
+- if (ltq_gpio_request(&pdev->dev, 4, 2, 1, "stp-st") ||
+- ltq_gpio_request(&pdev->dev, 5, 2, 1, "stp-d") ||
+- ltq_gpio_request(&pdev->dev, 6, 2, 1, "stp-sh")) {
++ pin = ltq_is_ase() ? 1 : 4;
++ if (ltq_gpio_request(&pdev->dev, pin, 2, 1, "stp-st") ||
++ ltq_gpio_request(&pdev->dev, pin+1, 2, 1, "stp-d") ||
++ ltq_gpio_request(&pdev->dev, pin+2, 2, 1, "stp-sh")) {
+ dev_err(&pdev->dev, "failed to request needed gpios\n");
+ return -EBUSY;
+ }
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/0072-MIPS-lantiq-fix-spi-for-ase-update-for-clkdev-and-pl.patch b/target/linux/lantiq/patches-3.2/0072-MIPS-lantiq-fix-spi-for-ase-update-for-clkdev-and-pl.patch
new file mode 100644
index 0000000..3bf3c5f
--- /dev/null
+++ b/target/linux/lantiq/patches-3.2/0072-MIPS-lantiq-fix-spi-for-ase-update-for-clkdev-and-pl.patch
@@ -0,0 +1,197 @@
+From d1cd860adbd87c42c90db1c5658cf10ed1dbdd3e Mon Sep 17 00:00:00 2001
+From: John Crispin <blogic@openwrt.org>
+Date: Thu, 12 Apr 2012 13:25:42 +0200
+Subject: [PATCH 72/73] MIPS: lantiq: fix spi for ase, update for clkdev and
+ platform driver
+
+irqs, gpios, chipselects
+updated to use module_platform_driver()
+clkdev is a bit hacky, using ltq_spi.0, as specifying no device numbering led to
+the mtd driver not hooking up to an spi flash.
+
+Signed-off-by: Conor O'Gorman <i@conorogorman.net>
+---
+ .../mips/include/asm/mach-lantiq/xway/lantiq_irq.h | 4 ++
+ arch/mips/lantiq/xway/sysctrl.c | 2 +-
+ drivers/spi/spi-xway.c | 58 ++++++++++----------
+ 3 files changed, 35 insertions(+), 29 deletions(-)
+
+diff --git a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+index d9c892b..d86acdd 100644
+--- a/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
++++ b/arch/mips/include/asm/mach-lantiq/xway/lantiq_irq.h
+@@ -30,6 +30,10 @@
+ #define LTQ_SSC_TIR_AR9 (INT_NUM_IM0_IRL0 + 14)
+ #define LTQ_SSC_RIR_AR9 (INT_NUM_IM0_IRL0 + 15)
+ #define LTQ_SSC_EIR (INT_NUM_IM0_IRL0 + 16)
++#define LTQ_SSC_RIR_ASE (INT_NUM_IM0_IRL0 + 16)
++#define LTQ_SSC_TIR_ASE (INT_NUM_IM0_IRL0 + 17)
++#define LTQ_SSC_EIR_ASE (INT_NUM_IM0_IRL0 + 18)
++#define LTQ_SSC_FIR_ASE (INT_NUM_IM0_IRL0 + 19)
+
+ #define LTQ_MEI_DYING_GASP_INT (INT_NUM_IM1_IRL0 + 21)
+ #define LTQ_MEI_INT (INT_NUM_IM1_IRL0 + 23)
+diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
+index 5807456..de4ce8f 100644
+--- a/arch/mips/lantiq/xway/sysctrl.c
++++ b/arch/mips/lantiq/xway/sysctrl.c
+@@ -233,7 +233,7 @@ void __init ltq_soc_init(void)
+ clkdev_add_pmu("ltq_fpi", NULL, 0, PMU_FPI);
+ clkdev_add_pmu("ltq_dma", NULL, 0, PMU_DMA);
+ clkdev_add_pmu("ltq_stp", NULL, 0, PMU_STP);
+- clkdev_add_pmu("ltq_spi", NULL, 0, PMU_SPI);
++ clkdev_add_pmu("ltq_spi.0", NULL, 0, PMU_SPI);
+ clkdev_add_pmu("ltq_gptu", NULL, 0, PMU_GPT);
+ clkdev_add_pmu("ltq_ebu", NULL, 0, PMU_EBU);
+ if (!ltq_is_vr9())
+diff --git a/drivers/spi/spi-xway.c b/drivers/spi/spi-xway.c
+index 016a6d0..be5c25b 100644
+--- a/drivers/spi/spi-xway.c
++++ b/drivers/spi/spi-xway.c
+@@ -143,9 +143,9 @@
+ #define LTQ_SPI_IRNEN_ALL 0xF
+
+ /* Hard-wired GPIOs used by SPI controller */
+-#define LTQ_SPI_GPIO_DI 16
+-#define LTQ_SPI_GPIO_DO 17
+-#define LTQ_SPI_GPIO_CLK 18
++#define LTQ_SPI_GPIO_DI (ltq_is_ase()? 8 : 16)
++#define LTQ_SPI_GPIO_DO (ltq_is_ase()? 9 : 17)
++#define LTQ_SPI_GPIO_CLK (ltq_is_ase()? 10 : 18)
+
+ struct ltq_spi {
+ struct spi_bitbang bitbang;
+@@ -229,7 +229,7 @@ static void ltq_spi_hw_enable(struct ltq_spi *hw)
+ u32 clc;
+
+ /* Power-up mdule */
+- clk_enable(hw->spiclk);
++ clk_enable(hw->spiclk);
+
+ /*
+ * Set clock divider for run mode to 1 to
+@@ -245,7 +245,7 @@ static void ltq_spi_hw_disable(struct ltq_spi *hw)
+ ltq_spi_reg_write(hw, LTQ_SPI_CLC_DISS, LTQ_SPI_CLC);
+
+ /* Power-down mdule */
+- clk_disable(hw->spiclk);
++ clk_disable(hw->spiclk);
+ }
+
+ static void ltq_spi_reset_fifos(struct ltq_spi *hw)
+@@ -284,7 +284,7 @@ static inline int ltq_spi_wait_ready(struct ltq_spi *hw)
+ cond_resched();
+ } while (!time_after_eq(jiffies, timeout));
+
+- dev_err(hw->dev, "SPI wait ready timed out\n");
++ dev_err(hw->dev, "SPI wait ready timed out stat: %x\n", stat);
+
+ return -ETIMEDOUT;
+ }
+@@ -556,6 +556,12 @@ static const struct ltq_spi_cs_gpio_map ltq_spi_cs[] = {
+ { 11, 3 },
+ };
+
++static const struct ltq_spi_cs_gpio_map ltq_spi_cs_ase[] = {
++ { 7, 2 },
++ { 15, 1 },
++ { 14, 1 },
++};
++
+ static int ltq_spi_setup(struct spi_device *spi)
+ {
+ struct ltq_spi *hw = ltq_spi_to_hw(spi);
+@@ -600,8 +606,10 @@ static int ltq_spi_setup(struct spi_device *spi)
+ cstate->cs_activate = ltq_spi_gpio_cs_activate;
+ cstate->cs_deactivate = ltq_spi_gpio_cs_deactivate;
+ } else {
+- ret = ltq_gpio_request(&spi->dev, ltq_spi_cs[spi->chip_select].gpio,
+- ltq_spi_cs[spi->chip_select].mux,
++ struct ltq_spi_cs_gpio_map *cs_map =
++ ltq_is_ase() ? ltq_spi_cs_ase : ltq_spi_cs;
++ ret = ltq_gpio_request(&spi->dev, cs_map[spi->chip_select].gpio,
++ cs_map[spi->chip_select].mux,
+ 1, "spi-cs");
+ if (ret)
+ return -EBUSY;
+@@ -633,7 +641,8 @@ static void ltq_spi_cleanup(struct spi_device *spi)
+ if (cdata && cdata->gpio)
+ gpio = cdata->gpio;
+ else
+- gpio = ltq_spi_cs[spi->chip_select].gpio;
++ gpio = ltq_is_ase() ? ltq_spi_cs_ase[spi->chip_select].gpio :
++ ltq_spi_cs[spi->chip_select].gpio;
+
+ gpio_free(gpio);
+ kfree(cstate);
+@@ -868,7 +877,8 @@ static const struct ltq_spi_irq_map ltq_spi_irqs[] = {
+ { "spi_err", ltq_spi_err_irq },
+ };
+
+-static int __init ltq_spi_probe(struct platform_device *pdev)
++static int __devinit
++ltq_spi_probe(struct platform_device *pdev)
+ {
+ struct spi_master *master;
+ struct resource *r;
+@@ -910,14 +920,14 @@ static int __init ltq_spi_probe(struct platform_device *pdev)
+
+ hw->fpiclk = clk_get_fpi();
+ if (IS_ERR(hw->fpiclk)) {
+- dev_err(&pdev->dev, "clk_get\n");
++ dev_err(&pdev->dev, "fpi clk\n");
+ ret = PTR_ERR(hw->fpiclk);
+ goto err_master;
+ }
+
+ hw->spiclk = clk_get(&pdev->dev, NULL);
+ if (IS_ERR(hw->spiclk)) {
+- dev_err(&pdev->dev, "clk_get\n");
++ dev_err(&pdev->dev, "spi clk\n");
+ ret = PTR_ERR(hw->spiclk);
+ goto err_master;
+ }
+@@ -1014,7 +1024,8 @@ err:
+ return ret;
+ }
+
+-static int __exit ltq_spi_remove(struct platform_device *pdev)
++static int __devexit
++ltq_spi_remove(struct platform_device *pdev)
+ {
+ struct ltq_spi *hw = platform_get_drvdata(pdev);
+ int ret, i;
+@@ -1043,24 +1054,15 @@ static int __exit ltq_spi_remove(struct platform_device *pdev)
+ }
+
+ static struct platform_driver ltq_spi_driver = {
++ .probe = ltq_spi_probe,
++ .remove = __devexit_p(ltq_spi_remove),
+ .driver = {
+- .name = "ltq_spi",
+- .owner = THIS_MODULE,
+- },
+- .remove = __exit_p(ltq_spi_remove),
++ .name = "ltq_spi",
++ .owner = THIS_MODULE,
++ },
+ };
+
+-static int __init ltq_spi_init(void)
+-{
+- return platform_driver_probe(&ltq_spi_driver, ltq_spi_probe);
+-}
+-module_init(ltq_spi_init);
+-
+-static void __exit ltq_spi_exit(void)
+-{
+- platform_driver_unregister(&ltq_spi_driver);
+-}
+-module_exit(ltq_spi_exit);
++module_platform_driver(ltq_spi_driver);
+
+ MODULE_DESCRIPTION("Lantiq SoC SPI controller driver");
+ MODULE_AUTHOR("Daniel Schwierzeck <daniel.schwierzeck@googlemail.com>");
+--
+1.7.9.1
+
diff --git a/target/linux/lantiq/patches-3.2/201-owrt-mtd_split.patch b/target/linux/lantiq/patches-3.2/201-owrt-mtd_split.patch
index 3b40122..62cfc4e 100644
--- a/target/linux/lantiq/patches-3.2/201-owrt-mtd_split.patch
+++ b/target/linux/lantiq/patches-3.2/201-owrt-mtd_split.patch
@@ -183,6 +183,15 @@
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
+@@ -890,7 +1053,7 @@ int add_mtd_partitions(struct mtd_info *
+ struct mtd_part *slave;
+ uint64_t cur_offset = 0;
+ int i;
+-#ifdef CONFIG_MTD_ROOTFS_SPLIT
++#if defined(CONFIG_MTD_ROOTFS_SPLIT) || defined(CONFIG_MTD_UIMAGE_SPLIT)
+ int ret;
+ #endif
+
@@ -907,6 +1070,17 @@ int add_mtd_partitions(struct mtd_info *
add_mtd_device(&slave->mtd);
diff --git a/target/linux/lantiq/patches-3.2/207-devices.patch b/target/linux/lantiq/patches-3.2/207-devices.patch
index 2bc498d..f0bc99e 100644
--- a/target/linux/lantiq/patches-3.2/207-devices.patch
+++ b/target/linux/lantiq/patches-3.2/207-devices.patch
@@ -59,7 +59,7 @@
#include <asm/bootinfo.h>
#include <asm/irq.h>
-@@ -119,3 +120,84 @@ ltq_register_vrx200(struct ltq_eth_data
+@@ -119,3 +120,97 @@ ltq_register_vrx200(struct ltq_eth_data
ltq_vrx200.dev.platform_data = eth;
platform_device_register(&ltq_vrx200);
}
@@ -129,8 +129,19 @@
+ IRQ_RES(spi_err, LTQ_SSC_EIR),
+};
+
++static struct resource ltq_spi_resources_ase[] = {
++ {
++ .start = LTQ_SSC_BASE_ADDR,
++ .end = LTQ_SSC_BASE_ADDR + LTQ_SSC_SIZE - 1,
++ .flags = IORESOURCE_MEM,
++ },
++ IRQ_RES(spi_tx, LTQ_SSC_TIR_ASE),
++ IRQ_RES(spi_rx, LTQ_SSC_RIR_ASE),
++ IRQ_RES(spi_err, LTQ_SSC_EIR_ASE),
++};
++
+static struct platform_device ltq_spi = {
-+ .name = "ltq-spi",
++ .name = "ltq_spi",
+ .resource = ltq_spi_resources,
+ .num_resources = ARRAY_SIZE(ltq_spi_resources),
+};
@@ -138,8 +149,10 @@
+void __init ltq_register_spi(struct ltq_spi_platform_data *pdata,
+ struct spi_board_info const *info, unsigned n)
+{
-+ if(ltq_is_ar9())
++ if (ltq_is_ar9())
+ ltq_spi.resource = ltq_spi_resources_ar9;
++ else if (ltq_is_ase())
++ ltq_spi.resource = ltq_spi_resources_ase;
+ spi_register_board_info(info, n);
+ ltq_spi.dev.platform_data = pdata;
+ platform_device_register(&ltq_spi);