From: Felix Fietkau Date: Sat, 14 Mar 2009 15:52:42 +0000 (+0000) Subject: nuke obsolete kernel stuff X-Git-Tag: reboot~24229 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=16defbb2bd9478f9e5384b9722f20a694e6bae41;p=openwrt%2Fstaging%2Fxback.git nuke obsolete kernel stuff SVN-Revision: 14875 --- diff --git a/target/linux/adm5120/patches-2.6.26/001-adm5120.patch b/target/linux/adm5120/patches-2.6.26/001-adm5120.patch deleted file mode 100644 index ffebf85b97..0000000000 --- a/target/linux/adm5120/patches-2.6.26/001-adm5120.patch +++ /dev/null @@ -1,57 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -18,6 +18,22 @@ choice - prompt "System type" - default SGI_IP22 - -+config ADM5120 -+ bool "Infineon/ADMtek ADM5120 SoC based machines" -+ select CEVT_R4K -+ select CSRC_R4K -+ select SYS_HAS_CPU_MIPS32_R1 -+ select SYS_HAS_EARLY_PRINTK -+ select DMA_NONCOHERENT -+ select IRQ_CPU -+ select SYS_SUPPORTS_LITTLE_ENDIAN -+ select SYS_SUPPORTS_BIG_ENDIAN -+ select SYS_SUPPORTS_32BIT_KERNEL -+ select GENERIC_GPIO -+ select HAVE_GPIO_LIB -+ select SWAP_IO_SPACE if CPU_BIG_ENDIAN -+ select MIPS_MACHINE -+ - config MACH_ALCHEMY - bool "Alchemy processor based machines" - -@@ -687,6 +702,7 @@ config WR_PPMC - - endchoice - -+source "arch/mips/adm5120/Kconfig" - source "arch/mips/au1000/Kconfig" - source "arch/mips/basler/excite/Kconfig" - source "arch/mips/jazz/Kconfig" ---- a/arch/mips/Makefile -+++ b/arch/mips/Makefile -@@ -174,6 +174,21 @@ cflags-$(CONFIG_MACH_JAZZ) += -Iinclude/ - load-$(CONFIG_MACH_JAZZ) += 0xffffffff80080000 - - # -+# Infineon/ADMtek ADM5120 -+# -+libs-$(CONFIG_ADM5120) += arch/mips/adm5120/prom/ -+core-$(CONFIG_ADM5120) += arch/mips/adm5120/common/ -+core-$(CONFIG_ADM5120_OEM_CELLVISION) += arch/mips/adm5120/cellvision/ -+core-$(CONFIG_ADM5120_OEM_COMPEX) += arch/mips/adm5120/compex/ -+core-$(CONFIG_ADM5120_OEM_EDIMAX) += arch/mips/adm5120/edimax/ -+core-$(CONFIG_ADM5120_OEM_INFINEON) += arch/mips/adm5120/infineon/ -+core-$(CONFIG_ADM5120_OEM_MIKROTIK) += arch/mips/adm5120/mikrotik/ -+core-$(CONFIG_ADM5120_OEM_MOTOROLA) += arch/mips/adm5120/motorola/ -+core-$(CONFIG_ADM5120_OEM_ZYXEL) += arch/mips/adm5120/zyxel/ -+cflags-$(CONFIG_ADM5120) += -Iinclude/asm-mips/mach-adm5120 -+load-$(CONFIG_ADM5120) += 0xffffffff80001000 -+ -+# - # Common Alchemy Au1x00 stuff - # - core-$(CONFIG_SOC_AU1X00) += arch/mips/au1000/common/ diff --git a/target/linux/adm5120/patches-2.6.26/002-adm5120_flash.patch b/target/linux/adm5120/patches-2.6.26/002-adm5120_flash.patch deleted file mode 100644 index d7535aeaa6..0000000000 --- a/target/linux/adm5120/patches-2.6.26/002-adm5120_flash.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/drivers/mtd/maps/Kconfig -+++ b/drivers/mtd/maps/Kconfig -@@ -586,5 +586,9 @@ config MTD_PLATRAM - - This selection automatically selects the map_ram driver. - -+config MTD_ADM5120 -+ tristate "Map driver for ADM5120 based boards" -+ depends on ADM5120 -+ - endmenu - ---- a/drivers/mtd/maps/Makefile -+++ b/drivers/mtd/maps/Makefile -@@ -44,6 +44,7 @@ obj-$(CONFIG_MTD_DBOX2) += dbox2-flash. - obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o - obj-$(CONFIG_MTD_PCI) += pci.o - obj-$(CONFIG_MTD_ALCHEMY) += alchemy-flash.o -+obj-$(CONFIG_MTD_ADM5120) += adm5120-flash.o - obj-$(CONFIG_MTD_AUTCPU12) += autcpu12-nvram.o - obj-$(CONFIG_MTD_EDB7312) += edb7312.o - obj-$(CONFIG_MTD_IMPA7) += impa7.o diff --git a/target/linux/adm5120/patches-2.6.26/003-adm5120_switch.patch b/target/linux/adm5120/patches-2.6.26/003-adm5120_switch.patch deleted file mode 100644 index ac0c5e3059..0000000000 --- a/target/linux/adm5120/patches-2.6.26/003-adm5120_switch.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -613,6 +613,10 @@ config MIPS_AU1X00_ENET - If you have an Alchemy Semi AU1X00 based system - say Y. Otherwise, say N. - -+config ADM5120_ENET -+ tristate "ADM5120 Ethernet switch support" -+ depends on ADM5120 -+ - config SGI_IOC3_ETH - bool "SGI IOC3 Ethernet" - depends on PCI && SGI_IP27 ---- a/drivers/net/Makefile -+++ b/drivers/net/Makefile -@@ -186,6 +186,7 @@ obj-$(CONFIG_SC92031) += sc92031.o - # This is also a 82596 and should probably be merged - obj-$(CONFIG_LP486E) += lp486e.o - -+obj-$(CONFIG_ADM5120_ENET) += adm5120sw.o - obj-$(CONFIG_ETH16I) += eth16i.o - obj-$(CONFIG_ZORRO8390) += zorro8390.o - obj-$(CONFIG_HPLANCE) += hplance.o 7990.o diff --git a/target/linux/adm5120/patches-2.6.26/005-adm5120_usb.patch b/target/linux/adm5120/patches-2.6.26/005-adm5120_usb.patch deleted file mode 100644 index 751af5a6b7..0000000000 --- a/target/linux/adm5120/patches-2.6.26/005-adm5120_usb.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/drivers/usb/host/Kconfig -+++ b/drivers/usb/host/Kconfig -@@ -4,6 +4,10 @@ - comment "USB Host Controller Drivers" - depends on USB - -+config USB_ADM5120_HCD -+ tristate "ADM5120 HCD support (EXPERIMENTAL)" -+ depends on USB && ADM5120 && EXPERIMENTAL -+ - config USB_C67X00_HCD - tristate "Cypress C67x00 HCD support" - depends on USB ---- a/drivers/usb/host/Makefile -+++ b/drivers/usb/host/Makefile -@@ -10,6 +10,7 @@ isp1760-objs := isp1760-hcd.o isp1760-if - - obj-$(CONFIG_PCI) += pci-quirks.o - -+obj-$(CONFIG_USB_ADM5120_HCD) += adm5120-hcd.o - obj-$(CONFIG_USB_EHCI_HCD) += ehci-hcd.o - obj-$(CONFIG_USB_ISP116X_HCD) += isp116x-hcd.o - obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o ---- a/drivers/usb/Makefile -+++ b/drivers/usb/Makefile -@@ -16,6 +16,7 @@ obj-$(CONFIG_USB_UHCI_HCD) += host/ - obj-$(CONFIG_USB_SL811_HCD) += host/ - obj-$(CONFIG_USB_U132_HCD) += host/ - obj-$(CONFIG_USB_R8A66597_HCD) += host/ -+obj-$(CONFIG_USB_ADM5120_HCD) += host/ - - obj-$(CONFIG_USB_C67X00_HCD) += c67x00/ - diff --git a/target/linux/adm5120/patches-2.6.26/007-adm5120_pci.patch b/target/linux/adm5120/patches-2.6.26/007-adm5120_pci.patch deleted file mode 100644 index 3df0f06baf..0000000000 --- a/target/linux/adm5120/patches-2.6.26/007-adm5120_pci.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/arch/mips/pci/Makefile -+++ b/arch/mips/pci/Makefile -@@ -48,3 +48,4 @@ obj-$(CONFIG_TOSHIBA_RBTX4938) += fixup- - obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc30x.o - obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o - obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o -+obj-$(CONFIG_ADM5120) += pci-adm5120.o ---- a/include/linux/pci_ids.h -+++ b/include/linux/pci_ids.h -@@ -1707,6 +1707,9 @@ - #define PCI_VENDOR_ID_ESDGMBH 0x12fe - #define PCI_DEVICE_ID_ESDGMBH_CPCIASIO4 0x0111 - -+#define PCI_VENDOR_ID_ADMTEK 0x1317 -+#define PCI_DEVICE_ID_ADMTEK_ADM5120 0x5120 -+ - #define PCI_VENDOR_ID_SIIG 0x131f - #define PCI_SUBVENDOR_ID_SIIG 0x131f - #define PCI_DEVICE_ID_SIIG_1S_10x_550 0x1000 diff --git a/target/linux/adm5120/patches-2.6.26/009-adm5120_leds_switch_trigger.patch b/target/linux/adm5120/patches-2.6.26/009-adm5120_leds_switch_trigger.patch deleted file mode 100644 index 1e3385d299..0000000000 --- a/target/linux/adm5120/patches-2.6.26/009-adm5120_leds_switch_trigger.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/drivers/leds/Kconfig -+++ b/drivers/leds/Kconfig -@@ -207,4 +207,12 @@ config LEDS_TRIGGER_NETDEV - This allows LEDs to be controlled by network device activity. - If unsure, say Y. - -+config LEDS_TRIGGER_ADM5120_SWITCH -+ tristate "LED ADM5120 Switch Port Status Trigger" -+ depends on LEDS_TRIGGERS && ADM5120 -+ help -+ This allows LEDs to be controlled by the port states of -+ the ADM5120 built-in Ethernet Switch -+ If unsure, say N. -+ - endif # NEW_LEDS ---- a/drivers/leds/Makefile -+++ b/drivers/leds/Makefile -@@ -30,3 +30,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += - obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o - obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o - obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o -+obj-$(CONFIG_LEDS_TRIGGER_ADM5120_SWITCH) += ledtrig-adm5120-switch.o diff --git a/target/linux/adm5120/patches-2.6.26/101-cfi_fixup_macronix_bootloc.patch b/target/linux/adm5120/patches-2.6.26/101-cfi_fixup_macronix_bootloc.patch deleted file mode 100644 index 65b34ac875..0000000000 --- a/target/linux/adm5120/patches-2.6.26/101-cfi_fixup_macronix_bootloc.patch +++ /dev/null @@ -1,91 +0,0 @@ ---- a/drivers/mtd/chips/cfi_cmdset_0002.c -+++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -47,12 +47,19 @@ - #define MANUFACTURER_AMD 0x0001 - #define MANUFACTURER_ATMEL 0x001F - #define MANUFACTURER_SST 0x00BF -+#define MANUFACTURER_MACRONIX 0x00C2 - #define SST49LF004B 0x0060 - #define SST49LF040B 0x0050 - #define SST49LF008A 0x005a - #define AT49BV6416 0x00d6 - #define MANUFACTURER_SAMSUNG 0x00ec - -+/* Macronix */ -+#define MX29LV160B 0x2249 /* MX29LV160 Bottom-boot chip */ -+#define MX29LV160T 0x22C4 /* MX29LV160 Top-boot chip */ -+#define MX29LV320B 0x22A8 /* MX29LV320 Bottom-boot chip */ -+#define MX29LV320T 0x22A7 /* MX29LV320 Top-boot chip */ -+ - static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *); - static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); - static int cfi_amdstd_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *); -@@ -243,6 +250,41 @@ static void fixup_s29gl032n_sectors(stru - } - } - -+#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+/* -+ * Some Macronix chips has no/bad bootblock information in the CFI table -+ */ -+static void fixup_macronix_bootloc(struct mtd_info *mtd, void* param) -+{ -+ struct map_info *map = mtd->priv; -+ struct cfi_private *cfi = map->fldrv_priv; -+ struct cfi_pri_amdstd *extp = cfi->cmdset_priv; -+ __u8 t; -+ -+ switch (cfi->id) { -+ /* TODO: put affected chip ids here */ -+ case MX29LV160B: -+ case MX29LV320B: -+ t = 2; /* Bottom boot */ -+ break; -+ case MX29LV160T: -+ case MX29LV320T: -+ t = 3; /* Top boot */ -+ break; -+ default: -+ return; -+ } -+ -+ if (extp->TopBottom == t) -+ /* boot location detected by the CFI layer is correct */ -+ return; -+ -+ extp->TopBottom = t; -+ printk("%s: Macronix chip detected, id:0x%04X, boot location forced " -+ "to %s\n", map->name, cfi->id, (t == 2) ? "bottom" : "top"); -+} -+#endif /* CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC */ -+ - static struct cfi_fixup cfi_fixup_table[] = { - { CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL }, - #ifdef AMD_BOOTLOC_BUG -@@ -278,6 +320,9 @@ static struct cfi_fixup fixup_table[] = - */ - { CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip, NULL }, - { CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock, NULL }, -+#ifdef CONFIG_MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+ { MANUFACTURER_MACRONIX, CFI_ID_ANY, fixup_macronix_bootloc, NULL, }, -+#endif - { 0, 0, NULL, NULL } - }; - ---- a/drivers/mtd/chips/Kconfig -+++ b/drivers/mtd/chips/Kconfig -@@ -196,6 +196,14 @@ config MTD_CFI_AMDSTD - provides support for one of those command sets, used on chips - including the AMD Am29LV320. - -+config MTD_CFI_FIXUP_MACRONIX_BOOTLOC -+ bool "Fix boot-block location for Macronix flash chips" -+ depends on MTD_CFI_AMDSTD -+ help -+ Some Macronix flash chips have no/wrong boot-block location in the -+ CFI table, and the driver may detect the type incorrectly. Select -+ this if your board has such chip. -+ - config MTD_CFI_STAA - tristate "Support for ST (Advanced Architecture) flash chips" - depends on MTD_GEN_PROBE diff --git a/target/linux/adm5120/patches-2.6.26/102-jedec_pmc_39lvxxx_chips.patch b/target/linux/adm5120/patches-2.6.26/102-jedec_pmc_39lvxxx_chips.patch deleted file mode 100644 index e84c44fc48..0000000000 --- a/target/linux/adm5120/patches-2.6.26/102-jedec_pmc_39lvxxx_chips.patch +++ /dev/null @@ -1,68 +0,0 @@ ---- a/drivers/mtd/chips/jedec_probe.c -+++ b/drivers/mtd/chips/jedec_probe.c -@@ -121,6 +121,10 @@ - #define UPD29F064115 0x221C - - /* PMC */ -+#define PM39LV512 0x001B -+#define PM39LV010 0x001C -+#define PM39LV020 0x003D -+#define PM39LV040 0x003E - #define PM49FL002 0x006D - #define PM49FL004 0x006E - #define PM49FL008 0x006A -@@ -1173,6 +1177,54 @@ static const struct amd_flash_info jedec - ERASEINFO(0x02000,2), - ERASEINFO(0x04000,1), - } -+ }, { -+ .mfr_id = MANUFACTURER_PMC, -+ .dev_id = PM39LV512, -+ .name = "PMC Pm39LV512", -+ .devtypes = CFI_DEVICETYPE_X8, -+ .uaddr = MTD_UADDR_0x0555_0x02AA, -+ .dev_size = SIZE_64KiB, -+ .cmd_set = P_ID_AMD_STD, -+ .nr_regions = 1, -+ .regions = { -+ ERASEINFO(0x01000,16), -+ } -+ }, { -+ .mfr_id = MANUFACTURER_PMC, -+ .dev_id = PM39LV010, -+ .name = "PMC Pm39LV010", -+ .devtypes = CFI_DEVICETYPE_X8, -+ .uaddr = MTD_UADDR_0x0555_0x02AA, -+ .dev_size = SIZE_128KiB, -+ .cmd_set = P_ID_AMD_STD, -+ .nr_regions = 1, -+ .regions = { -+ ERASEINFO(0x01000,32), -+ } -+ }, { -+ .mfr_id = MANUFACTURER_PMC, -+ .dev_id = PM39LV020, -+ .name = "PMC Pm39LV020", -+ .devtypes = CFI_DEVICETYPE_X8, -+ .uaddr = MTD_UADDR_0x0555_0x02AA, -+ .dev_size = SIZE_256KiB, -+ .cmd_set = P_ID_AMD_STD, -+ .nr_regions = 1, -+ .regions = { -+ ERASEINFO(0x01000,64), -+ } -+ }, { -+ .mfr_id = MANUFACTURER_PMC, -+ .dev_id = PM39LV040, -+ .name = "PMC Pm39LV040", -+ .devtypes = CFI_DEVICETYPE_X8, -+ .uaddr = MTD_UADDR_0x0555_0x02AA, -+ .dev_size = SIZE_512KiB, -+ .cmd_set = P_ID_AMD_STD, -+ .nr_regions = 1, -+ .regions = { -+ ERASEINFO(0x01000,128), -+ } - }, { - .mfr_id = MANUFACTURER_PMC, - .dev_id = PM49FL002, diff --git a/target/linux/adm5120/patches-2.6.26/103-mtd_trxsplit.patch b/target/linux/adm5120/patches-2.6.26/103-mtd_trxsplit.patch deleted file mode 100644 index e4c86908a8..0000000000 --- a/target/linux/adm5120/patches-2.6.26/103-mtd_trxsplit.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/drivers/mtd/Kconfig -+++ b/drivers/mtd/Kconfig -@@ -57,6 +57,11 @@ config MTD_ROOTFS_SPLIT - depends on MTD_PARTITIONS - default y - -+config MTD_TRXSPLIT -+ bool "Automatically find and split TRX partitions" -+ depends on MTD_PARTITIONS -+ default n -+ - config MTD_REDBOOT_PARTS - tristate "RedBoot partition table parsing" - depends on MTD_PARTITIONS ---- a/drivers/mtd/Makefile -+++ b/drivers/mtd/Makefile -@@ -8,6 +8,7 @@ mtd-y := mtdcore.o mtdsuper.o - mtd-$(CONFIG_MTD_PARTITIONS) += mtdpart.o - - obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o -+obj-$(CONFIG_MTD_TRXSPLIT) += trxsplit.o - obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o - obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o - obj-$(CONFIG_MTD_AFS_PARTS) += afs.o diff --git a/target/linux/adm5120/patches-2.6.26/120-rb153_cf_driver.patch b/target/linux/adm5120/patches-2.6.26/120-rb153_cf_driver.patch deleted file mode 100644 index e100181849..0000000000 --- a/target/linux/adm5120/patches-2.6.26/120-rb153_cf_driver.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/ata/Makefile -+++ b/drivers/ata/Makefile -@@ -72,6 +72,7 @@ obj-$(CONFIG_PATA_BF54X) += pata_bf54x.o - obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o - obj-$(CONFIG_PATA_OF_PLATFORM) += pata_of_platform.o - obj-$(CONFIG_PATA_ICSIDE) += pata_icside.o -+obj-$(CONFIG_PATA_RB153_CF) += pata_rb153_cf.o - # Should be last but two libata driver - obj-$(CONFIG_PATA_ACPI) += pata_acpi.o - # Should be last but one libata driver ---- a/drivers/ata/Kconfig -+++ b/drivers/ata/Kconfig -@@ -566,6 +566,15 @@ config PATA_RADISYS - - If unsure, say N. - -+config PATA_RB153_CF -+ tristate "RouterBOARD 153 Compact Flash support" -+ depends on ADM5120_MACH_RB_153 -+ help -+ This option enables support for a Compact Flash connected on -+ the RouterBOARD 153. -+ -+ If unsure, say N. -+ - config PATA_RB532 - tristate "RouterBoard 532 PATA CompactFlash support" - depends on MIKROTIK_RB532 diff --git a/target/linux/adm5120/patches-2.6.26/140-cmdline_hack.patch b/target/linux/adm5120/patches-2.6.26/140-cmdline_hack.patch deleted file mode 100644 index 1ced3f62dd..0000000000 --- a/target/linux/adm5120/patches-2.6.26/140-cmdline_hack.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- a/arch/mips/kernel/head.S -+++ b/arch/mips/kernel/head.S -@@ -126,7 +126,12 @@ - /* - * Reserved space for exception handlers. - * Necessary for machines which link their kernels at KSEG0. -+ * Use as temporary storage for the kernel command line, so that it -+ * can be updated easily without having to relink the kernel. - */ -+ -+EXPORT(_image_cmdline) -+ .ascii "CMDLINE:" - .fill 0x400 - #endif - diff --git a/target/linux/adm5120/patches-2.6.26/200-amba_pl010_hacks.patch b/target/linux/adm5120/patches-2.6.26/200-amba_pl010_hacks.patch deleted file mode 100644 index 18fbc69493..0000000000 --- a/target/linux/adm5120/patches-2.6.26/200-amba_pl010_hacks.patch +++ /dev/null @@ -1,378 +0,0 @@ ---- a/drivers/serial/amba-pl010.c -+++ b/drivers/serial/amba-pl010.c -@@ -52,11 +52,10 @@ - - #include - --#define UART_NR 8 -- - #define SERIAL_AMBA_MAJOR 204 - #define SERIAL_AMBA_MINOR 16 --#define SERIAL_AMBA_NR UART_NR -+#define SERIAL_AMBA_NR CONFIG_SERIAL_AMBA_PL010_NUMPORTS -+#define SERIAL_AMBA_NAME CONFIG_SERIAL_AMBA_PL010_PORTNAME - - #define AMBA_ISR_PASS_LIMIT 256 - -@@ -82,9 +81,9 @@ static void pl010_stop_tx(struct uart_po - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr &= ~UART010_CR_TIE; -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_start_tx(struct uart_port *port) -@@ -92,9 +91,9 @@ static void pl010_start_tx(struct uart_p - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr |= UART010_CR_TIE; -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_stop_rx(struct uart_port *port) -@@ -102,9 +101,9 @@ static void pl010_stop_rx(struct uart_po - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr &= ~(UART010_CR_RIE | UART010_CR_RTIE); -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_enable_ms(struct uart_port *port) -@@ -112,9 +111,9 @@ static void pl010_enable_ms(struct uart_ - struct uart_amba_port *uap = (struct uart_amba_port *)port; - unsigned int cr; - -- cr = readb(uap->port.membase + UART010_CR); -+ cr = __raw_readl(uap->port.membase + UART010_CR); - cr |= UART010_CR_MSIE; -- writel(cr, uap->port.membase + UART010_CR); -+ __raw_writel(cr, uap->port.membase + UART010_CR); - } - - static void pl010_rx_chars(struct uart_amba_port *uap) -@@ -122,9 +121,9 @@ static void pl010_rx_chars(struct uart_a - struct tty_struct *tty = uap->port.info->tty; - unsigned int status, ch, flag, rsr, max_count = 256; - -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - while (UART_RX_DATA(status) && max_count--) { -- ch = readb(uap->port.membase + UART01x_DR); -+ ch = __raw_readl(uap->port.membase + UART01x_DR); - flag = TTY_NORMAL; - - uap->port.icount.rx++; -@@ -133,9 +132,9 @@ static void pl010_rx_chars(struct uart_a - * Note that the error handling code is - * out of the main execution path - */ -- rsr = readb(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; -+ rsr = __raw_readl(uap->port.membase + UART01x_RSR) | UART_DUMMY_RSR_RX; - if (unlikely(rsr & UART01x_RSR_ANY)) { -- writel(0, uap->port.membase + UART01x_ECR); -+ __raw_writel(0, uap->port.membase + UART01x_ECR); - - if (rsr & UART01x_RSR_BE) { - rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE); -@@ -165,7 +164,7 @@ static void pl010_rx_chars(struct uart_a - uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag); - - ignore_char: -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - } - spin_unlock(&uap->port.lock); - tty_flip_buffer_push(tty); -@@ -178,7 +177,7 @@ static void pl010_tx_chars(struct uart_a - int count; - - if (uap->port.x_char) { -- writel(uap->port.x_char, uap->port.membase + UART01x_DR); -+ __raw_writel(uap->port.x_char, uap->port.membase + UART01x_DR); - uap->port.icount.tx++; - uap->port.x_char = 0; - return; -@@ -190,7 +189,7 @@ static void pl010_tx_chars(struct uart_a - - count = uap->port.fifosize >> 1; - do { -- writel(xmit->buf[xmit->tail], uap->port.membase + UART01x_DR); -+ __raw_writel(xmit->buf[xmit->tail], uap->port.membase + UART01x_DR); - xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); - uap->port.icount.tx++; - if (uart_circ_empty(xmit)) -@@ -208,9 +207,9 @@ static void pl010_modem_status(struct ua - { - unsigned int status, delta; - -- writel(0, uap->port.membase + UART010_ICR); -+ __raw_writel(0, uap->port.membase + UART010_ICR); - -- status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+ status = __raw_readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; - - delta = status ^ uap->old_status; - uap->old_status = status; -@@ -238,7 +237,7 @@ static irqreturn_t pl010_int(int irq, vo - - spin_lock(&uap->port.lock); - -- status = readb(uap->port.membase + UART010_IIR); -+ status = __raw_readl(uap->port.membase + UART010_IIR); - if (status) { - do { - if (status & (UART010_IIR_RTIS | UART010_IIR_RIS)) -@@ -251,7 +250,7 @@ static irqreturn_t pl010_int(int irq, vo - if (pass_counter-- == 0) - break; - -- status = readb(uap->port.membase + UART010_IIR); -+ status = __raw_readl(uap->port.membase + UART010_IIR); - } while (status & (UART010_IIR_RTIS | UART010_IIR_RIS | - UART010_IIR_TIS)); - handled = 1; -@@ -265,7 +264,7 @@ static irqreturn_t pl010_int(int irq, vo - static unsigned int pl010_tx_empty(struct uart_port *port) - { - struct uart_amba_port *uap = (struct uart_amba_port *)port; -- unsigned int status = readb(uap->port.membase + UART01x_FR); -+ unsigned int status = __raw_readl(uap->port.membase + UART01x_FR); - return status & UART01x_FR_BUSY ? 0 : TIOCSER_TEMT; - } - -@@ -275,7 +274,7 @@ static unsigned int pl010_get_mctrl(stru - unsigned int result = 0; - unsigned int status; - -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - if (status & UART01x_FR_DCD) - result |= TIOCM_CAR; - if (status & UART01x_FR_DSR) -@@ -301,12 +300,12 @@ static void pl010_break_ctl(struct uart_ - unsigned int lcr_h; - - spin_lock_irqsave(&uap->port.lock, flags); -- lcr_h = readb(uap->port.membase + UART010_LCRH); -+ lcr_h = __raw_readl(uap->port.membase + UART010_LCRH); - if (break_state == -1) - lcr_h |= UART01x_LCRH_BRK; - else - lcr_h &= ~UART01x_LCRH_BRK; -- writel(lcr_h, uap->port.membase + UART010_LCRH); -+ __raw_writel(lcr_h, uap->port.membase + UART010_LCRH); - spin_unlock_irqrestore(&uap->port.lock, flags); - } - -@@ -334,12 +333,12 @@ static int pl010_startup(struct uart_por - /* - * initialise the old status of the modem signals - */ -- uap->old_status = readb(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; -+ uap->old_status = __raw_readl(uap->port.membase + UART01x_FR) & UART01x_FR_MODEM_ANY; - - /* - * Finally, enable interrupts - */ -- writel(UART01x_CR_UARTEN | UART010_CR_RIE | UART010_CR_RTIE, -+ __raw_writel(UART01x_CR_UARTEN | UART010_CR_RIE | UART010_CR_RTIE, - uap->port.membase + UART010_CR); - - return 0; -@@ -362,10 +361,10 @@ static void pl010_shutdown(struct uart_p - /* - * disable all interrupts, disable the port - */ -- writel(0, uap->port.membase + UART010_CR); -+ __raw_writel(0, uap->port.membase + UART010_CR); - - /* disable break condition and fifos */ -- writel(readb(uap->port.membase + UART010_LCRH) & -+ __raw_writel(__raw_readl(uap->port.membase + UART010_LCRH) & - ~(UART01x_LCRH_BRK | UART01x_LCRH_FEN), - uap->port.membase + UART010_LCRH); - -@@ -387,7 +386,7 @@ pl010_set_termios(struct uart_port *port - /* - * Ask the core to calculate the divisor for us. - */ -- baud = uart_get_baud_rate(port, termios, old, 0, uap->port.uartclk/16); -+ baud = uart_get_baud_rate(port, termios, old, 0, uap->port.uartclk/16); - quot = uart_get_divisor(port, baud); - - switch (termios->c_cflag & CSIZE) { -@@ -450,25 +449,25 @@ pl010_set_termios(struct uart_port *port - uap->port.ignore_status_mask |= UART_DUMMY_RSR_RX; - - /* first, disable everything */ -- old_cr = readb(uap->port.membase + UART010_CR) & ~UART010_CR_MSIE; -+ old_cr = __raw_readl(uap->port.membase + UART010_CR) & ~UART010_CR_MSIE; - - if (UART_ENABLE_MS(port, termios->c_cflag)) - old_cr |= UART010_CR_MSIE; - -- writel(0, uap->port.membase + UART010_CR); -+ __raw_writel(0, uap->port.membase + UART010_CR); - - /* Set baud rate */ - quot -= 1; -- writel((quot & 0xf00) >> 8, uap->port.membase + UART010_LCRM); -- writel(quot & 0xff, uap->port.membase + UART010_LCRL); -+ __raw_writel((quot & 0xf00) >> 8, uap->port.membase + UART010_LCRM); -+ __raw_writel(quot & 0xff, uap->port.membase + UART010_LCRL); - - /* - * ----------v----------v----------v----------v----- - * NOTE: MUST BE WRITTEN AFTER UARTLCR_M & UARTLCR_L - * ----------^----------^----------^----------^----- - */ -- writel(lcr_h, uap->port.membase + UART010_LCRH); -- writel(old_cr, uap->port.membase + UART010_CR); -+ __raw_writel(lcr_h, uap->port.membase + UART010_LCRH); -+ __raw_writel(old_cr, uap->port.membase + UART010_CR); - - spin_unlock_irqrestore(&uap->port.lock, flags); - } -@@ -540,7 +539,7 @@ static struct uart_ops amba_pl010_pops = - .verify_port = pl010_verify_port, - }; - --static struct uart_amba_port *amba_ports[UART_NR]; -+static struct uart_amba_port *amba_ports[SERIAL_AMBA_NR]; - - #ifdef CONFIG_SERIAL_AMBA_PL010_CONSOLE - -@@ -550,10 +549,10 @@ static void pl010_console_putchar(struct - unsigned int status; - - do { -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - barrier(); - } while (!UART_TX_READY(status)); -- writel(ch, uap->port.membase + UART01x_DR); -+ __raw_writel(ch, uap->port.membase + UART01x_DR); - } - - static void -@@ -567,8 +566,8 @@ pl010_console_write(struct console *co, - /* - * First save the CR then disable the interrupts - */ -- old_cr = readb(uap->port.membase + UART010_CR); -- writel(UART01x_CR_UARTEN, uap->port.membase + UART010_CR); -+ old_cr = __raw_readl(uap->port.membase + UART010_CR); -+ __raw_writel(UART01x_CR_UARTEN, uap->port.membase + UART010_CR); - - uart_console_write(&uap->port, s, count, pl010_console_putchar); - -@@ -577,10 +576,10 @@ pl010_console_write(struct console *co, - * and restore the TCR - */ - do { -- status = readb(uap->port.membase + UART01x_FR); -+ status = __raw_readl(uap->port.membase + UART01x_FR); - barrier(); - } while (status & UART01x_FR_BUSY); -- writel(old_cr, uap->port.membase + UART010_CR); -+ __raw_writel(old_cr, uap->port.membase + UART010_CR); - - clk_disable(uap->clk); - } -@@ -589,9 +588,9 @@ static void __init - pl010_console_get_options(struct uart_amba_port *uap, int *baud, - int *parity, int *bits) - { -- if (readb(uap->port.membase + UART010_CR) & UART01x_CR_UARTEN) { -+ if (__raw_readl(uap->port.membase + UART010_CR) & UART01x_CR_UARTEN) { - unsigned int lcr_h, quot; -- lcr_h = readb(uap->port.membase + UART010_LCRH); -+ lcr_h = __raw_readl(uap->port.membase + UART010_LCRH); - - *parity = 'n'; - if (lcr_h & UART01x_LCRH_PEN) { -@@ -606,8 +605,8 @@ pl010_console_get_options(struct uart_am - else - *bits = 8; - -- quot = readb(uap->port.membase + UART010_LCRL) | -- readb(uap->port.membase + UART010_LCRM) << 8; -+ quot = __raw_readl(uap->port.membase + UART010_LCRL) | -+ __raw_readl(uap->port.membase + UART010_LCRM) << 8; - *baud = uap->port.uartclk / (16 * (quot + 1)); - } - } -@@ -625,7 +624,7 @@ static int __init pl010_console_setup(st - * if so, search for the first available port that does have - * console support. - */ -- if (co->index >= UART_NR) -+ if (co->index >= SERIAL_AMBA_NR) - co->index = 0; - uap = amba_ports[co->index]; - if (!uap) -@@ -643,7 +642,7 @@ static int __init pl010_console_setup(st - - static struct uart_driver amba_reg; - static struct console amba_console = { -- .name = "ttyAM", -+ .name = SERIAL_AMBA_NAME, - .write = pl010_console_write, - .device = uart_console_device, - .setup = pl010_console_setup, -@@ -659,11 +658,11 @@ static struct console amba_console = { - - static struct uart_driver amba_reg = { - .owner = THIS_MODULE, -- .driver_name = "ttyAM", -- .dev_name = "ttyAM", -+ .driver_name = SERIAL_AMBA_NAME, -+ .dev_name = SERIAL_AMBA_NAME, - .major = SERIAL_AMBA_MAJOR, - .minor = SERIAL_AMBA_MINOR, -- .nr = UART_NR, -+ .nr = SERIAL_AMBA_NR, - .cons = AMBA_CONSOLE, - }; - ---- a/drivers/serial/Kconfig -+++ b/drivers/serial/Kconfig -@@ -287,10 +287,25 @@ config SERIAL_AMBA_PL010 - help - This selects the ARM(R) AMBA(R) PrimeCell PL010 UART. If you have - an Integrator/AP or Integrator/PP2 platform, or if you have a -- Cirrus Logic EP93xx CPU, say Y or M here. -+ Cirrus Logic EP93xx CPU or an Infineon ADM5120 SOC, say Y or M here. - - If unsure, say N. - -+config SERIAL_AMBA_PL010_NUMPORTS -+ int "Maximum number of AMBA PL010 serial ports" -+ depends on SERIAL_AMBA_PL010 -+ default "8" -+ ---help--- -+ Set this to the number of serial ports you want the AMBA PL010 driver -+ to support. -+ -+config SERIAL_AMBA_PL010_PORTNAME -+ string "Name of the AMBA PL010 serial ports" -+ depends on SERIAL_AMBA_PL010 -+ default "ttyAM" -+ ---help--- -+ ::: To be written ::: -+ - config SERIAL_AMBA_PL010_CONSOLE - bool "Support for console on AMBA serial port" - depends on SERIAL_AMBA_PL010=y diff --git a/target/linux/adm5120/patches-2.6.26/201-amba_bus_hacks.patch b/target/linux/adm5120/patches-2.6.26/201-amba_bus_hacks.patch deleted file mode 100644 index 299f216523..0000000000 --- a/target/linux/adm5120/patches-2.6.26/201-amba_bus_hacks.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/drivers/amba/bus.c -+++ b/drivers/amba/bus.c -@@ -17,6 +17,10 @@ - #include - #include - -+#ifndef NO_IRQ -+#define NO_IRQ (-1) -+#endif -+ - #define to_amba_device(d) container_of(d, struct amba_device, dev) - #define to_amba_driver(d) container_of(d, struct amba_driver, drv) - diff --git a/target/linux/adm5120/patches-2.6.26/202-pci_disable_common_quirks.patch b/target/linux/adm5120/patches-2.6.26/202-pci_disable_common_quirks.patch deleted file mode 100644 index b13a779bbf..0000000000 --- a/target/linux/adm5120/patches-2.6.26/202-pci_disable_common_quirks.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- a/drivers/pci/Kconfig -+++ b/drivers/pci/Kconfig -@@ -42,6 +42,12 @@ config PCI_DEBUG - - When in doubt, say N. - -+config PCI_DISABLE_COMMON_QUIRKS -+ bool "PCI disable common quirks" -+ depends on PCI -+ help -+ If you don't know what to do here, say N. -+ - config HT_IRQ - bool "Interrupts on hypertransport devices" - default y ---- a/drivers/pci/quirks.c -+++ b/drivers/pci/quirks.c -@@ -24,6 +24,7 @@ - #include - #include "pci.h" - -+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS - /* The Mellanox Tavor device gives false positive parity errors - * Mark this device with a broken_parity_status, to allow - * PCI scanning code to "skip" this now blacklisted device. -@@ -1495,6 +1496,7 @@ static void __devinit fixup_rev1_53c810( - } - } - DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810); -+#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ - - static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end) - { -@@ -1561,6 +1563,7 @@ void pci_fixup_device(enum pci_fixup_pas - } - EXPORT_SYMBOL(pci_fixup_device); - -+#ifndef CONFIG_PCI_DISABLE_COMMON_QUIRKS - /* Enable 1k I/O space granularity on the Intel P64H2 */ - static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev) - { -@@ -1934,3 +1937,4 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT - quirk_msi_intx_disable_bug); - - #endif /* CONFIG_PCI_MSI */ -+#endif /* !CONFIG_PCI_DISABLE_COMMON_QUIRKS */ diff --git a/target/linux/adm5120/patches-2.6.26/203-gpio_leds_brightness.patch b/target/linux/adm5120/patches-2.6.26/203-gpio_leds_brightness.patch deleted file mode 100644 index bb94fd05ea..0000000000 --- a/target/linux/adm5120/patches-2.6.26/203-gpio_leds_brightness.patch +++ /dev/null @@ -1,27 +0,0 @@ ---- a/drivers/leds/leds-gpio.c -+++ b/drivers/leds/leds-gpio.c -@@ -43,13 +43,17 @@ static void gpio_led_set(struct led_clas - container_of(led_cdev, struct gpio_led_data, cdev); - int level; - -- if (value == LED_OFF) -- level = 0; -- else -- level = 1; -- -- if (led_dat->active_low) -- level = !level; -+ switch (value) { -+ case LED_OFF: -+ level = led_dat->active_low ? 1 : 0; -+ break; -+ case LED_FULL: -+ level = led_dat->active_low ? 0 : 1; -+ break; -+ default: -+ level = value; -+ break; -+ } - - /* Setting GPIOs with I2C/etc requires a task context, and we don't - * seem to have a reliable way to know if we're already in one; so diff --git a/target/linux/adm5120/patches-2.6.26/310-adm5120_wdt.patch b/target/linux/adm5120/patches-2.6.26/310-adm5120_wdt.patch deleted file mode 100644 index f6822ecd31..0000000000 --- a/target/linux/adm5120/patches-2.6.26/310-adm5120_wdt.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- a/drivers/watchdog/Kconfig -+++ b/drivers/watchdog/Kconfig -@@ -632,6 +632,18 @@ config SBC_EPX_C3_WATCHDOG - - # MIPS Architecture - -+config ADM5120_WDT -+ tristate "Infineon ADM5120 SoC hardware watchdog" -+ depends on WATCHDOG && ADM5120 -+ help -+ This is a driver for hardware watchdog integrated in Infineon -+ ADM5120 SoC. This watchdog simply watches your kernel to make sure -+ it doesn't freeze, and if it does, it reboots your computer after a -+ certain amount of time. -+ -+ To compile this driver as a module, choose M here: the module will be -+ called adm5120_wdt. -+ - config INDYDOG - tristate "Indy/I2 Hardware Watchdog" - depends on SGI_HAS_INDYDOG ---- a/drivers/watchdog/Makefile -+++ b/drivers/watchdog/Makefile -@@ -91,6 +91,7 @@ obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc - # M68KNOMMU Architecture - - # MIPS Architecture -+obj-$(CONFIG_ADM5120_WDT) += adm5120_wdt.o - obj-$(CONFIG_INDYDOG) += indydog.o - obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o - obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o diff --git a/target/linux/ar7/config-2.6.23 b/target/linux/ar7/config-2.6.23 deleted file mode 100644 index 00c5170985..0000000000 --- a/target/linux/ar7/config-2.6.23 +++ /dev/null @@ -1,190 +0,0 @@ -CONFIG_32BIT=y -# CONFIG_64BIT is not set -CONFIG_AR7=y -CONFIG_AR7_GPIO=y -CONFIG_AR7_WDT=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -# CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_ATM_DRIVERS=y -CONFIG_BASE_SMALL=0 -CONFIG_BITREVERSE=y -CONFIG_BOOT_ELF32=y -# CONFIG_BROADCOM_PHY is not set -# CONFIG_BT is not set -CONFIG_CMDLINE="init=/etc/preinit rootfstype=squashfs,jffs2," -CONFIG_CPMAC=y -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_HAS_LLSC=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -# CONFIG_CPU_LOONGSON2 is not set -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R1=y -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -CONFIG_CPU_MIPSR1=y -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -# CONFIG_CPU_SB1 is not set -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_VR41XX is not set -# CONFIG_DM9000 is not set -CONFIG_DMA_NEED_PCI_MAP_STATE=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_FIXED_MII_100_FDX=y -# CONFIG_FIXED_MII_10_FDX is not set -CONFIG_FIXED_PHY=y -CONFIG_FS_POSIX_ACL=y -CONFIG_GENERIC_FIND_NEXT_BIT=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HID_SUPPORT=n -CONFIG_HW_HAS_PCI=y -CONFIG_HW_RANDOM=y -# CONFIG_I2C is not set -# CONFIG_IDE is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -CONFIG_KALLSYMS=y -# CONFIG_KALLSYMS_EXTRA_PASS is not set -CONFIG_LEDS_GPIO=y -CONFIG_LEDS_TRIGGER_DEFAULT_ON=y -# CONFIG_LEMOTE_FULONG is not set -# CONFIG_MACH_ALCHEMY is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_VR41XX is not set -CONFIG_MIPS=y -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_COBALT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MALTA is not set -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_MT_SMP is not set -# CONFIG_MIPS_MT_SMTC is not set -# CONFIG_MIPS_SEAD is not set -# CONFIG_MIPS_SIM is not set -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -CONFIG_MTD_AR7_PARTS=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_MTD_BLOCK2MTD is not set -CONFIG_MTD_CFI=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_STAA=y -CONFIG_MTD_CFI_UTIL=y -CONFIG_MTD_CHAR=y -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_CONCAT is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_ONENAND is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_PHRAM is not set -CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_PHYSMAP_LEN=0 -CONFIG_MTD_PHYSMAP_START=0x10000000 -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_NETDEV_1000 is not set -# CONFIG_NETDEVICES_MULTIQUEUE is not set -CONFIG_NET_ACT_POLICE=y -CONFIG_NET_SCH_FIFO=y -# CONFIG_NF_CT_PROTO_GRE is not set -# CONFIG_NF_NAT_PROTO_GRE is not set -CONFIG_NO_EXCEPT_FILL=y -# CONFIG_NO_IOPORT is not set -# CONFIG_PAGE_SIZE_16KB is not set -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_64KB is not set -# CONFIG_PAGE_SIZE_8KB is not set -# CONFIG_PCI is not set -CONFIG_PHYLIB=y -# CONFIG_PMC_MSP is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_QSEMI_PHY is not set -# CONFIG_RTC is not set -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y -# CONFIG_SCSI_WAIT_SCAN is not set -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_PTSWARM is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SMSC_PHY is not set -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SWAP_IO_SPACE=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_KGDB=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set -CONFIG_TRAD_SIGNALS=y -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_USB_ARCH_HAS_EHCI is not set -# CONFIG_USB_ARCH_HAS_HCD is not set -# CONFIG_USB_ARCH_HAS_OHCI is not set -# CONFIG_USER_NS is not set -# CONFIG_VGASTATE is not set -CONFIG_VLYNQ=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/ar7/config-2.6.24 b/target/linux/ar7/config-2.6.24 deleted file mode 100644 index edc8b2b876..0000000000 --- a/target/linux/ar7/config-2.6.24 +++ /dev/null @@ -1,198 +0,0 @@ -CONFIG_32BIT=y -# CONFIG_64BIT is not set -CONFIG_AR7=y -CONFIG_AR7_GPIO=y -CONFIG_AR7_WDT=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_ARCH_POPULATES_NODE_MAP=y -# CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_ARCH_SUPPORTS_OPROFILE=y -CONFIG_ATM_DRIVERS=y -CONFIG_BASE_SMALL=0 -# CONFIG_BCM47XX is not set -CONFIG_BITREVERSE=y -CONFIG_BOOT_ELF32=y -# CONFIG_BROADCOM_PHY is not set -# CONFIG_BT is not set -CONFIG_CEVT_R4K=y -CONFIG_CMDLINE="init=/etc/preinit rootfstype=squashfs,jffs2," -CONFIG_CPMAC=y -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_HAS_LLSC=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -# CONFIG_CPU_LOONGSON2 is not set -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R1=y -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -CONFIG_CPU_MIPSR1=y -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -# CONFIG_CPU_SB1 is not set -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_VR41XX is not set -CONFIG_CSRC_R4K=y -# CONFIG_DM9000 is not set -CONFIG_DMA_NEED_PCI_MAP_STATE=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_FIXED_PHY=y -CONFIG_FS_POSIX_ACL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_FIND_NEXT_BIT=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HW_RANDOM=y -# CONFIG_I2C is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IDE is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -CONFIG_KALLSYMS=y -# CONFIG_LEDS_ALIX is not set -CONFIG_LEDS_GPIO=y -# CONFIG_LEMOTE_FULONG is not set -# CONFIG_MACH_ALCHEMY is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_MDIO_BITBANG is not set -CONFIG_MIPS=y -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_COBALT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MALTA is not set -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_MT_SMP is not set -# CONFIG_MIPS_MT_SMTC is not set -# CONFIG_MIPS_SEAD is not set -# CONFIG_MIPS_SIM is not set -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -CONFIG_MTD_AR7_PARTS=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_MTD_BLOCK2MTD is not set -CONFIG_MTD_CFI=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_STAA=y -CONFIG_MTD_CFI_UTIL=y -CONFIG_MTD_CHAR=y -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_CONCAT is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_ONENAND is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_PHRAM is not set -CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_PHYSMAP_LEN=0 -CONFIG_MTD_PHYSMAP_START=0x10000000 -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_SLRAM is not set -CONFIG_NO_EXCEPT_FILL=y -# CONFIG_NO_IOPORT is not set -# CONFIG_PAGE_SIZE_16KB is not set -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_64KB is not set -# CONFIG_PAGE_SIZE_8KB is not set -CONFIG_PHYLIB=y -# CONFIG_PMC_MSP is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_QSEMI_PHY is not set -# CONFIG_RTC is not set -CONFIG_RTC_LIB=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y -# CONFIG_SCSI_WAIT_SCAN is not set -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_PTSWARM is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SLAB is not set -CONFIG_SLABINFO=y -CONFIG_SLUB=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_SMSC_PHY is not set -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set -CONFIG_SSB_POSSIBLE=y -CONFIG_SWAP_IO_SPACE=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_KGDB=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_TICK_ONESHOT=y -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set -CONFIG_TRAD_SIGNALS=y -# CONFIG_USB_ARCH_HAS_EHCI is not set -# CONFIG_USB_ARCH_HAS_HCD is not set -# CONFIG_USB_ARCH_HAS_OHCI is not set -# CONFIG_USER_NS is not set -# CONFIG_VGASTATE is not set -CONFIG_VLYNQ=y -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/ar7/config-2.6.25 b/target/linux/ar7/config-2.6.25 deleted file mode 100644 index f43e31aa5f..0000000000 --- a/target/linux/ar7/config-2.6.25 +++ /dev/null @@ -1,214 +0,0 @@ -CONFIG_32BIT=y -# CONFIG_64BIT is not set -CONFIG_AR7=y -CONFIG_AR7_GPIO=y -CONFIG_AR7_WDT=y -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -CONFIG_ARCH_POPULATES_NODE_MAP=y -# CONFIG_ARCH_SUPPORTS_MSI is not set -CONFIG_ARCH_SUPPORTS_OPROFILE=y -CONFIG_ARCH_SUSPEND_POSSIBLE=y -CONFIG_ATM_DRIVERS=y -CONFIG_BASE_SMALL=0 -# CONFIG_BCM47XX is not set -CONFIG_BITREVERSE=y -CONFIG_BOOT_ELF32=y -# CONFIG_BROADCOM_PHY is not set -# CONFIG_BT is not set -CONFIG_CEVT_R4K=y -CONFIG_CLASSIC_RCU=y -CONFIG_CMDLINE="init=/etc/preinit rootfstype=squashfs,jffs2," -CONFIG_CPMAC=y -# CONFIG_CPU_BIG_ENDIAN is not set -CONFIG_CPU_HAS_LLSC=y -CONFIG_CPU_HAS_PREFETCH=y -CONFIG_CPU_HAS_SYNC=y -CONFIG_CPU_LITTLE_ENDIAN=y -# CONFIG_CPU_LOONGSON2 is not set -CONFIG_CPU_MIPS32=y -CONFIG_CPU_MIPS32_R1=y -# CONFIG_CPU_MIPS32_R2 is not set -# CONFIG_CPU_MIPS64_R1 is not set -# CONFIG_CPU_MIPS64_R2 is not set -CONFIG_CPU_MIPSR1=y -# CONFIG_CPU_NEVADA is not set -# CONFIG_CPU_R10000 is not set -# CONFIG_CPU_R3000 is not set -# CONFIG_CPU_R4300 is not set -# CONFIG_CPU_R4X00 is not set -# CONFIG_CPU_R5000 is not set -# CONFIG_CPU_R5432 is not set -# CONFIG_CPU_R6000 is not set -# CONFIG_CPU_R8000 is not set -# CONFIG_CPU_RM7000 is not set -# CONFIG_CPU_RM9000 is not set -# CONFIG_CPU_SB1 is not set -CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y -CONFIG_CPU_SUPPORTS_HIGHMEM=y -# CONFIG_CPU_TX39XX is not set -# CONFIG_CPU_TX49XX is not set -# CONFIG_CPU_VR41XX is not set -# CONFIG_CRYPTO_AEAD is not set -# CONFIG_CRYPTO_AUTHENC is not set -# CONFIG_CRYPTO_GF128MUL is not set -CONFIG_CSRC_R4K=y -# CONFIG_DM9000 is not set -CONFIG_DMA_NEED_PCI_MAP_STATE=y -CONFIG_DMA_NONCOHERENT=y -CONFIG_EARLY_PRINTK=y -CONFIG_FIXED_PHY=y -CONFIG_FS_POSIX_ACL=y -CONFIG_GENERIC_CLOCKEVENTS=y -CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_GENERIC_CMOS_UPDATE=y -CONFIG_GENERIC_FIND_NEXT_BIT=y -CONFIG_GENERIC_GPIO=y -CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y -CONFIG_HAS_DMA=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HAVE_IDE=y -# CONFIG_HAVE_KPROBES is not set -# CONFIG_HAVE_KRETPROBES is not set -CONFIG_HAVE_OPROFILE=y -CONFIG_HW_RANDOM=y -# CONFIG_I2C is not set -# CONFIG_IBM_NEW_EMAC_EMAC4 is not set -# CONFIG_IBM_NEW_EMAC_RGMII is not set -# CONFIG_IBM_NEW_EMAC_TAH is not set -# CONFIG_IBM_NEW_EMAC_ZMII is not set -# CONFIG_IDE is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_IRQ_CPU=y -# CONFIG_ISDN is not set -CONFIG_KALLSYMS=y -# CONFIG_LEDS_ALIX is not set -CONFIG_LEDS_GPIO=y -# CONFIG_LEMOTE_FULONG is not set -# CONFIG_LZO_COMPRESS is not set -# CONFIG_LZO_DECOMPRESS is not set -# CONFIG_MACH_ALCHEMY is not set -# CONFIG_MACH_DECSTATION is not set -# CONFIG_MACH_JAZZ is not set -# CONFIG_MACH_VR41XX is not set -# CONFIG_MDIO_BITBANG is not set -# CONFIG_MEMSTICK is not set -CONFIG_MIPS=y -# CONFIG_MIPS_ATLAS is not set -# CONFIG_MIPS_COBALT is not set -CONFIG_MIPS_L1_CACHE_SHIFT=5 -# CONFIG_MIPS_MALTA is not set -CONFIG_MIPS_MT_DISABLED=y -# CONFIG_MIPS_MT_SMP is not set -# CONFIG_MIPS_MT_SMTC is not set -# CONFIG_MIPS_SEAD is not set -# CONFIG_MIPS_SIM is not set -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -CONFIG_MTD_AR7_PARTS=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_MTD_BLOCK2MTD is not set -CONFIG_MTD_CFI=y -# CONFIG_MTD_CFI_ADV_OPTIONS is not set -CONFIG_MTD_CFI_AMDSTD=y -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CFI_INTELEXT=y -CONFIG_MTD_CFI_STAA=y -CONFIG_MTD_CFI_UTIL=y -CONFIG_MTD_CHAR=y -# CONFIG_MTD_CMDLINE_PARTS is not set -CONFIG_MTD_COMPLEX_MAPPINGS=y -# CONFIG_MTD_CONCAT is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -CONFIG_MTD_GEN_PROBE=y -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_ONENAND is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_PHRAM is not set -CONFIG_MTD_PHYSMAP=y -CONFIG_MTD_PHYSMAP_BANKWIDTH=2 -CONFIG_MTD_PHYSMAP_LEN=0 -CONFIG_MTD_PHYSMAP_START=0x10000000 -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_SLRAM is not set -CONFIG_NO_EXCEPT_FILL=y -# CONFIG_NO_IOPORT is not set -# CONFIG_PAGE_SIZE_16KB is not set -CONFIG_PAGE_SIZE_4KB=y -# CONFIG_PAGE_SIZE_64KB is not set -# CONFIG_PAGE_SIZE_8KB is not set -CONFIG_PHYLIB=y -# CONFIG_PMC_MSP is not set -# CONFIG_PMC_YOSEMITE is not set -# CONFIG_PNX8550_JBS is not set -# CONFIG_PNX8550_STB810 is not set -# CONFIG_QSEMI_PHY is not set -# CONFIG_REALTEK_PHY is not set -# CONFIG_RTC is not set -CONFIG_RTC_LIB=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y -# CONFIG_SCSI is not set -# CONFIG_SCSI_DMA is not set -# CONFIG_SERIAL_8250_EXTENDED is not set -# CONFIG_SGI_IP22 is not set -# CONFIG_SGI_IP27 is not set -# CONFIG_SGI_IP28 is not set -# CONFIG_SGI_IP32 is not set -# CONFIG_SIBYTE_BIGSUR is not set -# CONFIG_SIBYTE_CARMEL is not set -# CONFIG_SIBYTE_CRHINE is not set -# CONFIG_SIBYTE_CRHONE is not set -# CONFIG_SIBYTE_LITTLESUR is not set -# CONFIG_SIBYTE_RHONE is not set -# CONFIG_SIBYTE_SENTOSA is not set -# CONFIG_SIBYTE_SWARM is not set -# CONFIG_SLAB is not set -CONFIG_SLABINFO=y -CONFIG_SLUB=y -# CONFIG_SLUB_DEBUG is not set -# CONFIG_SLUB_STATS is not set -# CONFIG_SMSC_PHY is not set -# CONFIG_SOFT_WATCHDOG is not set -# CONFIG_SOUND is not set -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set -CONFIG_SSB_POSSIBLE=y -CONFIG_SWAP_IO_SPACE=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_SYS_HAS_CPU_MIPS32_R1=y -CONFIG_SYS_HAS_EARLY_PRINTK=y -CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y -CONFIG_SYS_SUPPORTS_ARBIT_HZ=y -CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y -CONFIG_SYS_SUPPORTS_KGDB=y -CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y -CONFIG_TICK_ONESHOT=y -# CONFIG_TOSHIBA_JMR3927 is not set -# CONFIG_TOSHIBA_RBTX4927 is not set -# CONFIG_TOSHIBA_RBTX4938 is not set -CONFIG_TRAD_SIGNALS=y -# CONFIG_USB_SUPPORT is not set -# CONFIG_VGASTATE is not set -# CONFIG_VIDEO_DEV is not set -CONFIG_VLYNQ=y -# CONFIG_W1 is not set -CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/ar7/patches-2.6.23/100-board_support.patch b/target/linux/ar7/patches-2.6.23/100-board_support.patch deleted file mode 100644 index 681a1a9843..0000000000 --- a/target/linux/ar7/patches-2.6.23/100-board_support.patch +++ /dev/null @@ -1,94 +0,0 @@ -Index: linux-2.6.23.17/arch/mips/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/arch/mips/Kconfig -+++ linux-2.6.23.17/arch/mips/Kconfig -@@ -15,6 +15,22 @@ choice - prompt "System type" - default SGI_IP22 - -+config AR7 -+ bool "Texas Instruments AR7" -+ select BOOT_ELF32 -+ select DMA_NONCOHERENT -+ select IRQ_CPU -+ select NO_EXCEPT_FILL -+ select SWAP_IO_SPACE -+ select SYS_HAS_CPU_MIPS32_R1 -+ select SYS_HAS_EARLY_PRINTK -+ select SYS_SUPPORTS_32BIT_KERNEL -+ select SYS_SUPPORTS_KGDB -+ select SYS_SUPPORTS_LITTLE_ENDIAN -+ select SYS_SUPPORTS_BIG_ENDIAN -+ select GENERIC_GPIO -+ select GENERIC_HARDIRQS_NO__DO_IRQ -+ - config MACH_ALCHEMY - bool "Alchemy processor based machines" - -Index: linux-2.6.23.17/arch/mips/kernel/traps.c -=================================================================== ---- linux-2.6.23.17.orig/arch/mips/kernel/traps.c -+++ linux-2.6.23.17/arch/mips/kernel/traps.c -@@ -1075,10 +1075,23 @@ void *set_except_vector(int n, void *add - - exception_handlers[n] = handler; - if (n == 0 && cpu_has_divec) { -- *(volatile u32 *)(ebase + 0x200) = 0x08000000 | -- (0x03ffffff & (handler >> 2)); -- flush_icache_range(ebase + 0x200, ebase + 0x204); -- } -+ if ((handler ^ (ebase + 4)) & 0xfc000000) { -+ /* lui k0, 0x0000 */ -+ *(u32 *)(ebase + 0x200) = 0x3c1a0000 | (handler >> 16); -+ /* ori k0, 0x0000 */ -+ *(u32 *)(ebase + 0x204) = -+ 0x375a0000 | (handler & 0xffff); -+ /* jr k0 */ -+ *(u32 *)(ebase + 0x208) = 0x03400008; -+ /* nop */ -+ *(u32 *)(ebase + 0x20C) = 0x00000000; -+ flush_icache_range(ebase + 0x200, ebase + 0x210); -+ } else { -+ *(volatile u32 *)(ebase + 0x200) = -+ 0x08000000 | (0x03ffffff & (handler >> 2)); -+ flush_icache_range(ebase + 0x200, ebase + 0x204); -+ } -+ } - return (void *)old_handler; - } - -Index: linux-2.6.23.17/arch/mips/Makefile -=================================================================== ---- linux-2.6.23.17.orig/arch/mips/Makefile -+++ linux-2.6.23.17/arch/mips/Makefile -@@ -161,6 +161,13 @@ libs-$(CONFIG_SIBYTE_CFE) += arch/mips/s - # - - # -+# Texas Instruments AR7 -+# -+core-$(CONFIG_AR7) += arch/mips/ar7/ -+cflags-$(CONFIG_AR7) += -Iinclude/asm-mips/ar7 -+load-$(CONFIG_AR7) += 0xffffffff94100000 -+ -+# - # Acer PICA 61, Mips Magnum 4000 and Olivetti M700. - # - core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/ -Index: linux-2.6.23.17/include/asm-mips/page.h -=================================================================== ---- linux-2.6.23.17.orig/include/asm-mips/page.h -+++ linux-2.6.23.17/include/asm-mips/page.h -@@ -184,8 +184,10 @@ typedef struct { unsigned long pgprot; } - #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ - VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) - --#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) --#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) -+#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE + \ -+ PHYS_OFFSET) -+#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET - \ -+ PHYS_OFFSET) - - #include - #include diff --git a/target/linux/ar7/patches-2.6.23/110-flash.patch b/target/linux/ar7/patches-2.6.23/110-flash.patch deleted file mode 100644 index fa6010814c..0000000000 --- a/target/linux/ar7/patches-2.6.23/110-flash.patch +++ /dev/null @@ -1,43 +0,0 @@ -Index: linux-2.6.23.17/drivers/mtd/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/Kconfig -+++ linux-2.6.23.17/drivers/mtd/Kconfig -@@ -160,6 +160,12 @@ config MTD_AFS_PARTS - for your particular device. It won't happen automatically. The - 'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example. - -+config MTD_AR7_PARTS -+ tristate "TI AR7 partitioning support" -+ depends on MTD_PARTITIONS -+ ---help--- -+ TI AR7 partitioning support -+ - comment "User Modules And Translation Layers" - - config MTD_CHAR -Index: linux-2.6.23.17/drivers/mtd/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/Makefile -+++ linux-2.6.23.17/drivers/mtd/Makefile -@@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o - obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o - obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o - obj-$(CONFIG_MTD_AFS_PARTS) += afs.o -+obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o - - # 'Users' - code which presents functionality to userspace. - obj-$(CONFIG_MTD_CHAR) += mtdchar.o -Index: linux-2.6.23.17/drivers/mtd/maps/physmap.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/mtd/maps/physmap.c -+++ linux-2.6.23.17/drivers/mtd/maps/physmap.c -@@ -74,7 +74,8 @@ static int physmap_flash_remove(struct p - - static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", "map_rom", NULL }; - #ifdef CONFIG_MTD_PARTITIONS --static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL }; -+static const char *part_probe_types[] = {"cmdlinepart", "RedBoot", -+ "ar7part", NULL }; - #endif - - static int physmap_flash_probe(struct platform_device *dev) diff --git a/target/linux/ar7/patches-2.6.23/120-gpio_chrdev.patch b/target/linux/ar7/patches-2.6.23/120-gpio_chrdev.patch deleted file mode 100644 index a61f3e0dbf..0000000000 --- a/target/linux/ar7/patches-2.6.23/120-gpio_chrdev.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: linux-2.6.23.17/drivers/char/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/char/Kconfig -+++ linux-2.6.23.17/drivers/char/Kconfig -@@ -928,6 +928,15 @@ config MWAVE - To compile this driver as a module, choose M here: the - module will be called mwave. - -+config AR7_GPIO -+ tristate "TI AR7 GPIO Support" -+ depends on AR7 -+ help -+ Give userspace access to the GPIO pins on the Texas Instruments AR7 -+ processors. -+ -+ If compiled as a module, it will be called ar7_gpio. -+ - config SCx200_GPIO - tristate "NatSemi SCx200 GPIO Support" - depends on SCx200 -Index: linux-2.6.23.17/drivers/char/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/char/Makefile -+++ linux-2.6.23.17/drivers/char/Makefile -@@ -89,6 +89,7 @@ obj-$(CONFIG_COBALT_LCD) += lcd.o - obj-$(CONFIG_PPDEV) += ppdev.o - obj-$(CONFIG_NWBUTTON) += nwbutton.o - obj-$(CONFIG_NWFLASH) += nwflash.o -+obj-$(CONFIG_AR7_GPIO) += ar7_gpio.o - obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o - obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o - obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o diff --git a/target/linux/ar7/patches-2.6.23/130-vlynq.patch b/target/linux/ar7/patches-2.6.23/130-vlynq.patch deleted file mode 100644 index 8f7e94b344..0000000000 --- a/target/linux/ar7/patches-2.6.23/130-vlynq.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: linux-2.6.23.17/drivers/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/Kconfig -+++ linux-2.6.23.17/drivers/Kconfig -@@ -93,4 +93,6 @@ source "drivers/kvm/Kconfig" - source "drivers/uio/Kconfig" - - source "drivers/lguest/Kconfig" -+ -+source "drivers/vlynq/Kconfig" - endmenu -Index: linux-2.6.23.17/drivers/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/Makefile -+++ linux-2.6.23.17/drivers/Makefile -@@ -89,4 +89,5 @@ obj-$(CONFIG_DMA_ENGINE) += dma/ - obj-$(CONFIG_HID) += hid/ - obj-$(CONFIG_PPC_PS3) += ps3/ - obj-$(CONFIG_OF) += of/ -+obj-$(CONFIG_VLYNQ) += vlynq/ - obj-$(CONFIG_GPIO_DEVICE) += gpio/ diff --git a/target/linux/ar7/patches-2.6.23/140-watchdog.patch b/target/linux/ar7/patches-2.6.23/140-watchdog.patch deleted file mode 100644 index 09a8ad5b9b..0000000000 --- a/target/linux/ar7/patches-2.6.23/140-watchdog.patch +++ /dev/null @@ -1,29 +0,0 @@ -Index: linux-2.6.23.17/drivers/char/watchdog/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/char/watchdog/Kconfig -+++ linux-2.6.23.17/drivers/char/watchdog/Kconfig -@@ -583,6 +583,12 @@ config SBC_EPX_C3_WATCHDOG - - # MIPS Architecture - -+config AR7_WDT -+ tristate "TI AR7 Watchdog Timer" -+ depends on WATCHDOG && AR7 -+ help -+ Hardware driver for the TI AR7 Watchdog Timer. -+ - config INDYDOG - tristate "Indy/I2 Hardware Watchdog" - depends on SGI_IP22 -Index: linux-2.6.23.17/drivers/char/watchdog/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/char/watchdog/Makefile -+++ linux-2.6.23.17/drivers/char/watchdog/Makefile -@@ -87,6 +87,7 @@ obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc - # M68KNOMMU Architecture - - # MIPS Architecture -+obj-$(CONFIG_AR7_WDT) += ar7_wdt.o - obj-$(CONFIG_INDYDOG) += indydog.o - obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o - obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o diff --git a/target/linux/ar7/patches-2.6.23/200-ethernet_driver.patch b/target/linux/ar7/patches-2.6.23/200-ethernet_driver.patch deleted file mode 100644 index 0f13204a76..0000000000 --- a/target/linux/ar7/patches-2.6.23/200-ethernet_driver.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: linux-2.6.23.17/drivers/net/Kconfig -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/Kconfig -+++ linux-2.6.23.17/drivers/net/Kconfig -@@ -1965,6 +1965,15 @@ config SC92031 - To compile this driver as a module, choose M here: the module - will be called sc92031. This is recommended. - -+config CPMAC -+ tristate "TI AR7 CPMAC Ethernet support (EXPERIMENTAL)" -+ depends on NET_ETHERNET && EXPERIMENTAL && AR7 -+ select PHYLIB -+ select FIXED_PHY -+ select FIXED_MII_100_FDX -+ help -+ TI AR7 CPMAC Ethernet support -+ - config NET_POCKET - bool "Pocket and portable adapters" - depends on PARPORT -Index: linux-2.6.23.17/drivers/net/Makefile -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/Makefile -+++ linux-2.6.23.17/drivers/net/Makefile -@@ -156,6 +156,7 @@ obj-$(CONFIG_8139CP) += 8139cp.o - obj-$(CONFIG_8139TOO) += 8139too.o - obj-$(CONFIG_ZNET) += znet.o - obj-$(CONFIG_LAN_SAA9730) += saa9730.o -+obj-$(CONFIG_CPMAC) += cpmac.o - obj-$(CONFIG_DEPCA) += depca.o - obj-$(CONFIG_EWRK3) += ewrk3.o - obj-$(CONFIG_ATP) += atp.o diff --git a/target/linux/ar7/patches-2.6.23/210-phy_fixed.patch b/target/linux/ar7/patches-2.6.23/210-phy_fixed.patch deleted file mode 100644 index 24040786c0..0000000000 --- a/target/linux/ar7/patches-2.6.23/210-phy_fixed.patch +++ /dev/null @@ -1,93 +0,0 @@ -Index: linux-2.6.23.17/drivers/net/phy/fixed.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/net/phy/fixed.c -+++ linux-2.6.23.17/drivers/net/phy/fixed.c -@@ -189,6 +189,19 @@ static struct phy_driver fixed_mdio_driv - .driver = { .owner = THIS_MODULE,}, - }; - -+static void fixed_mdio_release (struct device * dev) -+{ -+ struct phy_device *phydev = container_of(dev, struct phy_device, dev); -+ struct mii_bus *bus = phydev->bus; -+ struct fixed_info *fixed = bus->priv; -+ -+ kfree(phydev); -+ kfree(bus->dev); -+ kfree(bus); -+ kfree(fixed->regs); -+ kfree(fixed); -+} -+ - /*----------------------------------------------------------------------------- - * This func is used to create all the necessary stuff, bind - * the fixed phy driver and register all it on the mdio_bus_type. -@@ -224,6 +237,12 @@ static int fixed_mdio_register_device(in - } - - fixed->regs = kzalloc(MII_REGS_NUM*sizeof(int), GFP_KERNEL); -+ if (NULL == fixed->regs) { -+ kfree(dev); -+ kfree(new_bus); -+ kfree(fixed); -+ return -ENOMEM; -+ } - fixed->regs_num = MII_REGS_NUM; - fixed->phy_status.speed = speed; - fixed->phy_status.duplex = duplex; -@@ -252,8 +271,11 @@ static int fixed_mdio_register_device(in - fixed->phydev = phydev; - - if(NULL == phydev) { -- err = -ENOMEM; -- goto device_create_fail; -+ kfree(dev); -+ kfree(new_bus); -+ kfree(fixed->regs); -+ kfree(fixed); -+ return -ENOMEM; - } - - phydev->irq = PHY_IGNORE_INTERRUPT; -@@ -265,8 +287,33 @@ static int fixed_mdio_register_device(in - else - snprintf(phydev->dev.bus_id, BUS_ID_SIZE, - "fixed@%d:%d", speed, duplex); -+ - phydev->bus = new_bus; - -+#if 1 -+ phydev->dev.driver = &fixed_mdio_driver.driver; -+ phydev->dev.release = fixed_mdio_release; -+ -+ err = phydev->dev.driver->probe(&phydev->dev); -+ if(err < 0) { -+ printk(KERN_ERR "Phy %s: problems with fixed driver\n", -+ phydev->dev.bus_id); -+ kfree(phydev); -+ kfree(dev); -+ kfree(new_bus); -+ kfree(fixed->regs); -+ kfree(fixed); -+ return err; -+ } -+ -+ err = device_register(&phydev->dev); -+ if(err) { -+ printk(KERN_ERR "Phy %s failed to register\n", -+ phydev->dev.bus_id); -+ } -+ -+ return 0; -+#else - err = device_register(&phydev->dev); - if(err) { - printk(KERN_ERR "Phy %s failed to register\n", -@@ -303,6 +350,7 @@ device_create_fail: - kfree(fixed); - - return err; -+#endif - } - #endif - diff --git a/target/linux/ar7/patches-2.6.23/500-serial_kludge.patch b/target/linux/ar7/patches-2.6.23/500-serial_kludge.patch deleted file mode 100644 index f695d2a8e4..0000000000 --- a/target/linux/ar7/patches-2.6.23/500-serial_kludge.patch +++ /dev/null @@ -1,57 +0,0 @@ -Index: linux-2.6.23.17/drivers/serial/8250.c -=================================================================== ---- linux-2.6.23.17.orig/drivers/serial/8250.c -+++ linux-2.6.23.17/drivers/serial/8250.c -@@ -267,6 +267,13 @@ static const struct serial8250_config ua - .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, - .flags = UART_CAP_FIFO, - }, -+ [PORT_AR7] = { -+ .name = "TI-AR7", -+ .fifo_size = 16, -+ .tx_loadsz = 16, -+ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00, -+ .flags = UART_CAP_FIFO | UART_CAP_AFE, -+ }, - }; - - #if defined (CONFIG_SERIAL_8250_AU1X00) -@@ -2455,7 +2462,11 @@ static void serial8250_console_putchar(s - { - struct uart_8250_port *up = (struct uart_8250_port *)port; - -+#ifdef CONFIG_AR7 -+ wait_for_xmitr(up, BOTH_EMPTY); -+#else - wait_for_xmitr(up, UART_LSR_THRE); -+#endif - serial_out(up, UART_TX, ch); - } - -Index: linux-2.6.23.17/include/linux/serial_core.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/serial_core.h -+++ linux-2.6.23.17/include/linux/serial_core.h -@@ -40,6 +40,7 @@ - #define PORT_NS16550A 14 - #define PORT_XSCALE 15 - #define PORT_RM9000 16 /* PMC-Sierra RM9xxx internal UART */ -+#define PORT_AR7 16 - #define PORT_MAX_8250 16 /* max port ID */ - - /* -Index: linux-2.6.23.17/include/linux/serialP.h -=================================================================== ---- linux-2.6.23.17.orig/include/linux/serialP.h -+++ linux-2.6.23.17/include/linux/serialP.h -@@ -135,6 +135,10 @@ struct rs_multiport_struct { - * the interrupt line _up_ instead of down, so if we register the IRQ - * while the UART is in that state, we die in an IRQ storm. */ - #define ALPHA_KLUDGE_MCR (UART_MCR_OUT2) -+#elif defined(CONFIG_AR7) -+/* This is how it is set up by bootloader... */ -+#define ALPHA_KLUDGE_MCR (UART_MCR_OUT2 | UART_MCR_OUT1 \ -+ | UART_MCR_RTS | UART_MCR_DTR) - #else - #define ALPHA_KLUDGE_MCR 0 - #endif diff --git a/target/linux/ar7/patches-2.6.24/100-board_support.patch b/target/linux/ar7/patches-2.6.24/100-board_support.patch deleted file mode 100644 index 744371eec5..0000000000 --- a/target/linux/ar7/patches-2.6.24/100-board_support.patch +++ /dev/null @@ -1,94 +0,0 @@ -Index: linux-2.6.24.7/arch/mips/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/arch/mips/Kconfig -+++ linux-2.6.24.7/arch/mips/Kconfig -@@ -16,6 +16,24 @@ choice - prompt "System type" - default SGI_IP22 - -+config AR7 -+ bool "Texas Instruments AR7" -+ select BOOT_ELF32 -+ select DMA_NONCOHERENT -+ select CEVT_R4K -+ select CSRC_R4K -+ select IRQ_CPU -+ select NO_EXCEPT_FILL -+ select SWAP_IO_SPACE -+ select SYS_HAS_CPU_MIPS32_R1 -+ select SYS_HAS_EARLY_PRINTK -+ select SYS_SUPPORTS_32BIT_KERNEL -+ select SYS_SUPPORTS_KGDB -+ select SYS_SUPPORTS_LITTLE_ENDIAN -+ select SYS_SUPPORTS_BIG_ENDIAN -+ select GENERIC_GPIO -+ select GENERIC_HARDIRQS_NO__DO_IRQ -+ - config MACH_ALCHEMY - bool "Alchemy processor based machines" - -Index: linux-2.6.24.7/arch/mips/kernel/traps.c -=================================================================== ---- linux-2.6.24.7.orig/arch/mips/kernel/traps.c -+++ linux-2.6.24.7/arch/mips/kernel/traps.c -@@ -1093,9 +1093,22 @@ void *set_except_vector(int n, void *add - - exception_handlers[n] = handler; - if (n == 0 && cpu_has_divec) { -- *(u32 *)(ebase + 0x200) = 0x08000000 | -- (0x03ffffff & (handler >> 2)); -- flush_icache_range(ebase + 0x200, ebase + 0x204); -+ if ((handler ^ (ebase + 4)) & 0xfc000000) { -+ /* lui k0, 0x0000 */ -+ *(u32 *)(ebase + 0x200) = 0x3c1a0000 | (handler >> 16); -+ /* ori k0, 0x0000 */ -+ *(u32 *)(ebase + 0x204) = -+ 0x375a0000 | (handler & 0xffff); -+ /* jr k0 */ -+ *(u32 *)(ebase + 0x208) = 0x03400008; -+ /* nop */ -+ *(u32 *)(ebase + 0x20C) = 0x00000000; -+ flush_icache_range(ebase + 0x200, ebase + 0x210); -+ } else { -+ *(u32 *)(ebase + 0x200) = -+ 0x08000000 | (0x03ffffff & (handler >> 2)); -+ flush_icache_range(ebase + 0x200, ebase + 0x204); -+ } - } - return (void *)old_handler; - } -Index: linux-2.6.24.7/arch/mips/Makefile -=================================================================== ---- linux-2.6.24.7.orig/arch/mips/Makefile -+++ linux-2.6.24.7/arch/mips/Makefile -@@ -159,6 +159,13 @@ libs-$(CONFIG_SIBYTE_CFE) += arch/mips/s - # - - # -+# Texas Instruments AR7 -+# -+core-$(CONFIG_AR7) += arch/mips/ar7/ -+cflags-$(CONFIG_AR7) += -Iinclude/asm-mips/ar7 -+load-$(CONFIG_AR7) += 0xffffffff94100000 -+ -+# - # Acer PICA 61, Mips Magnum 4000 and Olivetti M700. - # - core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/ -Index: linux-2.6.24.7/include/asm-mips/page.h -=================================================================== ---- linux-2.6.24.7.orig/include/asm-mips/page.h -+++ linux-2.6.24.7/include/asm-mips/page.h -@@ -184,8 +184,10 @@ typedef struct { unsigned long pgprot; } - #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ - VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) - --#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) --#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) -+#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE + \ -+ PHYS_OFFSET) -+#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET - \ -+ PHYS_OFFSET) - - #include - #include diff --git a/target/linux/ar7/patches-2.6.24/110-flash.patch b/target/linux/ar7/patches-2.6.24/110-flash.patch deleted file mode 100644 index 7a313681d9..0000000000 --- a/target/linux/ar7/patches-2.6.24/110-flash.patch +++ /dev/null @@ -1,43 +0,0 @@ -Index: linux-2.6.24.7/drivers/mtd/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/mtd/Kconfig -+++ linux-2.6.24.7/drivers/mtd/Kconfig -@@ -160,6 +160,12 @@ config MTD_AFS_PARTS - for your particular device. It won't happen automatically. The - 'armflash' map driver (CONFIG_MTD_ARMFLASH) does this, for example. - -+config MTD_AR7_PARTS -+ tristate "TI AR7 partitioning support" -+ depends on MTD_PARTITIONS -+ ---help--- -+ TI AR7 partitioning support -+ - comment "User Modules And Translation Layers" - - config MTD_CHAR -Index: linux-2.6.24.7/drivers/mtd/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/mtd/Makefile -+++ linux-2.6.24.7/drivers/mtd/Makefile -@@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o - obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o - obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o - obj-$(CONFIG_MTD_AFS_PARTS) += afs.o -+obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o - - # 'Users' - code which presents functionality to userspace. - obj-$(CONFIG_MTD_CHAR) += mtdchar.o -Index: linux-2.6.24.7/drivers/mtd/maps/physmap.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/mtd/maps/physmap.c -+++ linux-2.6.24.7/drivers/mtd/maps/physmap.c -@@ -74,7 +74,8 @@ static int physmap_flash_remove(struct p - - static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", "map_rom", NULL }; - #ifdef CONFIG_MTD_PARTITIONS --static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL }; -+static const char *part_probe_types[] = {"cmdlinepart", "RedBoot", -+ "ar7part", NULL }; - #endif - - static int physmap_flash_probe(struct platform_device *dev) diff --git a/target/linux/ar7/patches-2.6.24/120-gpio_chrdev.patch b/target/linux/ar7/patches-2.6.24/120-gpio_chrdev.patch deleted file mode 100644 index 27db92ac84..0000000000 --- a/target/linux/ar7/patches-2.6.24/120-gpio_chrdev.patch +++ /dev/null @@ -1,32 +0,0 @@ -Index: linux-2.6.24.7/drivers/char/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/char/Kconfig -+++ linux-2.6.24.7/drivers/char/Kconfig -@@ -904,6 +904,15 @@ config MWAVE - To compile this driver as a module, choose M here: the - module will be called mwave. - -+config AR7_GPIO -+ tristate "TI AR7 GPIO Support" -+ depends on AR7 -+ help -+ Give userspace access to the GPIO pins on the Texas Instruments AR7 -+ processors. -+ -+ If compiled as a module, it will be called ar7_gpio. -+ - config SCx200_GPIO - tristate "NatSemi SCx200 GPIO Support" - depends on SCx200 -Index: linux-2.6.24.7/drivers/char/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/char/Makefile -+++ linux-2.6.24.7/drivers/char/Makefile -@@ -89,6 +89,7 @@ obj-$(CONFIG_COBALT_LCD) += lcd.o - obj-$(CONFIG_PPDEV) += ppdev.o - obj-$(CONFIG_NWBUTTON) += nwbutton.o - obj-$(CONFIG_NWFLASH) += nwflash.o -+obj-$(CONFIG_AR7_GPIO) += ar7_gpio.o - obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o - obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o - obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o diff --git a/target/linux/ar7/patches-2.6.24/130-vlynq.patch b/target/linux/ar7/patches-2.6.24/130-vlynq.patch deleted file mode 100644 index f4154ab8eb..0000000000 --- a/target/linux/ar7/patches-2.6.24/130-vlynq.patch +++ /dev/null @@ -1,24 +0,0 @@ -Index: linux-2.6.24.7/drivers/Kconfig -=================================================================== ---- linux-2.6.24.7.orig/drivers/Kconfig -+++ linux-2.6.24.7/drivers/Kconfig -@@ -96,5 +96,7 @@ source "drivers/kvm/Kconfig" - - source "drivers/uio/Kconfig" - -+source "drivers/vlynq/Kconfig" -+ - source "drivers/virtio/Kconfig" - endmenu -Index: linux-2.6.24.7/drivers/Makefile -=================================================================== ---- linux-2.6.24.7.orig/drivers/Makefile -+++ linux-2.6.24.7/drivers/Makefile -@@ -89,6 +89,7 @@ obj-$(CONFIG_DCA) += dca/ - obj-$(CONFIG_HID) += hid/ - obj-$(CONFIG_PPC_PS3) += ps3/ - obj-$(CONFIG_OF) += of/ -+obj-$(CONFIG_VLYNQ) += vlynq/ - obj-$(CONFIG_SSB) += ssb/ - obj-$(CONFIG_VIRTIO) += virtio/ - obj-$(CONFIG_GPIO_DEVICE) += gpio/ diff --git a/target/linux/ar7/patches-2.6.24/140-cpmac_fix.patch b/target/linux/ar7/patches-2.6.24/140-cpmac_fix.patch deleted file mode 100644 index 7658932950..0000000000 --- a/target/linux/ar7/patches-2.6.24/140-cpmac_fix.patch +++ /dev/null @@ -1,268 +0,0 @@ -Index: linux-2.6.24.7/drivers/net/cpmac.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/net/cpmac.c -+++ linux-2.6.24.7/drivers/net/cpmac.c -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - - MODULE_AUTHOR("Eugene Konev "); - MODULE_DESCRIPTION("TI AR7 ethernet driver (CPMAC)"); -@@ -207,6 +208,7 @@ struct cpmac_priv { - struct work_struct reset_work; - struct platform_device *pdev; - struct napi_struct napi; -+ atomic_t reset_pending; - }; - - static irqreturn_t cpmac_irq(int, void *); -@@ -455,6 +457,9 @@ static int cpmac_start_xmit(struct sk_bu - struct cpmac_desc *desc; - struct cpmac_priv *priv = netdev_priv(dev); - -+ if (unlikely(atomic_read(&priv->reset_pending))) -+ return NETDEV_TX_BUSY; -+ - if (unlikely(skb_padto(skb, ETH_ZLEN))) - return NETDEV_TX_OK; - -@@ -634,14 +639,14 @@ static void cpmac_clear_tx(struct net_de - priv->desc_ring[i].dataflags = 0; - if (priv->desc_ring[i].skb) { - dev_kfree_skb_any(priv->desc_ring[i].skb); -- if (netif_subqueue_stopped(dev, i)) -- netif_wake_subqueue(dev, i); -+ priv->desc_ring[i].skb = NULL; - } - } - } - - static void cpmac_hw_error(struct work_struct *work) - { -+ int i; - struct cpmac_priv *priv = - container_of(work, struct cpmac_priv, reset_work); - -@@ -650,8 +655,47 @@ static void cpmac_hw_error(struct work_s - spin_unlock(&priv->rx_lock); - cpmac_clear_tx(priv->dev); - cpmac_hw_start(priv->dev); -- napi_enable(&priv->napi); -- netif_start_queue(priv->dev); -+ barrier(); -+ atomic_dec(&priv->reset_pending); -+ -+ for (i = 0; i < CPMAC_QUEUES; i++) { -+ netif_wake_subqueue(priv->dev, i); -+ } -+ netif_wake_queue(priv->dev); -+ cpmac_write(priv->regs, CPMAC_MAC_INT_ENABLE, 3); -+} -+ -+static void cpmac_check_status(struct net_device *dev) -+{ -+ struct cpmac_priv *priv = netdev_priv(dev); -+ -+ u32 macstatus = cpmac_read(priv->regs, CPMAC_MAC_STATUS); -+ int rx_channel = (macstatus >> 8) & 7; -+ int rx_code = (macstatus >> 12) & 15; -+ int tx_channel = (macstatus >> 16) & 7; -+ int tx_code = (macstatus >> 20) & 15; -+ -+ if (rx_code || tx_code) { -+ if (netif_msg_drv(priv) && net_ratelimit()) { -+ /* Can't find any documentation on what these error codes actually are. -+ * So just log them and hope.. -+ */ -+ if (rx_code) -+ printk(KERN_WARNING "%s: host error %d on rx channel %d (macstatus %08x), resetting\n", -+ dev->name, rx_code, rx_channel, macstatus); -+ if (tx_code) -+ printk(KERN_WARNING "%s: host error %d on tx channel %d (macstatus %08x), resetting\n", -+ dev->name, tx_code, tx_channel, macstatus); -+ } -+ -+ netif_stop_queue(dev); -+ cpmac_hw_stop(dev); -+ if (schedule_work(&priv->reset_work)) -+ atomic_inc(&priv->reset_pending); -+ if (unlikely(netif_msg_hw(priv))) -+ cpmac_dump_regs(dev); -+ } -+ cpmac_write(priv->regs, CPMAC_MAC_INT_CLEAR, 0xff); - } - - static irqreturn_t cpmac_irq(int irq, void *dev_id) -@@ -661,9 +705,6 @@ static irqreturn_t cpmac_irq(int irq, vo - int queue; - u32 status; - -- if (!dev) -- return IRQ_NONE; -- - priv = netdev_priv(dev); - - status = cpmac_read(priv->regs, CPMAC_MAC_INT_VECTOR); -@@ -685,49 +726,33 @@ static irqreturn_t cpmac_irq(int irq, vo - - cpmac_write(priv->regs, CPMAC_MAC_EOI_VECTOR, 0); - -- if (unlikely(status & (MAC_INT_HOST | MAC_INT_STATUS))) { -- if (netif_msg_drv(priv) && net_ratelimit()) -- printk(KERN_ERR "%s: hw error, resetting...\n", -- dev->name); -- netif_stop_queue(dev); -- napi_disable(&priv->napi); -- cpmac_hw_stop(dev); -- schedule_work(&priv->reset_work); -- if (unlikely(netif_msg_hw(priv))) -- cpmac_dump_regs(dev); -- } -+ if (unlikely(status & (MAC_INT_HOST | MAC_INT_STATUS))) -+ cpmac_check_status(dev); - - return IRQ_HANDLED; - } - - static void cpmac_tx_timeout(struct net_device *dev) - { -- struct cpmac_priv *priv = netdev_priv(dev); - int i; -+ struct cpmac_priv *priv = netdev_priv(dev); - - spin_lock(&priv->lock); - dev->stats.tx_errors++; - spin_unlock(&priv->lock); - if (netif_msg_tx_err(priv) && net_ratelimit()) - printk(KERN_WARNING "%s: transmit timeout\n", dev->name); -- /* -- * FIXME: waking up random queue is not the best thing to -- * do... on the other hand why we got here at all? -- */ --#ifdef CONFIG_NETDEVICES_MULTIQUEUE -- for (i = 0; i < CPMAC_QUEUES; i++) -- if (priv->desc_ring[i].skb) { -- priv->desc_ring[i].dataflags = 0; -- dev_kfree_skb_any(priv->desc_ring[i].skb); -- netif_wake_subqueue(dev, i); -- break; -- } --#else -- priv->desc_ring[0].dataflags = 0; -- if (priv->desc_ring[0].skb) -- dev_kfree_skb_any(priv->desc_ring[0].skb); -- netif_wake_queue(dev); --#endif -+ -+ atomic_inc(&priv->reset_pending); -+ barrier(); -+ cpmac_clear_tx(dev); -+ barrier(); -+ atomic_dec(&priv->reset_pending); -+ -+ netif_wake_queue(priv->dev); -+ for (i = 0; i < CPMAC_QUEUES; i++) { -+ netif_wake_subqueue(dev, i); -+ } - } - - static int cpmac_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) -@@ -848,15 +873,6 @@ static void cpmac_adjust_link(struct net - spin_unlock(&priv->lock); - } - --static int cpmac_link_update(struct net_device *dev, -- struct fixed_phy_status *status) --{ -- status->link = 1; -- status->speed = 100; -- status->duplex = 1; -- return 0; --} -- - static int cpmac_open(struct net_device *dev) - { - int i, size, res; -@@ -923,6 +939,7 @@ static int cpmac_open(struct net_device - goto fail_irq; - } - -+ atomic_set(&priv->reset_pending, 0); - INIT_WORK(&priv->reset_work, cpmac_hw_error); - cpmac_hw_start(dev); - -@@ -999,11 +1016,11 @@ static int external_switch; - static int __devinit cpmac_probe(struct platform_device *pdev) - { - int rc, phy_id, i; -+ int mdio_bus_id = cpmac_mii.id; - struct resource *mem; - struct cpmac_priv *priv; - struct net_device *dev; - struct plat_cpmac_data *pdata; -- struct fixed_info *fixed_phy; - DECLARE_MAC_BUF(mac); - - pdata = pdev->dev.platform_data; -@@ -1017,9 +1034,23 @@ static int __devinit cpmac_probe(struct - } - - if (phy_id == PHY_MAX_ADDR) { -- if (external_switch || dumb_switch) -+ if (external_switch || dumb_switch) { -+ struct fixed_phy_status status = {}; -+ -+ mdio_bus_id = 0; -+ -+ /* -+ * FIXME: this should be in the platform code! -+ * Since there is not platform code at all (that is, -+ * no mainline users of that driver), place it here -+ * for now. -+ */ - phy_id = 0; -- else { -+ status.link = 1; -+ status.duplex = 1; -+ status.speed = 100; -+ fixed_phy_add(PHY_POLL, phy_id, &status); -+ } else { - printk(KERN_ERR "cpmac: no PHY present\n"); - return -ENODEV; - } -@@ -1063,32 +1094,8 @@ static int __devinit cpmac_probe(struct - priv->msg_enable = netif_msg_init(debug_level, 0xff); - memcpy(dev->dev_addr, pdata->dev_addr, sizeof(dev->dev_addr)); - -- if (phy_id == 31) { -- snprintf(priv->phy_name, BUS_ID_SIZE, PHY_ID_FMT, cpmac_mii.id, -- phy_id); -- } else { -- /* Let's try to get a free fixed phy... */ -- for (i = 0; i < MAX_PHY_AMNT; i++) { -- fixed_phy = fixed_mdio_get_phydev(i); -- if (!fixed_phy) -- continue; -- if (!fixed_phy->phydev->attached_dev) { -- strncpy(priv->phy_name, -- fixed_phy->phydev->dev.bus_id, -- BUS_ID_SIZE); -- fixed_mdio_set_link_update(fixed_phy->phydev, -- &cpmac_link_update); -- goto phy_found; -- } -- } -- if (netif_msg_drv(priv)) -- printk(KERN_ERR "%s: Could not find fixed PHY\n", -- dev->name); -- rc = -ENODEV; -- goto fail; -- } -+ snprintf(priv->phy_name, BUS_ID_SIZE, PHY_ID_FMT, mdio_bus_id, phy_id); - --phy_found: - priv->phy = phy_connect(dev, priv->phy_name, &cpmac_adjust_link, 0, - PHY_INTERFACE_MODE_MII); - if (IS_ERR(priv->phy)) { diff --git a/target/linux/ar7/patches-2.6.24/150-cpmac_up_and_running.diff b/target/linux/ar7/patches-2.6.24/150-cpmac_up_and_running.diff deleted file mode 100644 index c2fb478c4d..0000000000 --- a/target/linux/ar7/patches-2.6.24/150-cpmac_up_and_running.diff +++ /dev/null @@ -1,95 +0,0 @@ -From 0daaa095cefd9d7091a7ccce2ff89f1ff4feae7a Mon Sep 17 00:00:00 2001 -From: Anton Vorontsov -Date: Wed, 5 Mar 2008 14:52:26 +0300 -Subject: [PATCH] AR7/cpmac: convert to new fixed phy infrastructure, now for real - -This patch converts platform code to register fixed phys early. -cpmac driver modified to blindly accept fixed phy id (that is equal -to platform device id). - -Signed-off-by: Anton Vorontsov ---- - arch/mips/ar7/platform.c | 17 +++++++++++++++++ - drivers/net/cpmac.c | 19 +++---------------- - 2 files changed, 20 insertions(+), 16 deletions(-) - -Index: linux-2.6.24.7/arch/mips/ar7/platform.c -=================================================================== ---- linux-2.6.24.7.orig/arch/mips/ar7/platform.c -+++ linux-2.6.24.7/arch/mips/ar7/platform.c -@@ -33,6 +33,8 @@ - #include - #include - #include -+#include -+#include - - #include - #include -@@ -205,6 +207,13 @@ static struct physmap_flash_data physmap - .width = 2, - }; - -+/* lets assume this is suitable for both high and low cpmacs links */ -+static struct fixed_phy_status fixed_phy_status __initdata = { -+ .link = 1, -+ .speed = 100, -+ .duplex = 1, -+}; -+ - static struct plat_cpmac_data cpmac_low_data = { - .reset_bit = 17, - .power_bit = 20, -@@ -506,6 +515,10 @@ static int __init ar7_register_devices(v - } - - if (ar7_has_high_cpmac()) { -+ res = fixed_phy_add(PHY_POLL, cpmac_high.id, &fixed_phy_status); -+ if (res && res != -ENODEV) -+ return res; -+ - cpmac_get_mac(1, cpmac_high_data.dev_addr); - res = platform_device_register(&cpmac_high); - if (res) -@@ -514,6 +527,10 @@ static int __init ar7_register_devices(v - cpmac_low_data.phy_mask = 0xffffffff; - } - -+ res = fixed_phy_add(PHY_POLL, cpmac_low.id, &fixed_phy_status); -+ if (res && res != -ENODEV) -+ return res; -+ - cpmac_get_mac(0, cpmac_low_data.dev_addr); - res = platform_device_register(&cpmac_low); - if (res) -Index: linux-2.6.24.7/drivers/net/cpmac.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/net/cpmac.c -+++ linux-2.6.24.7/drivers/net/cpmac.c -@@ -1035,23 +1035,10 @@ static int __devinit cpmac_probe(struct - - if (phy_id == PHY_MAX_ADDR) { - if (external_switch || dumb_switch) { -- struct fixed_phy_status status = {}; -- -- mdio_bus_id = 0; -- -- /* -- * FIXME: this should be in the platform code! -- * Since there is not platform code at all (that is, -- * no mainline users of that driver), place it here -- * for now. -- */ -- phy_id = 0; -- status.link = 1; -- status.duplex = 1; -- status.speed = 100; -- fixed_phy_add(PHY_POLL, phy_id, &status); -+ mdio_bus_id = 0; /* fixed phys bus */ -+ phy_id = pdev->id; - } else { -- printk(KERN_ERR "cpmac: no PHY present\n"); -+ dev_err(&pdev->dev, "no PHY present\n"); - return -ENODEV; - } - } diff --git a/target/linux/ar7/patches-2.6.24/160-cpmac-rx-ring-use-eoq.diff b/target/linux/ar7/patches-2.6.24/160-cpmac-rx-ring-use-eoq.diff deleted file mode 100644 index 2fb71cd4b6..0000000000 --- a/target/linux/ar7/patches-2.6.24/160-cpmac-rx-ring-use-eoq.diff +++ /dev/null @@ -1,180 +0,0 @@ -Index: linux-2.6.24.7/drivers/net/cpmac.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/net/cpmac.c -+++ linux-2.6.24.7/drivers/net/cpmac.c -@@ -187,6 +187,7 @@ struct cpmac_desc { - #define CPMAC_EOQ 0x1000 - struct sk_buff *skb; - struct cpmac_desc *next; -+ struct cpmac_desc *prev; - dma_addr_t mapping; - dma_addr_t data_mapping; - }; -@@ -242,6 +243,16 @@ static void cpmac_dump_desc(struct net_d - printk("\n"); - } - -+static void cpmac_dump_all_desc(struct net_device *dev) -+{ -+ struct cpmac_priv *priv = netdev_priv(dev); -+ struct cpmac_desc *dump = priv->rx_head; -+ do { -+ cpmac_dump_desc(dev, dump); -+ dump = dump->next; -+ } while (dump != priv->rx_head); -+} -+ - static void cpmac_dump_skb(struct net_device *dev, struct sk_buff *skb) - { - int i; -@@ -413,21 +424,40 @@ static struct sk_buff *cpmac_rx_one(stru - static int cpmac_poll(struct napi_struct *napi, int budget) - { - struct sk_buff *skb; -- struct cpmac_desc *desc; -- int received = 0; -+ struct cpmac_desc *desc, *restart; - struct cpmac_priv *priv = container_of(napi, struct cpmac_priv, napi); -+ int received = 0, processed = 0; - - spin_lock(&priv->rx_lock); - if (unlikely(!priv->rx_head)) { - if (netif_msg_rx_err(priv) && net_ratelimit()) - printk(KERN_WARNING "%s: rx: polling, but no queue\n", - priv->dev->name); -+ spin_unlock(&priv->rx_lock); - netif_rx_complete(priv->dev, napi); - return 0; - } - - desc = priv->rx_head; -+ restart = NULL; - while (((desc->dataflags & CPMAC_OWN) == 0) && (received < budget)) { -+ processed++; -+ -+ if ((desc->dataflags & CPMAC_EOQ) != 0) { -+ /* The last update to eoq->hw_next didn't happen soon enough, and the -+ * receiver stopped here. Remember this descriptor so we can restart -+ * the receiver after freeing some space. -+ */ -+ if (unlikely(restart)) { -+ if (netif_msg_rx_err(priv)) -+ printk(KERN_ERR "%s: poll found a duplicate EOQ: %p and %p\n", -+ priv->dev->name, restart, desc); -+ goto fatal_error; -+ } -+ -+ restart = desc->next; -+ } -+ - skb = cpmac_rx_one(priv, desc); - if (likely(skb)) { - netif_receive_skb(skb); -@@ -436,19 +466,81 @@ static int cpmac_poll(struct napi_struct - desc = desc->next; - } - -+ if (desc != priv->rx_head) { -+ /* We freed some buffers, but not the whole ring, add what we did free to the rx list */ -+ desc->prev->hw_next = (u32)0; -+ priv->rx_head->prev->hw_next = priv->rx_head->mapping; -+ } -+ -+ /* Optimization: If we did not actually process an EOQ (perhaps because of -+ * quota limits), check to see if the tail of the queue has EOQ set. We -+ * should immediately restart in that case so that the receiver can restart -+ * and run in parallel with more packet processing. This lets us handle slightly -+ * larger bursts before running out of ring space (assuming dev->weight < ring_size) -+ */ -+ if (!restart && -+ (priv->rx_head->prev->dataflags & (CPMAC_OWN|CPMAC_EOQ)) == CPMAC_EOQ && -+ (priv->rx_head->dataflags & CPMAC_OWN) != 0) { -+ /* reset EOQ so the poll loop (above) doesn't try to restart this when it -+ * eventually gets to this descriptor. -+ */ -+ priv->rx_head->prev->dataflags &= ~CPMAC_EOQ; -+ restart = priv->rx_head; -+ } -+ -+ if (restart) { -+ priv->dev->stats.rx_errors++; -+ priv->dev->stats.rx_fifo_errors++; -+ if (netif_msg_rx_err(priv) && net_ratelimit()) -+ printk(KERN_WARNING "%s: rx dma ring overrun\n", priv->dev->name); -+ -+ if (unlikely((restart->dataflags & CPMAC_OWN) == 0)) { -+ if (netif_msg_drv(priv)) -+ printk(KERN_ERR "%s: cpmac_poll is trying to restart rx from a descriptor that's not free: %p\n", -+ priv->dev->name, restart); -+ goto fatal_error; -+ } -+ -+ cpmac_write(priv->regs, CPMAC_RX_PTR(0), restart->mapping); -+ } -+ - priv->rx_head = desc; - spin_unlock(&priv->rx_lock); - if (unlikely(netif_msg_rx_status(priv))) - printk(KERN_DEBUG "%s: poll processed %d packets\n", - priv->dev->name, received); -- if (desc->dataflags & CPMAC_OWN) { -+ if (processed == 0) { -+ /* we ran out of packets to read, revert to interrupt-driven mode */ - netif_rx_complete(priv->dev, napi); -- cpmac_write(priv->regs, CPMAC_RX_PTR(0), (u32)desc->mapping); - cpmac_write(priv->regs, CPMAC_RX_INT_ENABLE, 1); - return 0; - } - - return 1; -+ -+fatal_error: -+ /* Something went horribly wrong. Reset hardware to try to recover rather than wedging. */ -+ -+ if (netif_msg_drv(priv)) { -+ printk(KERN_ERR "%s: cpmac_poll is confused. Resetting hardware\n", priv->dev->name); -+ cpmac_dump_all_desc(priv->dev); -+ printk(KERN_DEBUG "%s: RX_PTR(0)=0x%08x RX_ACK(0)=0x%08x\n", -+ priv->dev->name, -+ cpmac_read(priv->regs, CPMAC_RX_PTR(0)), -+ cpmac_read(priv->regs, CPMAC_RX_ACK(0))); -+ } -+ -+ spin_unlock(&priv->rx_lock); -+ netif_rx_complete(priv->dev, napi); -+ netif_stop_queue(priv->dev); -+ napi_disable(&priv->napi); -+ -+ atomic_inc(&priv->reset_pending); -+ cpmac_hw_stop(priv->dev); -+ if (!schedule_work(&priv->reset_work)) -+ atomic_dec(&priv->reset_pending); -+ return 0; -+ - } - - static int cpmac_start_xmit(struct sk_buff *skb, struct net_device *dev) -@@ -625,8 +717,10 @@ static void cpmac_clear_rx(struct net_de - desc->dataflags = CPMAC_OWN; - dev->stats.rx_dropped++; - } -+ desc->hw_next = desc->next->mapping; - desc = desc->next; - } -+ priv->rx_head->prev->hw_next = 0; - } - - static void cpmac_clear_tx(struct net_device *dev) -@@ -928,9 +1022,12 @@ static int cpmac_open(struct net_device - desc->buflen = CPMAC_SKB_SIZE; - desc->dataflags = CPMAC_OWN; - desc->next = &priv->rx_head[(i + 1) % priv->ring_size]; -+ desc->next->prev = desc; - desc->hw_next = (u32)desc->next->mapping; - } - -+ priv->rx_head->prev->hw_next = (u32)0; -+ - if ((res = request_irq(dev->irq, cpmac_irq, IRQF_SHARED, - dev->name, dev))) { - if (netif_msg_drv(priv)) diff --git a/target/linux/ar7/patches-2.6.24/170-cpmac_eth_fix.patch b/target/linux/ar7/patches-2.6.24/170-cpmac_eth_fix.patch deleted file mode 100644 index bebd453cc1..0000000000 --- a/target/linux/ar7/patches-2.6.24/170-cpmac_eth_fix.patch +++ /dev/null @@ -1,15 +0,0 @@ -Index: linux-2.6.24.7/drivers/net/cpmac.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/net/cpmac.c -+++ linux-2.6.24.7/drivers/net/cpmac.c -@@ -1178,9 +1178,7 @@ static int __devinit cpmac_probe(struct - priv->msg_enable = netif_msg_init(debug_level, 0xff); - memcpy(dev->dev_addr, pdata->dev_addr, sizeof(dev->dev_addr)); - -- snprintf(priv->phy_name, BUS_ID_SIZE, PHY_ID_FMT, mdio_bus_id, phy_id); -- -- priv->phy = phy_connect(dev, priv->phy_name, &cpmac_adjust_link, 0, -+ priv->phy = phy_connect(dev, cpmac_mii.phy_map[phy_id]->dev.bus_id, &cpmac_adjust_link, 0, - PHY_INTERFACE_MODE_MII); - if (IS_ERR(priv->phy)) { - if (netif_msg_drv(priv)) diff --git a/target/linux/ar7/patches-2.6.24/500-serial_kludge.patch b/target/linux/ar7/patches-2.6.24/500-serial_kludge.patch deleted file mode 100644 index a66bc8ad8d..0000000000 --- a/target/linux/ar7/patches-2.6.24/500-serial_kludge.patch +++ /dev/null @@ -1,44 +0,0 @@ -Index: linux-2.6.24.7/drivers/serial/8250.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/serial/8250.c -+++ linux-2.6.24.7/drivers/serial/8250.c -@@ -267,6 +267,13 @@ static const struct serial8250_config ua - .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, - .flags = UART_CAP_FIFO, - }, -+ [PORT_AR7] = { -+ .name = "TI-AR7", -+ .fifo_size = 16, -+ .tx_loadsz = 16, -+ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00, -+ .flags = UART_CAP_FIFO | UART_CAP_AFE, -+ }, - }; - - #if defined (CONFIG_SERIAL_8250_AU1X00) -@@ -2453,7 +2460,11 @@ static void serial8250_console_putchar(s - { - struct uart_8250_port *up = (struct uart_8250_port *)port; - -+#ifdef CONFIG_AR7 -+ wait_for_xmitr(up, BOTH_EMPTY); -+#else - wait_for_xmitr(up, UART_LSR_THRE); -+#endif - serial_out(up, UART_TX, ch); - } - -Index: linux-2.6.24.7/include/linux/serial_core.h -=================================================================== ---- linux-2.6.24.7.orig/include/linux/serial_core.h -+++ linux-2.6.24.7/include/linux/serial_core.h -@@ -40,7 +40,8 @@ - #define PORT_NS16550A 14 - #define PORT_XSCALE 15 - #define PORT_RM9000 16 /* PMC-Sierra RM9xxx internal UART */ --#define PORT_MAX_8250 16 /* max port ID */ -+#define PORT_AR7 17 -+#define PORT_MAX_8250 17 /* max port ID */ - - /* - * ARM specific type numbers. These are not currently guaranteed diff --git a/target/linux/ar7/patches-2.6.24/900-temporary_cpmac_hack.diff b/target/linux/ar7/patches-2.6.24/900-temporary_cpmac_hack.diff deleted file mode 100644 index dfd1a67479..0000000000 --- a/target/linux/ar7/patches-2.6.24/900-temporary_cpmac_hack.diff +++ /dev/null @@ -1,29 +0,0 @@ -Index: linux-2.6.24.7/drivers/net/cpmac.c -=================================================================== ---- linux-2.6.24.7.orig/drivers/net/cpmac.c -+++ linux-2.6.24.7/drivers/net/cpmac.c -@@ -936,7 +936,8 @@ static void cpmac_adjust_link(struct net - int new_state = 0; - - spin_lock(&priv->lock); -- if (priv->phy->link) { -+ if (1 /* priv->phy->link */ ) { -+ netif_carrier_on(dev); - netif_start_queue(dev); - if (priv->phy->duplex != priv->oldduplex) { - new_state = 1; -@@ -948,11 +949,11 @@ static void cpmac_adjust_link(struct net - priv->oldspeed = priv->phy->speed; - } - -- if (!priv->oldlink) { -+ /*if (!priv->oldlink) { - new_state = 1; -- priv->oldlink = 1; -+ priv->oldlink = 1;*/ - netif_schedule(dev); -- } -+ /*}*/ - } else if (priv->oldlink) { - netif_stop_queue(dev); - new_state = 1; diff --git a/target/linux/ar7/patches-2.6.25/100-board_support.patch b/target/linux/ar7/patches-2.6.25/100-board_support.patch deleted file mode 100644 index 658a80e511..0000000000 --- a/target/linux/ar7/patches-2.6.25/100-board_support.patch +++ /dev/null @@ -1,86 +0,0 @@ ---- a/arch/mips/Kconfig -+++ b/arch/mips/Kconfig -@@ -18,6 +18,24 @@ - prompt "System type" - default SGI_IP22 - -+config AR7 -+ bool "Texas Instruments AR7" -+ select BOOT_ELF32 -+ select DMA_NONCOHERENT -+ select CEVT_R4K -+ select CSRC_R4K -+ select IRQ_CPU -+ select NO_EXCEPT_FILL -+ select SWAP_IO_SPACE -+ select SYS_HAS_CPU_MIPS32_R1 -+ select SYS_HAS_EARLY_PRINTK -+ select SYS_SUPPORTS_32BIT_KERNEL -+ select SYS_SUPPORTS_KGDB -+ select SYS_SUPPORTS_LITTLE_ENDIAN -+ select SYS_SUPPORTS_BIG_ENDIAN -+ select GENERIC_GPIO -+ select GENERIC_HARDIRQS_NO__DO_IRQ -+ - config MACH_ALCHEMY - bool "Alchemy processor based machines" - ---- a/arch/mips/kernel/traps.c -+++ b/arch/mips/kernel/traps.c -@@ -1112,9 +1112,22 @@ - - exception_handlers[n] = handler; - if (n == 0 && cpu_has_divec) { -- *(u32 *)(ebase + 0x200) = 0x08000000 | -- (0x03ffffff & (handler >> 2)); -- flush_icache_range(ebase + 0x200, ebase + 0x204); -+ if ((handler ^ (ebase + 4)) & 0xfc000000) { -+ /* lui k0, 0x0000 */ -+ *(u32 *)(ebase + 0x200) = 0x3c1a0000 | (handler >> 16); -+ /* ori k0, 0x0000 */ -+ *(u32 *)(ebase + 0x204) = -+ 0x375a0000 | (handler & 0xffff); -+ /* jr k0 */ -+ *(u32 *)(ebase + 0x208) = 0x03400008; -+ /* nop */ -+ *(u32 *)(ebase + 0x20C) = 0x00000000; -+ flush_icache_range(ebase + 0x200, ebase + 0x210); -+ } else { -+ *(u32 *)(ebase + 0x200) = -+ 0x08000000 | (0x03ffffff & (handler >> 2)); -+ flush_icache_range(ebase + 0x200, ebase + 0x204); -+ } - } - return (void *)old_handler; - } ---- a/arch/mips/Makefile -+++ b/arch/mips/Makefile -@@ -167,6 +167,13 @@ - # - - # -+# Texas Instruments AR7 -+# -+core-$(CONFIG_AR7) += arch/mips/ar7/ -+cflags-$(CONFIG_AR7) += -Iinclude/asm-mips/ar7 -+load-$(CONFIG_AR7) += 0xffffffff94100000 -+ -+# - # Acer PICA 61, Mips Magnum 4000 and Olivetti M700. - # - core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/ ---- a/include/asm-mips/page.h -+++ b/include/asm-mips/page.h -@@ -182,8 +182,10 @@ - #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ - VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) - --#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) --#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) -+#define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE + \ -+ PHYS_OFFSET) -+#define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET - \ -+ PHYS_OFFSET) - - #include - #include diff --git a/target/linux/ar7/patches-2.6.25/110-flash.patch b/target/linux/ar7/patches-2.6.25/110-flash.patch deleted file mode 100644 index 5f6b8f1df8..0000000000 --- a/target/linux/ar7/patches-2.6.25/110-flash.patch +++ /dev/null @@ -1,37 +0,0 @@ ---- a/drivers/mtd/Kconfig -+++ b/drivers/mtd/Kconfig -@@ -168,6 +168,12 @@ - the partition map from the children of the flash node, - as described in Documentation/powerpc/booting-without-of.txt. - -+config MTD_AR7_PARTS -+ tristate "TI AR7 partitioning support" -+ depends on MTD_PARTITIONS -+ ---help--- -+ TI AR7 partitioning support -+ - comment "User Modules And Translation Layers" - - config MTD_CHAR ---- a/drivers/mtd/Makefile -+++ b/drivers/mtd/Makefile -@@ -12,6 +12,7 @@ - obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o - obj-$(CONFIG_MTD_AFS_PARTS) += afs.o - obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o -+obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o - - # 'Users' - code which presents functionality to userspace. - obj-$(CONFIG_MTD_CHAR) += mtdchar.o ---- a/drivers/mtd/maps/physmap.c -+++ b/drivers/mtd/maps/physmap.c -@@ -87,7 +87,8 @@ - - static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", "map_rom", NULL }; - #ifdef CONFIG_MTD_PARTITIONS --static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL }; -+static const char *part_probe_types[] = {"cmdlinepart", "RedBoot", -+ "ar7part", NULL }; - #endif - - static int physmap_flash_probe(struct platform_device *dev) diff --git a/target/linux/ar7/patches-2.6.25/120-gpio_chrdev.patch b/target/linux/ar7/patches-2.6.25/120-gpio_chrdev.patch deleted file mode 100644 index cd5d744de1..0000000000 --- a/target/linux/ar7/patches-2.6.25/120-gpio_chrdev.patch +++ /dev/null @@ -1,28 +0,0 @@ ---- a/drivers/char/Kconfig -+++ b/drivers/char/Kconfig -@@ -913,6 +913,15 @@ - To compile this driver as a module, choose M here: the - module will be called mwave. - -+config AR7_GPIO -+ tristate "TI AR7 GPIO Support" -+ depends on AR7 -+ help -+ Give userspace access to the GPIO pins on the Texas Instruments AR7 -+ processors. -+ -+ If compiled as a module, it will be called ar7_gpio. -+ - config SCx200_GPIO - tristate "NatSemi SCx200 GPIO Support" - depends on SCx200 ---- a/drivers/char/Makefile -+++ b/drivers/char/Makefile -@@ -90,6 +90,7 @@ - obj-$(CONFIG_PPDEV) += ppdev.o - obj-$(CONFIG_NWBUTTON) += nwbutton.o - obj-$(CONFIG_NWFLASH) += nwflash.o -+obj-$(CONFIG_AR7_GPIO) += ar7_gpio.o - obj-$(CONFIG_SCx200_GPIO) += scx200_gpio.o - obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o - obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o diff --git a/target/linux/ar7/patches-2.6.25/130-vlynq.patch b/target/linux/ar7/patches-2.6.25/130-vlynq.patch deleted file mode 100644 index f925258572..0000000000 --- a/target/linux/ar7/patches-2.6.25/130-vlynq.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/drivers/Kconfig -+++ b/drivers/Kconfig -@@ -97,4 +97,6 @@ - source "drivers/auxdisplay/Kconfig" - - source "drivers/uio/Kconfig" -+ -+source "drivers/vlynq/Kconfig" - endmenu ---- a/drivers/Makefile -+++ b/drivers/Makefile -@@ -91,5 +91,6 @@ - obj-$(CONFIG_HID) += hid/ - obj-$(CONFIG_PPC_PS3) += ps3/ - obj-$(CONFIG_OF) += of/ -+obj-$(CONFIG_VLYNQ) += vlynq/ - obj-$(CONFIG_SSB) += ssb/ - obj-$(CONFIG_VIRTIO) += virtio/ diff --git a/target/linux/ar7/patches-2.6.25/140-cpmac_fix.patch b/target/linux/ar7/patches-2.6.25/140-cpmac_fix.patch deleted file mode 100644 index f6f29eb82a..0000000000 --- a/target/linux/ar7/patches-2.6.25/140-cpmac_fix.patch +++ /dev/null @@ -1,167 +0,0 @@ ---- a/drivers/net/cpmac.c -+++ b/drivers/net/cpmac.c -@@ -38,6 +38,7 @@ - #include - #include - #include -+#include - - MODULE_AUTHOR("Eugene Konev "); - MODULE_DESCRIPTION("TI AR7 ethernet driver (CPMAC)"); -@@ -207,6 +208,7 @@ - struct work_struct reset_work; - struct platform_device *pdev; - struct napi_struct napi; -+ atomic_t reset_pending; - }; - - static irqreturn_t cpmac_irq(int, void *); -@@ -455,6 +457,9 @@ - struct cpmac_desc *desc; - struct cpmac_priv *priv = netdev_priv(dev); - -+ if (unlikely(atomic_read(&priv->reset_pending))) -+ return NETDEV_TX_BUSY; -+ - if (unlikely(skb_padto(skb, ETH_ZLEN))) - return NETDEV_TX_OK; - -@@ -634,14 +639,14 @@ - priv->desc_ring[i].dataflags = 0; - if (priv->desc_ring[i].skb) { - dev_kfree_skb_any(priv->desc_ring[i].skb); -- if (netif_subqueue_stopped(dev, i)) -- netif_wake_subqueue(dev, i); -+ priv->desc_ring[i].skb = NULL; - } - } - } - - static void cpmac_hw_error(struct work_struct *work) - { -+ int i; - struct cpmac_priv *priv = - container_of(work, struct cpmac_priv, reset_work); - -@@ -650,8 +655,47 @@ - spin_unlock(&priv->rx_lock); - cpmac_clear_tx(priv->dev); - cpmac_hw_start(priv->dev); -- napi_enable(&priv->napi); -- netif_start_queue(priv->dev); -+ barrier(); -+ atomic_dec(&priv->reset_pending); -+ -+ for (i = 0; i < CPMAC_QUEUES; i++) { -+ netif_wake_subqueue(priv->dev, i); -+ } -+ netif_wake_queue(priv->dev); -+ cpmac_write(priv->regs, CPMAC_MAC_INT_ENABLE, 3); -+} -+ -+static void cpmac_check_status(struct net_device *dev) -+{ -+ struct cpmac_priv *priv = netdev_priv(dev); -+ -+ u32 macstatus = cpmac_read(priv->regs, CPMAC_MAC_STATUS); -+ int rx_channel = (macstatus >> 8) & 7; -+ int rx_code = (macstatus >> 12) & 15; -+ int tx_channel = (macstatus >> 16) & 7; -+ int tx_code = (macstatus >> 20) & 15; -+ -+ if (rx_code || tx_code) { -+ if (netif_msg_drv(priv) && net_ratelimit()) { -+ /* Can't find any documentation on what these error codes actually are. -+ * So just log them and hope.. -+ */ -+ if (rx_code) -+ printk(KERN_WARNING "%s: host error %d on rx channel %d (macstatus %08x), resetting\n", -+ dev->name, rx_code, rx_channel, macstatus); -+ if (tx_code) -+ printk(KERN_WARNING "%s: host error %d on tx channel %d (macstatus %08x), resetting\n", -+ dev->name, tx_code, tx_channel, macstatus); -+ } -+ -+ netif_stop_queue(dev); -+ cpmac_hw_stop(dev); -+ if (schedule_work(&priv->reset_work)) -+ atomic_inc(&priv->reset_pending); -+ if (unlikely(netif_msg_hw(priv))) -+ cpmac_dump_regs(dev); -+ } -+ cpmac_write(priv->regs, CPMAC_MAC_INT_CLEAR, 0xff); - } - - static irqreturn_t cpmac_irq(int irq, void *dev_id) -@@ -682,49 +726,33 @@ - - cpmac_write(priv->regs, CPMAC_MAC_EOI_VECTOR, 0); - -- if (unlikely(status & (MAC_INT_HOST | MAC_INT_STATUS))) { -- if (netif_msg_drv(priv) && net_ratelimit()) -- printk(KERN_ERR "%s: hw error, resetting...\n", -- dev->name); -- netif_stop_queue(dev); -- napi_disable(&priv->napi); -- cpmac_hw_stop(dev); -- schedule_work(&priv->reset_work); -- if (unlikely(netif_msg_hw(priv))) -- cpmac_dump_regs(dev); -- } -+ if (unlikely(status & (MAC_INT_HOST | MAC_INT_STATUS))) -+ cpmac_check_status(dev); - - return IRQ_HANDLED; - } - - static void cpmac_tx_timeout(struct net_device *dev) - { -- struct cpmac_priv *priv = netdev_priv(dev); - int i; -+ struct cpmac_priv *priv = netdev_priv(dev); - - spin_lock(&priv->lock); - dev->stats.tx_errors++; - spin_unlock(&priv->lock); - if (netif_msg_tx_err(priv) && net_ratelimit()) - printk(KERN_WARNING "%s: transmit timeout\n", dev->name); -- /* -- * FIXME: waking up random queue is not the best thing to -- * do... on the other hand why we got here at all? -- */ --#ifdef CONFIG_NETDEVICES_MULTIQUEUE -- for (i = 0; i < CPMAC_QUEUES; i++) -- if (priv->desc_ring[i].skb) { -- priv->desc_ring[i].dataflags = 0; -- dev_kfree_skb_any(priv->desc_ring[i].skb); -- netif_wake_subqueue(dev, i); -- break; -- } --#else -- priv->desc_ring[0].dataflags = 0; -- if (priv->desc_ring[0].skb) -- dev_kfree_skb_any(priv->desc_ring[0].skb); -- netif_wake_queue(dev); --#endif -+ -+ atomic_inc(&priv->reset_pending); -+ barrier(); -+ cpmac_clear_tx(dev); -+ barrier(); -+ atomic_dec(&priv->reset_pending); -+ -+ netif_wake_queue(priv->dev); -+ for (i = 0; i < CPMAC_QUEUES; i++) { -+ netif_wake_subqueue(dev, i); -+ } - } - - static int cpmac_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) -@@ -911,6 +939,7 @@ - goto fail_irq; - } - -+ atomic_set(&priv->reset_pending, 0); - INIT_WORK(&priv->reset_work, cpmac_hw_error); - cpmac_hw_start(dev); - diff --git a/target/linux/ar7/patches-2.6.25/150-cpmac_not_broken.patch b/target/linux/ar7/patches-2.6.25/150-cpmac_not_broken.patch deleted file mode 100644 index 6444cac88d..0000000000 --- a/target/linux/ar7/patches-2.6.25/150-cpmac_not_broken.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/drivers/net/Kconfig -+++ b/drivers/net/Kconfig -@@ -1874,7 +1874,7 @@ - - config CPMAC - tristate "TI AR7 CPMAC Ethernet support (EXPERIMENTAL)" -- depends on NET_ETHERNET && EXPERIMENTAL && AR7 && BROKEN -+ depends on NET_ETHERNET && EXPERIMENTAL && AR7 - select PHYLIB - help - TI AR7 CPMAC Ethernet support diff --git a/target/linux/ar7/patches-2.6.25/150-cpmac_up_and_running.diff b/target/linux/ar7/patches-2.6.25/150-cpmac_up_and_running.diff deleted file mode 100644 index f0f153bf33..0000000000 --- a/target/linux/ar7/patches-2.6.25/150-cpmac_up_and_running.diff +++ /dev/null @@ -1,91 +0,0 @@ -From 0daaa095cefd9d7091a7ccce2ff89f1ff4feae7a Mon Sep 17 00:00:00 2001 -From: Anton Vorontsov -Date: Wed, 5 Mar 2008 14:52:26 +0300 -Subject: [PATCH] AR7/cpmac: convert to new fixed phy infrastructure, now for real - -This patch converts platform code to register fixed phys early. -cpmac driver modified to blindly accept fixed phy id (that is equal -to platform device id). - -Signed-off-by: Anton Vorontsov ---- - arch/mips/ar7/platform.c | 17 +++++++++++++++++ - drivers/net/cpmac.c | 19 +++---------------- - 2 files changed, 20 insertions(+), 16 deletions(-) - ---- a/arch/mips/ar7/platform.c -+++ b/arch/mips/ar7/platform.c -@@ -33,6 +33,8 @@ - #include - #include - #include -+#include -+#include - - #include - #include -@@ -205,6 +207,13 @@ - .width = 2, - }; - -+/* lets assume this is suitable for both high and low cpmacs links */ -+static struct fixed_phy_status fixed_phy_status __initdata = { -+ .link = 1, -+ .speed = 100, -+ .duplex = 1, -+}; -+ - static struct plat_cpmac_data cpmac_low_data = { - .reset_bit = 17, - .power_bit = 20, -@@ -506,6 +515,10 @@ - } - - if (ar7_has_high_cpmac()) { -+ res = fixed_phy_add(PHY_POLL, cpmac_high.id, &fixed_phy_status); -+ if (res && res != -ENODEV) -+ return res; -+ - cpmac_get_mac(1, cpmac_high_data.dev_addr); - res = platform_device_register(&cpmac_high); - if (res) -@@ -514,6 +527,10 @@ - cpmac_low_data.phy_mask = 0xffffffff; - } - -+ res = fixed_phy_add(PHY_POLL, cpmac_low.id, &fixed_phy_status); -+ if (res && res != -ENODEV) -+ return res; -+ - cpmac_get_mac(0, cpmac_low_data.dev_addr); - res = platform_device_register(&cpmac_low); - if (res) ---- a/drivers/net/cpmac.c -+++ b/drivers/net/cpmac.c -@@ -1035,23 +1035,10 @@ - - if (phy_id == PHY_MAX_ADDR) { - if (external_switch || dumb_switch) { -- struct fixed_phy_status status = {}; -- -- mdio_bus_id = 0; -- -- /* -- * FIXME: this should be in the platform code! -- * Since there is not platform code at all (that is, -- * no mainline users of that driver), place it here -- * for now. -- */ -- phy_id = 0; -- status.link = 1; -- status.duplex = 1; -- status.speed = 100; -- fixed_phy_add(PHY_POLL, phy_id, &status); -+ mdio_bus_id = 0; /* fixed phys bus */ -+ phy_id = pdev->id; - } else { -- printk(KERN_ERR "cpmac: no PHY present\n"); -+ dev_err(&pdev->dev, "no PHY present\n"); - return -ENODEV; - } - } diff --git a/target/linux/ar7/patches-2.6.25/160-cpmac-rx-ring-use-eoq.diff b/target/linux/ar7/patches-2.6.25/160-cpmac-rx-ring-use-eoq.diff deleted file mode 100644 index 24d70e7db8..0000000000 --- a/target/linux/ar7/patches-2.6.25/160-cpmac-rx-ring-use-eoq.diff +++ /dev/null @@ -1,178 +0,0 @@ ---- a/drivers/net/cpmac.c -+++ b/drivers/net/cpmac.c -@@ -187,6 +187,7 @@ - #define CPMAC_EOQ 0x1000 - struct sk_buff *skb; - struct cpmac_desc *next; -+ struct cpmac_desc *prev; - dma_addr_t mapping; - dma_addr_t data_mapping; - }; -@@ -242,6 +243,16 @@ - printk("\n"); - } - -+static void cpmac_dump_all_desc(struct net_device *dev) -+{ -+ struct cpmac_priv *priv = netdev_priv(dev); -+ struct cpmac_desc *dump = priv->rx_head; -+ do { -+ cpmac_dump_desc(dev, dump); -+ dump = dump->next; -+ } while (dump != priv->rx_head); -+} -+ - static void cpmac_dump_skb(struct net_device *dev, struct sk_buff *skb) - { - int i; -@@ -413,21 +424,40 @@ - static int cpmac_poll(struct napi_struct *napi, int budget) - { - struct sk_buff *skb; -- struct cpmac_desc *desc; -- int received = 0; -+ struct cpmac_desc *desc, *restart; - struct cpmac_priv *priv = container_of(napi, struct cpmac_priv, napi); -+ int received = 0, processed = 0; - - spin_lock(&priv->rx_lock); - if (unlikely(!priv->rx_head)) { - if (netif_msg_rx_err(priv) && net_ratelimit()) - printk(KERN_WARNING "%s: rx: polling, but no queue\n", - priv->dev->name); -+ spin_unlock(&priv->rx_lock); - netif_rx_complete(priv->dev, napi); - return 0; - } - - desc = priv->rx_head; -+ restart = NULL; - while (((desc->dataflags & CPMAC_OWN) == 0) && (received < budget)) { -+ processed++; -+ -+ if ((desc->dataflags & CPMAC_EOQ) != 0) { -+ /* The last update to eoq->hw_next didn't happen soon enough, and the -+ * receiver stopped here. Remember this descriptor so we can restart -+ * the receiver after freeing some space. -+ */ -+ if (unlikely(restart)) { -+ if (netif_msg_rx_err(priv)) -+ printk(KERN_ERR "%s: poll found a duplicate EOQ: %p and %p\n", -+ priv->dev->name, restart, desc); -+ goto fatal_error; -+ } -+ -+ restart = desc->next; -+ } -+ - skb = cpmac_rx_one(priv, desc); - if (likely(skb)) { - netif_receive_skb(skb); -@@ -436,19 +466,81 @@ - desc = desc->next; - } - -+ if (desc != priv->rx_head) { -+ /* We freed some buffers, but not the whole ring, add what we did free to the rx list */ -+ desc->prev->hw_next = (u32)0; -+ priv->rx_head->prev->hw_next = priv->rx_head->mapping; -+ } -+ -+ /* Optimization: If we did not actually process an EOQ (perhaps because of -+ * quota limits), check to see if the tail of the queue has EOQ set. We -+ * should immediately restart in that case so that the receiver can restart -+ * and run in parallel with more packet processing. This lets us handle slightly -+ * larger bursts before running out of ring space (assuming dev->weight < ring_size) -+ */ -+ if (!restart && -+ (priv->rx_head->prev->dataflags & (CPMAC_OWN|CPMAC_EOQ)) == CPMAC_EOQ && -+ (priv->rx_head->dataflags & CPMAC_OWN) != 0) { -+ /* reset EOQ so the poll loop (above) doesn't try to restart this when it -+ * eventually gets to this descriptor. -+ */ -+ priv->rx_head->prev->dataflags &= ~CPMAC_EOQ; -+ restart = priv->rx_head; -+ } -+ -+ if (restart) { -+ priv->dev->stats.rx_errors++; -+ priv->dev->stats.rx_fifo_errors++; -+ if (netif_msg_rx_err(priv) && net_ratelimit()) -+ printk(KERN_WARNING "%s: rx dma ring overrun\n", priv->dev->name); -+ -+ if (unlikely((restart->dataflags & CPMAC_OWN) == 0)) { -+ if (netif_msg_drv(priv)) -+ printk(KERN_ERR "%s: cpmac_poll is trying to restart rx from a descriptor that's not free: %p\n", -+ priv->dev->name, restart); -+ goto fatal_error; -+ } -+ -+ cpmac_write(priv->regs, CPMAC_RX_PTR(0), restart->mapping); -+ } -+ - priv->rx_head = desc; - spin_unlock(&priv->rx_lock); - if (unlikely(netif_msg_rx_status(priv))) - printk(KERN_DEBUG "%s: poll processed %d packets\n", - priv->dev->name, received); -- if (desc->dataflags & CPMAC_OWN) { -+ if (processed == 0) { -+ /* we ran out of packets to read, revert to interrupt-driven mode */ - netif_rx_complete(priv->dev, napi); -- cpmac_write(priv->regs, CPMAC_RX_PTR(0), (u32)desc->mapping); - cpmac_write(priv->regs, CPMAC_RX_INT_ENABLE, 1); - return 0; - } - - return 1; -+ -+fatal_error: -+ /* Something went horribly wrong. Reset hardware to try to recover rather than wedging. */ -+ -+ if (netif_msg_drv(priv)) { -+ printk(KERN_ERR "%s: cpmac_poll is confused. Resetting hardware\n", priv->dev->name); -+ cpmac_dump_all_desc(priv->dev); -+ printk(KERN_DEBUG "%s: RX_PTR(0)=0x%08x RX_ACK(0)=0x%08x\n", -+ priv->dev->name, -+ cpmac_read(priv->regs, CPMAC_RX_PTR(0)), -+ cpmac_read(priv->regs, CPMAC_RX_ACK(0))); -+ } -+ -+ spin_unlock(&priv->rx_lock); -+ netif_rx_complete(priv->dev, napi); -+ netif_stop_queue(priv->dev); -+ napi_disable(&priv->napi); -+ -+ atomic_inc(&priv->reset_pending); -+ cpmac_hw_stop(priv->dev); -+ if (!schedule_work(&priv->reset_work)) -+ atomic_dec(&priv->reset_pending); -+ return 0; -+ - } - - static int cpmac_start_xmit(struct sk_buff *skb, struct net_device *dev) -@@ -625,8 +717,10 @@ - desc->dataflags = CPMAC_OWN; - dev->stats.rx_dropped++; - } -+ desc->hw_next = desc->next->mapping; - desc = desc->next; - } -+ priv->rx_head->prev->hw_next = 0; - } - - static void cpmac_clear_tx(struct net_device *dev) -@@ -928,9 +1022,12 @@ - desc->buflen = CPMAC_SKB_SIZE; - desc->dataflags = CPMAC_OWN; - desc->next = &priv->rx_head[(i + 1) % priv->ring_size]; -+ desc->next->prev = desc; - desc->hw_next = (u32)desc->next->mapping; - } - -+ priv->rx_head->prev->hw_next = (u32)0; -+ - if ((res = request_irq(dev->irq, cpmac_irq, IRQF_SHARED, - dev->name, dev))) { - if (netif_msg_drv(priv)) diff --git a/target/linux/ar7/patches-2.6.25/170-cpmac_eth_fix.patch b/target/linux/ar7/patches-2.6.25/170-cpmac_eth_fix.patch deleted file mode 100644 index 0942b1ccc9..0000000000 --- a/target/linux/ar7/patches-2.6.25/170-cpmac_eth_fix.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/drivers/net/cpmac.c -+++ b/drivers/net/cpmac.c -@@ -1178,9 +1178,7 @@ - priv->msg_enable = netif_msg_init(debug_level, 0xff); - memcpy(dev->dev_addr, pdata->dev_addr, sizeof(dev->dev_addr)); - -- snprintf(priv->phy_name, BUS_ID_SIZE, PHY_ID_FMT, mdio_bus_id, phy_id); -- -- priv->phy = phy_connect(dev, priv->phy_name, &cpmac_adjust_link, 0, -+ priv->phy = phy_connect(dev, cpmac_mii.phy_map[phy_id]->dev.bus_id, &cpmac_adjust_link, 0, - PHY_INTERFACE_MODE_MII); - if (IS_ERR(priv->phy)) { - if (netif_msg_drv(priv)) diff --git a/target/linux/ar7/patches-2.6.25/200-mtd_fixes.patch b/target/linux/ar7/patches-2.6.25/200-mtd_fixes.patch deleted file mode 100644 index 850a643024..0000000000 --- a/target/linux/ar7/patches-2.6.25/200-mtd_fixes.patch +++ /dev/null @@ -1,54 +0,0 @@ ---- a/drivers/mtd/ar7part.c -+++ b/drivers/mtd/ar7part.c -@@ -34,6 +34,10 @@ - #define LOADER_MAGIC1 le32_to_cpu(0xfeedfa42) - #define LOADER_MAGIC2 le32_to_cpu(0xfeed1281) - -+#ifndef SQUASHFS_MAGIC -+#define SQUASHFS_MAGIC 0x73717368 -+#endif -+ - struct ar7_bin_rec { - unsigned int checksum; - unsigned int length; -@@ -47,7 +51,8 @@ - unsigned long origin) - { - struct ar7_bin_rec header; -- unsigned int offset, len; -+ unsigned int offset; -+ size_t len; - unsigned int pre_size = master->erasesize, post_size = 0; - unsigned int root_offset = ROOT_OFFSET; - -@@ -66,7 +71,7 @@ - do { /* Try 10 blocks starting from master->erasesize */ - offset = pre_size; - master->read(master, offset, -- sizeof(header), &len, (u8 *)&header); -+ sizeof(header), &len, (uint8_t *)&header); - if (!strncmp((char *)&header, "TIENV0.8", 8)) - ar7_parts[1].offset = pre_size; - if (header.checksum == LOADER_MAGIC1) -@@ -88,7 +93,7 @@ - while (header.length) { - offset += sizeof(header) + header.length; - master->read(master, offset, sizeof(header), -- &len, (u8 *)&header); -+ &len, (uint8_t *)&header); - } - root_offset = offset + sizeof(header) + 4; - break; -@@ -96,10 +101,10 @@ - while (header.length) { - offset += sizeof(header) + header.length; - master->read(master, offset, sizeof(header), -- &len, (u8 *)&header); -+ &len, (uint8_t *)&header); - } - root_offset = offset + sizeof(header) + 4 + 0xff; -- root_offset &= ~(u32)0xff; -+ root_offset &= ~(uint32_t)0xff; - break; - default: - printk(KERN_WARNING "Unknown magic: %08x\n", header.checksum); diff --git a/target/linux/ar7/patches-2.6.25/500-serial_kludge.patch b/target/linux/ar7/patches-2.6.25/500-serial_kludge.patch deleted file mode 100644 index 26b4b3e40f..0000000000 --- a/target/linux/ar7/patches-2.6.25/500-serial_kludge.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- a/drivers/serial/8250.c -+++ b/drivers/serial/8250.c -@@ -267,6 +267,13 @@ - .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, - .flags = UART_CAP_FIFO, - }, -+ [PORT_AR7] = { -+ .name = "TI-AR7", -+ .fifo_size = 16, -+ .tx_loadsz = 16, -+ .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_00, -+ .flags = UART_CAP_FIFO | UART_CAP_AFE, -+ }, - }; - - #if defined (CONFIG_SERIAL_8250_AU1X00) -@@ -2457,7 +2464,11 @@ - { - struct uart_8250_port *up = (struct uart_8250_port *)port; - -+#ifdef CONFIG_AR7 -+ wait_for_xmitr(up, BOTH_EMPTY); -+#else - wait_for_xmitr(up, UART_LSR_THRE); -+#endif - serial_out(up, UART_TX, ch); - } - ---- a/include/linux/serial_core.h -+++ b/include/linux/serial_core.h -@@ -40,7 +40,8 @@ - #define PORT_NS16550A 14 - #define PORT_XSCALE 15 - #define PORT_RM9000 16 /* PMC-Sierra RM9xxx internal UART */ --#define PORT_MAX_8250 16 /* max port ID */ -+#define PORT_AR7 17 -+#define PORT_MAX_8250 17 /* max port ID */ - - /* - * ARM specific type numbers. These are not currently guaranteed diff --git a/target/linux/ar7/patches-2.6.25/900-temporary_cpmac_hack.diff b/target/linux/ar7/patches-2.6.25/900-temporary_cpmac_hack.diff deleted file mode 100644 index 7da22cd99c..0000000000 --- a/target/linux/ar7/patches-2.6.25/900-temporary_cpmac_hack.diff +++ /dev/null @@ -1,27 +0,0 @@ ---- a/drivers/net/cpmac.c -+++ b/drivers/net/cpmac.c -@@ -936,7 +936,8 @@ - int new_state = 0; - - spin_lock(&priv->lock); -- if (priv->phy->link) { -+ if (1 /* priv->phy->link */) { -+ netif_carrier_on(dev); - netif_start_queue(dev); - if (priv->phy->duplex != priv->oldduplex) { - new_state = 1; -@@ -948,11 +949,11 @@ - priv->oldspeed = priv->phy->speed; - } - -- if (!priv->oldlink) { -+ /*if (!priv->oldlink) { - new_state = 1; -- priv->oldlink = 1; -+ priv->oldlink = 1;*/ - netif_schedule(dev); -- } -+ /*}*/ - } else if (priv->oldlink) { - netif_stop_queue(dev); - new_state = 1; diff --git a/target/linux/at91/config-2.6.21 b/target/linux/at91/config-2.6.21 deleted file mode 100644 index dc402dc913..0000000000 --- a/target/linux/at91/config-2.6.21 +++ /dev/null @@ -1,299 +0,0 @@ -# CONFIG_AEABI is not set -CONFIG_ALIGNMENT_TRAP=y -# CONFIG_ARCH_AAEC2000 is not set -CONFIG_ARCH_AT91=y -CONFIG_ARCH_AT91RM9200=y -# CONFIG_ARCH_AT91RM9200DK is not set -# CONFIG_ARCH_AT91SAM9260 is not set -# CONFIG_ARCH_AT91SAM9261 is not set -# CONFIG_ARCH_AT91SAM9263 is not set -# CONFIG_ARCH_AT91SAM9RL is not set -# CONFIG_ARCH_CLPS711X is not set -# CONFIG_ARCH_CLPS7500 is not set -# CONFIG_ARCH_CO285 is not set -# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set -# CONFIG_ARCH_EBSA110 is not set -# CONFIG_ARCH_EP93XX is not set -# CONFIG_ARCH_FOOTBRIDGE is not set -# CONFIG_ARCH_H720X is not set -# CONFIG_ARCH_HAS_ILOG2_U32 is not set -# CONFIG_ARCH_HAS_ILOG2_U64 is not set -# CONFIG_ARCH_IMX is not set -# CONFIG_ARCH_INTEGRATOR is not set -# CONFIG_ARCH_IOP13XX is not set -# CONFIG_ARCH_IOP32X is not set -# CONFIG_ARCH_IOP33X is not set -# CONFIG_ARCH_IXP2000 is not set -# CONFIG_ARCH_IXP23XX is not set -# CONFIG_ARCH_IXP4XX is not set -# CONFIG_ARCH_L7200 is not set -# CONFIG_ARCH_LH7A40X is not set -# CONFIG_ARCH_NETX is not set -# CONFIG_ARCH_NS9XXX is not set -# CONFIG_ARCH_OMAP is not set -# CONFIG_ARCH_PNX4008 is not set -# CONFIG_ARCH_PXA is not set -# CONFIG_ARCH_REALVIEW is not set -# CONFIG_ARCH_RPC is not set -# CONFIG_ARCH_S3C2410 is not set -# CONFIG_ARCH_SA1100 is not set -# CONFIG_ARCH_SHARK is not set -# CONFIG_ARCH_VERSATILE is not set -CONFIG_ARM=y -CONFIG_ARM_AT91_ETHER=y -CONFIG_ARM_THUMB=y -# CONFIG_ARPD is not set -# CONFIG_ARTHUR is not set -# CONFIG_AT91_PROGRAMMABLE_CLOCKS is not set -CONFIG_AT91_SPI=y -# CONFIG_AT91_SPIDEV is not set -CONFIG_AT91_VLIO=y -# CONFIG_ATMEL_TCLIB is not set -# CONFIG_ATM_DUMMY is not set -# CONFIG_ATM_TCP is not set -CONFIG_BASE_SMALL=0 -# CONFIG_BINFMT_AOUT is not set -CONFIG_BITREVERSE=y -# CONFIG_BLK_DEV_LOOP is not set -# CONFIG_BLK_DEV_NBD is not set -CONFIG_BLK_DEV_RAM=y -CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 -CONFIG_BLK_DEV_RAM_COUNT=16 -CONFIG_BLK_DEV_RAM_SIZE=4096 -# CONFIG_BONDING is not set -# CONFIG_BROADCOM_PHY is not set -# CONFIG_BSD_DISKLABEL is not set -# CONFIG_BSD_PROCESS_ACCT is not set -# CONFIG_BT is not set -# CONFIG_CIFS_STATS is not set -# CONFIG_CLS_U32_MARK is not set -# CONFIG_CLS_U32_PERF is not set -# CONFIG_CONFIGFS_FS is not set -CONFIG_CPU_32=y -CONFIG_CPU_32v4T=y -CONFIG_CPU_ABRT_EV4T=y -CONFIG_CPU_ARM920T=y -CONFIG_CPU_CACHE_V4WT=y -CONFIG_CPU_CACHE_VIVT=y -CONFIG_CPU_COPY_V4WB=y -CONFIG_CPU_CP15=y -CONFIG_CPU_CP15_MMU=y -# CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set -# CONFIG_CPU_ICACHE_DISABLE is not set -CONFIG_CPU_TLB_V4WBI=y -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_BLKCIPHER is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_CBC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_DES is not set -CONFIG_CRYPTO_HASH=y -CONFIG_CRYPTO_HMAC=y -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_MD4 is not set -# CONFIG_CRYPTO_MD5 is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_TEST is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_WP512 is not set -CONFIG_DAVICOM_PHY=y -# CONFIG_DEBUG_BUGVERBOSE is not set -# CONFIG_DEBUG_USER is not set -# CONFIG_DM9000 is not set -CONFIG_DUMMY_CONSOLE=y -# CONFIG_FIXED_PHY is not set -# CONFIG_FPE_FASTFPE is not set -CONFIG_FPE_NWFPE=y -# CONFIG_FPE_NWFPE_XP is not set -CONFIG_FRAME_POINTER=y -CONFIG_FS_POSIX_ACL=y -# CONFIG_FW_LOADER is not set -CONFIG_GENERIC_GPIO=y -# CONFIG_GENERIC_TIME is not set -CONFIG_HARDIRQS_SW_RESEND=y -CONFIG_HAS_IOMEM=y -CONFIG_HAS_IOPORT=y -CONFIG_HID=y -CONFIG_HW_CONSOLE=y -# CONFIG_HW_RANDOM is not set -# CONFIG_I2C is not set -# CONFIG_IEEE80211 is not set -# CONFIG_IKCONFIG is not set -# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set -CONFIG_INITRAMFS_SOURCE="" -CONFIG_INPUT=y -# CONFIG_INPUT_EVDEV is not set -CONFIG_INPUT_MOUSEDEV=y -# CONFIG_INPUT_MOUSEDEV_PSAUX is not set -CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 -CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 -# CONFIG_IP6_NF_MATCH_FRAG is not set -# CONFIG_IP6_NF_MATCH_HL is not set -# CONFIG_IP6_NF_MATCH_IPV6HEADER is not set -# CONFIG_IP6_NF_MATCH_OPTS is not set -# CONFIG_IP6_NF_MATCH_RT is not set -# CONFIG_IP6_NF_RAW is not set -# CONFIG_IP6_NF_TARGET_HL is not set -# CONFIG_IP6_NF_TARGET_LOG is not set -# CONFIG_IP_DCCP is not set -# CONFIG_IP_NF_ARPTABLES is not set -# CONFIG_IP_NF_MATCH_ADDRTYPE is not set -# CONFIG_IP_NF_TARGET_LOG is not set -# CONFIG_IP_NF_TARGET_NETMAP is not set -# CONFIG_IP_NF_TARGET_SAME is not set -# CONFIG_IP_ROUTE_VERBOSE is not set -CONFIG_JFFS2_FS_DEBUG=0 -CONFIG_LEDS=y -CONFIG_LEDS_CPU=y -CONFIG_LEDS_TIMER=y -CONFIG_LEGACY_PTYS=y -CONFIG_LEGACY_PTY_COUNT=32 -# CONFIG_LIBCRC32C is not set -# CONFIG_LLC2 is not set -# CONFIG_MACH_AT91RM9200EK is not set -# CONFIG_MACH_ATEB9200 is not set -# CONFIG_MACH_CARMEVA is not set -# CONFIG_MACH_CHUB is not set -# CONFIG_MACH_CSB337 is not set -# CONFIG_MACH_CSB637 is not set -# CONFIG_MACH_KAFA is not set -# CONFIG_MACH_KB9200 is not set -# CONFIG_MACH_ONEARM is not set -CONFIG_MACH_VLINK=y -# CONFIG_MMC is not set -# CONFIG_MMC_AT91 is not set -# CONFIG_MMC_BLOCK is not set -# CONFIG_MMC_DEBUG is not set -CONFIG_MTD=y -# CONFIG_MTD_ABSENT is not set -# CONFIG_MTD_AFS_PARTS is not set -CONFIG_MTD_AT91_DATAFLASH=y -CONFIG_MTD_AT91_PARTS=y -CONFIG_MTD_BLKDEVS=y -CONFIG_MTD_BLOCK=y -# CONFIG_MTD_BLOCK2MTD is not set -# CONFIG_MTD_CFI is not set -CONFIG_MTD_CFI_I1=y -CONFIG_MTD_CFI_I2=y -# CONFIG_MTD_CFI_I4 is not set -# CONFIG_MTD_CFI_I8 is not set -CONFIG_MTD_CHAR=y -CONFIG_MTD_CMDLINE_PARTS=y -# CONFIG_MTD_COMPLEX_MAPPINGS is not set -# CONFIG_MTD_CONCAT is not set -# CONFIG_MTD_DEBUG is not set -# CONFIG_MTD_DOC2000 is not set -# CONFIG_MTD_DOC2001 is not set -# CONFIG_MTD_DOC2001PLUS is not set -# CONFIG_MTD_JEDECPROBE is not set -CONFIG_MTD_MAP_BANK_WIDTH_1=y -# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set -CONFIG_MTD_MAP_BANK_WIDTH_2=y -# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set -CONFIG_MTD_MAP_BANK_WIDTH_4=y -# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set -# CONFIG_MTD_MTDRAM is not set -# CONFIG_MTD_OBSOLETE_CHIPS is not set -# CONFIG_MTD_ONENAND is not set -CONFIG_MTD_PARTITIONS=y -# CONFIG_MTD_PHRAM is not set -# CONFIG_MTD_PLATRAM is not set -# CONFIG_MTD_RAM is not set -# CONFIG_MTD_REDBOOT_PARTS is not set -# CONFIG_MTD_ROM is not set -# CONFIG_MTD_ROOTFS_ROOT_DEV is not set -# CONFIG_MTD_ROOTFS_SPLIT is not set -# CONFIG_MTD_SLRAM is not set -# CONFIG_NET_EMATCH is not set -# CONFIG_NET_IPGRE_BROADCAST is not set -# CONFIG_NET_PKTGEN is not set -# CONFIG_NET_RADIO is not set -CONFIG_NET_SCH_FIFO=y -# CONFIG_NET_SCH_NETEM is not set -# CONFIG_NEW_LEDS is not set -# CONFIG_NO_IDLE_HZ is not set -# CONFIG_NO_IOPORT is not set -# CONFIG_NVRAM is not set -# CONFIG_OUTER_CACHE is not set -CONFIG_PHYLIB=y -# CONFIG_PNPACPI is not set -# CONFIG_PPPOATM is not set -# CONFIG_PPP_MULTILINK is not set -# CONFIG_PPP_SYNC_TTY is not set -# CONFIG_QSEMI_PHY is not set -# CONFIG_ROMFS_FS is not set -CONFIG_RTC_LIB=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -# CONFIG_SCSI_MULTI_LUN is not set -# CONFIG_SERIAL_8250 is not set -CONFIG_SERIAL_ATMEL=y -CONFIG_SERIAL_ATMEL_CONSOLE=y -# CONFIG_SERIAL_ATMEL_TTYAT is not set -CONFIG_SERIO=y -# CONFIG_SERIO_LIBPS2 is not set -CONFIG_SERIO_RAW=y -CONFIG_SERIO_SERPORT=y -# CONFIG_SMC91X is not set -# CONFIG_SMSC_PHY is not set -# CONFIG_SOUND is not set -# CONFIG_SPARSEMEM_STATIC is not set -CONFIG_SPLIT_PTLOCK_CPUS=4096 -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y -CONFIG_UID16=y -# CONFIG_UNUSED_SYMBOLS is not set -# CONFIG_USB_ARCH_HAS_EHCI is not set -# CONFIG_USB_ATM is not set -# CONFIG_USB_CATC is not set -# CONFIG_USB_GTCO is not set -# CONFIG_USB_KAWETH is not set -CONFIG_USB_MON=y -# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set -# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_PEGASUS is not set -# CONFIG_USB_PRINTER is not set -# CONFIG_USB_SERIAL_EDGEPORT is not set -# CONFIG_USB_SERIAL_EDGEPORT_TI is not set -# CONFIG_USB_SERIAL_FUNSOFT is not set -# CONFIG_USB_SERIAL_GARMIN is not set -# CONFIG_USB_SERIAL_IPAQ is not set -# CONFIG_USB_SERIAL_IPW is not set -# CONFIG_USB_SERIAL_IR is not set -# CONFIG_USB_SERIAL_KEYSPAN is not set -# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set -# CONFIG_USB_SERIAL_KLSI is not set -# CONFIG_USB_SERIAL_KOBIL_SCT is not set -# CONFIG_USB_SERIAL_MCT_U232 is not set -# CONFIG_USB_SERIAL_OMNINET is not set -# CONFIG_USB_SERIAL_SAFE is not set -# CONFIG_USB_SERIAL_VISOR is not set -# CONFIG_USB_STORAGE_ALAUDA is not set -# CONFIG_USB_STORAGE_DATAFAB is not set -# CONFIG_USB_STORAGE_DPCM is not set -# CONFIG_USB_STORAGE_FREECOM is not set -# CONFIG_USB_STORAGE_JUMPSHOT is not set -# CONFIG_USB_STORAGE_KARMA is not set -# CONFIG_USB_STORAGE_SDDR09 is not set -# CONFIG_USB_STORAGE_SDDR55 is not set -# CONFIG_USB_STORAGE_USBAT is not set -# CONFIG_USB_USBNET is not set -# CONFIG_USB_USBNET_MII is not set -# CONFIG_USB_YEALINK is not set -CONFIG_VECTORS_BASE=0xffff0000 -# CONFIG_VGA_CONSOLE is not set -CONFIG_VT=y -CONFIG_VT_CONSOLE=y -# CONFIG_VT_HW_CONSOLE_BINDING is not set -# CONFIG_WATCHDOG is not set -# CONFIG_XIP_KERNEL is not set -CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_ZBOOT_ROM_TEXT=0x0 diff --git a/target/linux/at91/patches-2.6.21/000-at91patches.patch b/target/linux/at91/patches-2.6.21/000-at91patches.patch deleted file mode 100644 index 09cdcf7cb3..0000000000 --- a/target/linux/at91/patches-2.6.21/000-at91patches.patch +++ /dev/null @@ -1,10403 +0,0 @@ -Index: linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/boot/compressed/head-at91rm9200.S -+++ linux-2.6.21.7/arch/arm/boot/compressed/head-at91rm9200.S -@@ -67,6 +67,12 @@ - cmp r7, r3 - beq 99f - -+ @ Promwad Chub : 1181 -+ mov r3, #(MACH_TYPE_CHUB & 0xff) -+ orr r3, r3, #(MACH_TYPE_CHUB & 0xff00) -+ cmp r7, r3 -+ beq 99f -+ - @ Unknown board, use the AT91RM9200DK board - @ mov r7, #MACH_TYPE_AT91RM9200 - mov r7, #(MACH_TYPE_AT91RM9200DK & 0xff) -Index: linux-2.6.21.7/arch/arm/mach-at91/Kconfig -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/Kconfig -+++ linux-2.6.21.7/arch/arm/mach-at91/Kconfig -@@ -17,6 +17,9 @@ config ARCH_AT91SAM9261 - config ARCH_AT91SAM9263 - bool "AT91SAM9263" - -+config ARCH_AT91SAM9RL -+ bool "AT91SAM9RL" -+ - endchoice - - # ---------------------------------------------------------- -@@ -87,6 +90,12 @@ config MACH_KAFA - help - Select this if you are using Sperry-Sun's KAFA board. - -+config MACH_CHUB -+ bool "Promwad Chub board" -+ depends on ARCH_AT91RM9200 -+ help -+ Select this if you are using Promwad's Chub board. -+ - endif - - # ---------------------------------------------------------- -@@ -111,6 +120,13 @@ config MACH_AT91SAM9260EK - Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit - - -+config MACH_CAM60 -+ bool "KwikByte CAM60 board" -+ depends on ARCH_AT91SAM9260 -+ help -+ Select this if you are using KwikByte's CAM60 board based on the Atmel AT91SAM9260. -+ -+ - endif - - # ---------------------------------------------------------- -@@ -145,6 +161,20 @@ endif - - # ---------------------------------------------------------- - -+if ARCH_AT91SAM9RL -+ -+comment "AT91SAM9RL Board Type" -+ -+config MACH_AT91SAM9RLEK -+ bool "Atmel AT91SAM9RL-EK Evaluation Kit" -+ depends on ARCH_AT91SAM9RL -+ help -+ Select this if you are using Atmel's AT91SAM9RL-EK Evaluation Kit. -+ -+endif -+ -+# ---------------------------------------------------------- -+ - comment "AT91 Board Options" - - config MTD_AT91_DATAFLASH_CARD -@@ -160,6 +190,20 @@ config MTD_NAND_AT91_BUSWIDTH_16 - On AT91SAM926x boards both types of NAND flash can be present - (8 and 16 bit data bus width). - -+config CSB300_WAKE_SW0 -+ bool "CSB300 SW0 irq0 wakeup" -+ depends on MACH_CSB337 && PM -+ help -+ If you have a CSB300 connected to your CSB337, this lets -+ SW0 serve as a wakeup button. It uses IRQ0. -+ -+config CSB300_WAKE_SW1 -+ bool "CSB300 SW1 gpio wakeup" -+ depends on MACH_CSB337 && PM -+ help -+ If you have a CSB300 connected to your CSB337, this lets -+ SW1 serve as a wakeup button. It uses GPIO. -+ - # ---------------------------------------------------------- - - comment "AT91 Feature Selections" -@@ -170,6 +214,20 @@ config AT91_PROGRAMMABLE_CLOCKS - Select this if you need to program one or more of the PCK0..PCK3 - programmable clock outputs. - -+config ATMEL_TCLIB -+ bool "Timer/Counter Library" -+ help -+ Select this if you want a library to allocate the Timer/Counter -+ blocks found on many Atmel processors. This facilitates using -+ these modules despite processor differences. -+ -+config AT91_SLOW_CLOCK -+ bool "Suspend-to-RAM uses slow clock mode (EXPERIMENTAL)" -+ depends on PM && EXPERIMENTAL -+ help -+ Select this if you wish to put the CPU into slow clock mode -+ while in the "Suspend to RAM" state, to save more power. -+ - endmenu - - endif -Index: linux-2.6.21.7/arch/arm/mach-at91/Makefile -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/Makefile -+++ linux-2.6.21.7/arch/arm/mach-at91/Makefile -@@ -8,12 +8,15 @@ obj-n := - obj- := - - obj-$(CONFIG_PM) += pm.o -+obj-$(CONFIG_AT91_SLOW_CLOCK) += pm_slowclock.o -+obj-$(CONFIG_ATMEL_TCLIB) += tclib.o - - # CPU-specific support - obj-$(CONFIG_ARCH_AT91RM9200) += at91rm9200.o at91rm9200_time.o at91rm9200_devices.o - obj-$(CONFIG_ARCH_AT91SAM9260) += at91sam9260.o at91sam926x_time.o at91sam9260_devices.o - obj-$(CONFIG_ARCH_AT91SAM9261) += at91sam9261.o at91sam926x_time.o at91sam9261_devices.o - obj-$(CONFIG_ARCH_AT91SAM9263) += at91sam9263.o at91sam926x_time.o at91sam9263_devices.o -+obj-$(CONFIG_ARCH_AT91SAM9RL) += at91sam9rl.o at91sam926x_time.o at91sam9rl_devices.o - - # AT91RM9200 board-specific support - obj-$(CONFIG_MACH_ONEARM) += board-1arm.o -@@ -25,9 +28,11 @@ obj-$(CONFIG_MACH_CARMEVA) += board-carm - obj-$(CONFIG_MACH_KB9200) += board-kb9202.o - obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o - obj-$(CONFIG_MACH_KAFA) += board-kafa.o -+obj-$(CONFIG_MACH_CHUB) += board-chub.o - - # AT91SAM9260 board-specific support - obj-$(CONFIG_MACH_AT91SAM9260EK) += board-sam9260ek.o -+obj-$(CONFIG_MACH_CAM60) += board-cam60.o - - # AT91SAM9261 board-specific support - obj-$(CONFIG_MACH_AT91SAM9261EK) += board-sam9261ek.o -@@ -35,9 +40,13 @@ obj-$(CONFIG_MACH_AT91SAM9261EK) += boar - # AT91SAM9263 board-specific support - obj-$(CONFIG_MACH_AT91SAM9263EK) += board-sam9263ek.o - -+# AT91SAM9RL board-specific support -+obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o -+ - # LEDs support - led-$(CONFIG_ARCH_AT91RM9200DK) += leds.o - led-$(CONFIG_MACH_AT91RM9200EK) += leds.o -+led-$(CONFIG_MACH_AT91SAM9261EK)+= leds.o - led-$(CONFIG_MACH_CSB337) += leds.o - led-$(CONFIG_MACH_CSB637) += leds.o - led-$(CONFIG_MACH_KB9200) += leds.o -@@ -45,7 +54,7 @@ led-$(CONFIG_MACH_KAFA) += leds.o - obj-$(CONFIG_LEDS) += $(led-y) - - # VGA support --#obj-$(CONFIG_FB_S1D13XXX) += ics1523.o -+obj-$(CONFIG_FB_S1D13XXX) += ics1523.o - - - ifeq ($(CONFIG_PM_DEBUG),y) -Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200.c -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200.c -+++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200.c -@@ -117,6 +117,21 @@ static struct clk pioD_clk = { - .pmc_mask = 1 << AT91RM9200_ID_PIOD, - .type = CLK_TYPE_PERIPHERAL, - }; -+static struct clk ssc0_clk = { -+ .name = "ssc0_clk", -+ .pmc_mask = 1 << AT91RM9200_ID_SSC0, -+ .type = CLK_TYPE_PERIPHERAL, -+}; -+static struct clk ssc1_clk = { -+ .name = "ssc1_clk", -+ .pmc_mask = 1 << AT91RM9200_ID_SSC1, -+ .type = CLK_TYPE_PERIPHERAL, -+}; -+static struct clk ssc2_clk = { -+ .name = "ssc2_clk", -+ .pmc_mask = 1 << AT91RM9200_ID_SSC2, -+ .type = CLK_TYPE_PERIPHERAL, -+}; - static struct clk tc0_clk = { - .name = "tc0_clk", - .pmc_mask = 1 << AT91RM9200_ID_TC0, -@@ -161,7 +176,9 @@ static struct clk *periph_clocks[] __ini - &udc_clk, - &twi_clk, - &spi_clk, -- // ssc 0 .. ssc2 -+ &ssc0_clk, -+ &ssc1_clk, -+ &ssc2_clk, - &tc0_clk, - &tc1_clk, - &tc2_clk, -@@ -250,6 +267,33 @@ static void at91rm9200_reset(void) - - - /* -------------------------------------------------------------------- -+ * Timer/Counter library initialization -+ * -------------------------------------------------------------------- */ -+#ifdef CONFIG_ATMEL_TCLIB -+ -+#include "tclib.h" -+ -+static struct atmel_tcblock at91rm9200_tcblocks[] = { -+ [0] = { -+ .physaddr = AT91RM9200_BASE_TCB0, -+ .irq = { AT91RM9200_ID_TC0, AT91RM9200_ID_TC1, AT91RM9200_ID_TC2 }, -+ .clk = { &tc0_clk, &tc1_clk, &tc2_clk }, -+ }, -+ [1] = { -+ .physaddr = AT91RM9200_BASE_TCB1, -+ .irq = { AT91RM9200_ID_TC3, AT91RM9200_ID_TC4, AT91RM9200_ID_TC5 }, -+ .clk = { &tc3_clk, &tc4_clk, &tc5_clk }, -+ }, -+}; -+ -+#define at91rm9200_tc_init() atmel_tc_init(at91rm9200_tcblocks, ARRAY_SIZE(at91rm9200_tcblocks)) -+ -+#else -+#define at91rm9200_tc_init() do {} while(0) -+#endif -+ -+ -+/* -------------------------------------------------------------------- - * AT91RM9200 processor initialization - * -------------------------------------------------------------------- */ - void __init at91rm9200_initialize(unsigned long main_clock, unsigned short banks) -@@ -271,6 +315,9 @@ void __init at91rm9200_initialize(unsign - - /* Initialize GPIO subsystem */ - at91_gpio_init(at91rm9200_gpio, banks); -+ -+ /* Initialize the Timer/Counter blocks */ -+ at91rm9200_tc_init(); - } - - -@@ -284,28 +331,28 @@ void __init at91rm9200_initialize(unsign - static unsigned int at91rm9200_default_irq_priority[NR_AIC_IRQS] __initdata = { - 7, /* Advanced Interrupt Controller (FIQ) */ - 7, /* System Peripherals */ -- 0, /* Parallel IO Controller A */ -- 0, /* Parallel IO Controller B */ -- 0, /* Parallel IO Controller C */ -- 0, /* Parallel IO Controller D */ -- 6, /* USART 0 */ -- 6, /* USART 1 */ -- 6, /* USART 2 */ -- 6, /* USART 3 */ -+ 1, /* Parallel IO Controller A */ -+ 1, /* Parallel IO Controller B */ -+ 1, /* Parallel IO Controller C */ -+ 1, /* Parallel IO Controller D */ -+ 5, /* USART 0 */ -+ 5, /* USART 1 */ -+ 5, /* USART 2 */ -+ 5, /* USART 3 */ - 0, /* Multimedia Card Interface */ -- 4, /* USB Device Port */ -- 0, /* Two-Wire Interface */ -- 6, /* Serial Peripheral Interface */ -- 5, /* Serial Synchronous Controller 0 */ -- 5, /* Serial Synchronous Controller 1 */ -- 5, /* Serial Synchronous Controller 2 */ -+ 2, /* USB Device Port */ -+ 6, /* Two-Wire Interface */ -+ 5, /* Serial Peripheral Interface */ -+ 4, /* Serial Synchronous Controller 0 */ -+ 4, /* Serial Synchronous Controller 1 */ -+ 4, /* Serial Synchronous Controller 2 */ - 0, /* Timer Counter 0 */ - 0, /* Timer Counter 1 */ - 0, /* Timer Counter 2 */ - 0, /* Timer Counter 3 */ - 0, /* Timer Counter 4 */ - 0, /* Timer Counter 5 */ -- 3, /* USB Host port */ -+ 2, /* USB Host port */ - 3, /* Ethernet MAC */ - 0, /* Advanced Interrupt Controller (IRQ0) */ - 0, /* Advanced Interrupt Controller (IRQ1) */ -Index: linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/at91rm9200_devices.c -+++ linux-2.6.21.7/arch/arm/mach-at91/at91rm9200_devices.c -@@ -480,7 +480,18 @@ void __init at91_add_device_i2c(void) {} - * SPI - * -------------------------------------------------------------------- */ - --#if defined(CONFIG_SPI_AT91) || defined(CONFIG_SPI_AT91_MODULE) || defined(CONFIG_AT91_SPI) || defined(CONFIG_AT91_SPI_MODULE) -+#if defined(CONFIG_AT91_SPI) || defined(CONFIG_AT91_SPI_MODULE) /* legacy SPI driver */ -+#define SPI_DEVNAME "at91_spi" -+ -+#elif defined(CONFIG_SPI_AT91) || defined(CONFIG_SPI_AT91_MODULE) /* SPI bitbanging driver */ -+#define SPI_DEVNAME "at91_spi" -+ -+#elif defined(CONFIG_SPI_ATMEL) || defined(CONFIG_SPI_ATMEL_MODULE) /* new SPI driver */ -+#define SPI_DEVNAME "atmel_spi" -+ -+#endif -+ -+#ifdef SPI_DEVNAME - static u64 spi_dmamask = 0xffffffffUL; - - static struct resource spi_resources[] = { -@@ -497,7 +508,7 @@ static struct resource spi_resources[] = - }; - - static struct platform_device at91rm9200_spi_device = { -- .name = "at91_spi", -+ .name = SPI_DEVNAME, - .id = 0, - .dev = { - .dma_mask = &spi_dmamask, -@@ -606,6 +617,32 @@ void __init at91_init_leds(u8 cpu_led, u - #endif - - -+#if defined(CONFIG_NEW_LEDS) -+ -+static struct platform_device at91_leds = { -+ .name = "at91_leds", -+ .id = -1, -+}; -+ -+void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) -+{ -+ if (!nr) -+ return; -+ -+ at91_leds.dev.platform_data = leds; -+ -+ for ( ; nr; nr--, leds++) { -+ leds->index = nr; /* first record stores number of leds */ -+ at91_set_gpio_output(leds->gpio, (leds->flags & 1) == 0); -+ } -+ -+ platform_device_register(&at91_leds); -+} -+#else -+void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) {} -+#endif -+ -+ - /* -------------------------------------------------------------------- - * UART - * -------------------------------------------------------------------- */ -Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9260.c -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9260.c -+++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9260.c -@@ -119,6 +119,11 @@ static struct clk spi1_clk = { - .pmc_mask = 1 << AT91SAM9260_ID_SPI1, - .type = CLK_TYPE_PERIPHERAL, - }; -+static struct clk ssc_clk = { -+ .name = "ssc_clk", -+ .pmc_mask = 1 << AT91SAM9260_ID_SSC, -+ .type = CLK_TYPE_PERIPHERAL, -+}; - static struct clk tc0_clk = { - .name = "tc0_clk", - .pmc_mask = 1 << AT91SAM9260_ID_TC0, -@@ -193,7 +198,7 @@ static struct clk *periph_clocks[] __ini - &twi_clk, - &spi0_clk, - &spi1_clk, -- // ssc -+ &ssc_clk, - &tc0_clk, - &tc1_clk, - &tc2_clk, -@@ -264,6 +269,33 @@ static void at91sam9260_reset(void) - - - /* -------------------------------------------------------------------- -+ * Timer/Counter library initialization -+ * -------------------------------------------------------------------- */ -+#ifdef CONFIG_ATMEL_TCLIB -+ -+#include "tclib.h" -+ -+static struct atmel_tcblock at91sam9260_tcblocks[] = { -+ [0] = { -+ .physaddr = AT91SAM9260_BASE_TCB0, -+ .irq = { AT91SAM9260_ID_TC0, AT91SAM9260_ID_TC1, AT91SAM9260_ID_TC2 }, -+ .clk = { &tc0_clk, &tc1_clk, &tc2_clk }, -+ }, -+ [1] = { -+ .physaddr = AT91SAM9260_BASE_TCB1, -+ .irq = { AT91SAM9260_ID_TC3, AT91SAM9260_ID_TC4, AT91SAM9260_ID_TC5 }, -+ .clk = { &tc3_clk, &tc4_clk, &tc5_clk }, -+ }, -+}; -+ -+#define at91sam9260_tc_init() atmel_tc_init(at91sam9260_tcblocks, ARRAY_SIZE(at91sam9260_tcblocks)) -+ -+#else -+#define at91sam9260_tc_init() do {} while(0) -+#endif -+ -+ -+/* -------------------------------------------------------------------- - * AT91SAM9260 processor initialization - * -------------------------------------------------------------------- */ - -@@ -310,6 +342,9 @@ void __init at91sam9260_initialize(unsig - - /* Register GPIO subsystem */ - at91_gpio_init(at91sam9260_gpio, 3); -+ -+ /* Initialize the Timer/Counter blocks */ -+ at91sam9260_tc_init(); - } - - /* -------------------------------------------------------------------- -@@ -322,30 +357,30 @@ void __init at91sam9260_initialize(unsig - static unsigned int at91sam9260_default_irq_priority[NR_AIC_IRQS] __initdata = { - 7, /* Advanced Interrupt Controller */ - 7, /* System Peripherals */ -- 0, /* Parallel IO Controller A */ -- 0, /* Parallel IO Controller B */ -- 0, /* Parallel IO Controller C */ -+ 1, /* Parallel IO Controller A */ -+ 1, /* Parallel IO Controller B */ -+ 1, /* Parallel IO Controller C */ - 0, /* Analog-to-Digital Converter */ -- 6, /* USART 0 */ -- 6, /* USART 1 */ -- 6, /* USART 2 */ -+ 5, /* USART 0 */ -+ 5, /* USART 1 */ -+ 5, /* USART 2 */ - 0, /* Multimedia Card Interface */ -- 4, /* USB Device Port */ -- 0, /* Two-Wire Interface */ -- 6, /* Serial Peripheral Interface 0 */ -- 6, /* Serial Peripheral Interface 1 */ -+ 2, /* USB Device Port */ -+ 6, /* Two-Wire Interface */ -+ 5, /* Serial Peripheral Interface 0 */ -+ 5, /* Serial Peripheral Interface 1 */ - 5, /* Serial Synchronous Controller */ - 0, - 0, - 0, /* Timer Counter 0 */ - 0, /* Timer Counter 1 */ - 0, /* Timer Counter 2 */ -- 3, /* USB Host port */ -+ 2, /* USB Host port */ - 3, /* Ethernet */ - 0, /* Image Sensor Interface */ -- 6, /* USART 3 */ -- 6, /* USART 4 */ -- 6, /* USART 5 */ -+ 5, /* USART 3 */ -+ 5, /* USART 4 */ -+ 5, /* USART 5 */ - 0, /* Timer Counter 3 */ - 0, /* Timer Counter 4 */ - 0, /* Timer Counter 5 */ -Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9260_devices.c -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9260_devices.c -+++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9260_devices.c -@@ -527,6 +527,32 @@ void __init at91_init_leds(u8 cpu_led, u - #endif - - -+#if defined(CONFIG_NEW_LEDS) -+ -+static struct platform_device at91_leds = { -+ .name = "at91_leds", -+ .id = -1, -+}; -+ -+void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) -+{ -+ if (!nr) -+ return; -+ -+ at91_leds.dev.platform_data = leds; -+ -+ for ( ; nr; nr--, leds++) { -+ leds->index = nr; /* first record stores number of leds */ -+ at91_set_gpio_output(leds->gpio, (leds->flags & 1) == 0); -+ } -+ -+ platform_device_register(&at91_leds); -+} -+#else -+void __init at91_gpio_leds(struct at91_gpio_led *leds, int nr) {} -+#endif -+ -+ - /* -------------------------------------------------------------------- - * UART - * -------------------------------------------------------------------- */ -Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9261.c -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9261.c -+++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9261.c -@@ -97,6 +97,21 @@ static struct clk spi1_clk = { - .pmc_mask = 1 << AT91SAM9261_ID_SPI1, - .type = CLK_TYPE_PERIPHERAL, - }; -+static struct clk ssc0_clk = { -+ .name = "ssc0_clk", -+ .pmc_mask = 1 << AT91SAM9261_ID_SSC0, -+ .type = CLK_TYPE_PERIPHERAL, -+}; -+static struct clk ssc1_clk = { -+ .name = "ssc1_clk", -+ .pmc_mask = 1 << AT91SAM9261_ID_SSC1, -+ .type = CLK_TYPE_PERIPHERAL, -+}; -+static struct clk ssc2_clk = { -+ .name = "ssc2_clk", -+ .pmc_mask = 1 << AT91SAM9261_ID_SSC2, -+ .type = CLK_TYPE_PERIPHERAL, -+}; - static struct clk tc0_clk = { - .name = "tc0_clk", - .pmc_mask = 1 << AT91SAM9261_ID_TC0, -@@ -135,7 +150,9 @@ static struct clk *periph_clocks[] __ini - &twi_clk, - &spi0_clk, - &spi1_clk, -- // ssc 0 .. ssc2 -+ &ssc0_clk, -+ &ssc1_clk, -+ &ssc2_clk, - &tc0_clk, - &tc1_clk, - &tc2_clk, -@@ -230,6 +247,28 @@ static void at91sam9261_reset(void) - - - /* -------------------------------------------------------------------- -+ * Timer/Counter library initialization -+ * -------------------------------------------------------------------- */ -+#ifdef CONFIG_ATMEL_TCLIB -+ -+#include "tclib.h" -+ -+static struct atmel_tcblock at91sam9261_tcblocks[] = { -+ [0] = { -+ .physaddr = AT91SAM9261_BASE_TCB0, -+ .irq = { AT91SAM9261_ID_TC0, AT91SAM9261_ID_TC1, AT91SAM9261_ID_TC2 }, -+ .clk = { &tc0_clk, &tc1_clk, &tc2_clk }, -+ } -+}; -+ -+#define at91sam9261_tc_init() atmel_tc_init(at91sam9261_tcblocks, ARRAY_SIZE(at91sam9261_tcblocks)) -+ -+#else -+#define at91sam9261_tc_init() do {} while(0) -+#endif -+ -+ -+/* -------------------------------------------------------------------- - * AT91SAM9261 processor initialization - * -------------------------------------------------------------------- */ - -@@ -250,6 +289,9 @@ void __init at91sam9261_initialize(unsig - - /* Register GPIO subsystem */ - at91_gpio_init(at91sam9261_gpio, 3); -+ -+ /* Initialize the Timer/Counter blocks */ -+ at91sam9261_tc_init(); - } - - /* -------------------------------------------------------------------- -@@ -262,25 +304,25 @@ void __init at91sam9261_initialize(unsig - static unsigned int at91sam9261_default_irq_priority[NR_AIC_IRQS] __initdata = { - 7, /* Advanced Interrupt Controller */ - 7, /* System Peripherals */ -- 0, /* Parallel IO Controller A */ -- 0, /* Parallel IO Controller B */ -- 0, /* Parallel IO Controller C */ -- 0, -- 6, /* USART 0 */ -- 6, /* USART 1 */ -- 6, /* USART 2 */ -+ 1, /* Parallel IO Controller A */ -+ 1, /* Parallel IO Controller B */ -+ 1, /* Parallel IO Controller C */ -+ 0, -+ 5, /* USART 0 */ -+ 5, /* USART 1 */ -+ 5, /* USART 2 */ - 0, /* Multimedia Card Interface */ -- 4, /* USB Device Port */ -- 0, /* Two-Wire Interface */ -- 6, /* Serial Peripheral Interface 0 */ -- 6, /* Serial Peripheral Interface 1 */ -- 5, /* Serial Synchronous Controller 0 */ -- 5, /* Serial Synchronous Controller 1 */ -- 5, /* Serial Synchronous Controller 2 */ -+ 2, /* USB Device Port */ -+ 6, /* Two-Wire Interface */ -+ 5, /* Serial Peripheral Interface 0 */ -+ 5, /* Serial Peripheral Interface 1 */ -+ 4, /* Serial Synchronous Controller 0 */ -+ 4, /* Serial Synchronous Controller 1 */ -+ 4, /* Serial Synchronous Controller 2 */ - 0, /* Timer Counter 0 */ - 0, /* Timer Counter 1 */ - 0, /* Timer Counter 2 */ -- 3, /* USB Host port */ -+ 2, /* USB Host port */ - 3, /* LCD Controller */ - 0, - 0, -Index: linux-2.6.21.7/arch/arm/mach-at91/at91sam9261_devices.c -=================================================================== ---- linux-2.6.21.7.orig/arch/arm/mach-at91/at91sam9261_devices.c -+++ linux-2.6.21.7/arch/arm/mach-at91/at91sam9261_devices.c -@@ -14,6 +14,9 @@ - #include - - #include -+#include -+ -+#include