diff options
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 90b63fc72..67f580527 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 765d3c633..a97101338 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 d9c01610d..c51924f98 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 02617eef3..696377191 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 8ac9ae168..b34a1c378 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 cd55f9dfd..59353d96c 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, <q_cgu_resource) < 0) - panic("Failed to insert cgu memory\n"); -+ ltq_soc_init(); - +- - if (request_mem_region(ltq_cgu_resource.start, - resource_size(<q_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(<q_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 3799a73b2..580ce9913 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 a32817db2..4b9e85c02 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, <q_eiu_resource) < 0) + panic("Failed to insert eiu memory\n"); -+ -+ if (request_mem_region(ltq_eiu_resource.start, -+ resource_size(<q_eiu_resource), "eiu") < 0) -+ panic("Failed to request eiu memory\n"); - if (request_mem_region(ltq_eiu_resource.start, - resource_size(<q_eiu_resource), "eiu") < 0) - panic("Failed to request eiu memory\n"); -- ++ if (request_mem_region(ltq_eiu_resource.start, ++ resource_size(<q_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(<q_eiu_resource)); @@ -67,3 +68,6 @@ Signed-off-by: John Crispin <blogic@openwrt.org> irq_set_chip_and_handler(i, <q_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 5690fc68b..d191e95a7 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(<q_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 bd39eff35..5e693174f 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 79ab62c2e..5fc45e9ff 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 1eb29e6ea..998132229 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 6ef423b29..13ffbac03 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 4b5ed69ea..adecdabdb 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 192add70e..d535c3e16 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 88a4b809d..66a738732 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 5fc52939d..407a9ad95 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 b6494cfd1..3c64a4196 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 594a8b23f..cbce8cb32 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(<q_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 = <q_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 95dd0a9ad..e59244ac1 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 = <q_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 45d850857..bd7e66655 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 61c3b85b5..e7ae83d5a 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(<q_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(<q_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 ac1661072..5c3312b15 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 064aa64f5..219d4c670 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 d2709e9e4..bc69c9220 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 3a658f8a6..f14c27986 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 c8f2e990a..1edec28d7 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 93215768b..acda861de 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 e9655db6b..52bd4941a 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(<q_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 7b56046fc..c7f2928b3 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 e282b0ba9..8d737d0bb 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 944d50701..a1e61ff5b 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 = <q_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 daf33c971..590feaad1 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 284d2487c..fd51b8b4a 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 736abfed2..7f426c904 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 54bd759cc..d4ae7d21c 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 758e6a72a..895bddd20 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 33e25146d..e0d1a979b 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 e9d7239eb..4d60af50b 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(<q_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 8b3775a52..10a1bcf0e 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(<q_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 155085e81..c28f2ab31 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(<q_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 1619b0a20..01b90e486 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 394f3a625..3a0cd0f67 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(<q_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(<q_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 f17016733..d747e8c18 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 b7ddea6b7..4a0932106 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 90dfa8b56..69894d668 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 = <q_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 ecaa577c6..4feff7e7d 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 0f842c3cb..425eb4706 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 621a25fb6..f9ee4e7af 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 88348a454..b6243a3cb 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 1769c49d8..ade25bfb0 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 37d9da57f..e1a05cfab 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 0455801a0..be653781a 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 dba323da9..42a355ee4 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 1b57cf603..16159b8ec 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 4a5d8a69a..888a99158 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, <q_gpio_port[pdev->id]); return gpiochip_add(<q_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 b145c9d7c..b70027e33 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 a993c1766..35ff8f511 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 2e9853b35..086dc3bbd 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 94442ce26..78b4e2146 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 af1a7c041..83e7fb7af 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 6231b3848..828acca2e 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 26b8cd637..1362446ce 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 f43186b59..95346e576 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 13f5b2fac..bd6b9724c 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 8c5a739b9..e8c3ffe9d 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 a79f50c4f..60f35a46d 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 6410f06fe..74f72107f 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 344af9645..9591996f6 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 000000000..b1d8fa65b --- /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 000000000..04e6e56ec --- /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 000000000..7aeaa1de8 --- /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 000000000..3bf3c5feb --- /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(<q_spi_driver, ltq_spi_probe); +-} +-module_init(ltq_spi_init); +- +-static void __exit ltq_spi_exit(void) +-{ +- platform_driver_unregister(<q_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 3b40122cc..62cfc4ec9 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 2bc498d1b..f0bc99e91 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(<q_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(<q_spi); |