Date:2011-04-21 13:45:23 (2 years 1 month ago)
Author:acoul
Commit:dfba2f5fb19c96511b4f389a65492be66b908f07
Message:linux/ar71xx: add 2.6.38 preliminary support

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26746 3c298f89-4303-0410-b956-a3cf2f4a3e73
Files: target/linux/ar71xx/config-2.6.38 (1 diff)
target/linux/ar71xx/patches-2.6.38/001-ar71xx_core.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/002-ar71xx_pci.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/003-ar71xx_usb_host.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/004-ar71xx_spi_controller.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/005-ar71xx_mac_driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/006-ar71xx_wdt_driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/007-ar91xx_flash_driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/101-ksz8041_phy_driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/102-mtd_m25p80_add_myloader_parser.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/104-mtd_m25p80_add_redboot_parser.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/107-mtd-SST39VF6401B-support.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/108-mtd_fix_cfi_cmdset_0002_status_check.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/109-mtd-wrt160nl-trx-parser.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/110-usb-ehci-add-war-for-synopsys-hc-bug.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/111-mtd-cfi_cmdset_0002-force-word-write.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/120-dsa-trailer-tag-validation-fix.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/121-dsa-add-88e6063-driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/140-redboot_partition_scan.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/150-drivers-link-spi-before-mtd.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/151-spi-add-various-flags.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/152-rb4xx-spi-driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/153-spi-rb4xx-cpld-driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/200-rb4xx_nand_driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/201-ap83_spi_controller.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/202-spi_vsc7385_driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/203-pb44_spi_controller.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/205-wndr3700-usb-led-driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/206-nxp-74hc153-gpio-chip-driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/207-rb750-led-driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/208-rb750-nand-driver.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/300-mips_fw_myloader.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/400-2.6.35-fix-nand_scan_ident-options.patch (1 diff)
target/linux/ar71xx/patches-2.6.38/901-get_c0_compare_irq_function.patch (1 diff)

Change Details

target/linux/ar71xx/config-2.6.38
1CONFIG_AG71XX=y
2CONFIG_AG71XX_AR8216_SUPPORT=y
3# CONFIG_AG71XX_DEBUG is not set
4# CONFIG_AG71XX_DEBUG_FS is not set
5CONFIG_AR71XX_DEV_AP91_PCI=y
6CONFIG_AR71XX_DEV_AP94_PCI=y
7CONFIG_AR71XX_DEV_AR9XXX_WMAC=y
8CONFIG_AR71XX_DEV_DB120_PCI=y
9CONFIG_AR71XX_DEV_DSA=y
10CONFIG_AR71XX_DEV_GPIO_BUTTONS=y
11CONFIG_AR71XX_DEV_LEDS_GPIO=y
12CONFIG_AR71XX_DEV_M25P80=y
13CONFIG_AR71XX_DEV_PB42_PCI=y
14CONFIG_AR71XX_DEV_PB9X_PCI=y
15CONFIG_AR71XX_DEV_USB=y
16CONFIG_AR71XX_MACH_AP81=y
17CONFIG_AR71XX_MACH_AP83=y
18CONFIG_AR71XX_MACH_AP96=y
19CONFIG_AR71XX_MACH_AW_NR580=y
20CONFIG_AR71XX_MACH_DB120=y
21CONFIG_AR71XX_MACH_DIR_600_A1=y
22CONFIG_AR71XX_MACH_DIR_615_C1=y
23CONFIG_AR71XX_MACH_DIR_825_B1=y
24CONFIG_AR71XX_MACH_EAP7660D=y
25CONFIG_AR71XX_MACH_JA76PF=y
26CONFIG_AR71XX_MACH_JWAP003=y
27CONFIG_AR71XX_MACH_MZK_W04NU=y
28CONFIG_AR71XX_MACH_MZK_W300NH=y
29CONFIG_AR71XX_MACH_NBG460N=y
30CONFIG_AR71XX_MACH_PB42=y
31CONFIG_AR71XX_MACH_PB44=y
32CONFIG_AR71XX_MACH_PB92=y
33CONFIG_AR71XX_MACH_RB4XX=y
34CONFIG_AR71XX_MACH_RB750=y
35CONFIG_AR71XX_MACH_TEW_632BRP=y
36CONFIG_AR71XX_MACH_TL_MR3X20=y
37CONFIG_AR71XX_MACH_TL_WA901ND=y
38CONFIG_AR71XX_MACH_TL_WA901ND_V2=y
39CONFIG_AR71XX_MACH_TL_WR1043ND=y
40CONFIG_AR71XX_MACH_TL_WR741ND=y
41CONFIG_AR71XX_MACH_TL_WR841N_V1=y
42CONFIG_AR71XX_MACH_TL_WR941ND=y
43CONFIG_AR71XX_MACH_UBNT=y
44CONFIG_AR71XX_MACH_WNDR3700=y
45CONFIG_AR71XX_MACH_WNR2000=y
46CONFIG_AR71XX_MACH_WP543=y
47CONFIG_AR71XX_MACH_WRT160NL=y
48CONFIG_AR71XX_MACH_WRT400N=y
49CONFIG_AR71XX_MACH_WZR_HP_G300NH=y
50CONFIG_AR71XX_MACH_ZCN_1523H=y
51CONFIG_AR71XX_NVRAM=y
52CONFIG_AR71XX_PCI_ATH9K_FIXUP=y
53CONFIG_AR71XX_WDT=y
54CONFIG_AR8216_PHY=y
55# CONFIG_ARCH_HAS_ILOG2_U32 is not set
56# CONFIG_ARCH_HAS_ILOG2_U64 is not set
57CONFIG_ARCH_HIBERNATION_POSSIBLE=y
58# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
59CONFIG_ARCH_POPULATES_NODE_MAP=y
60CONFIG_ARCH_REQUIRE_GPIOLIB=y
61# CONFIG_ARCH_SUPPORTS_MSI is not set
62CONFIG_ARCH_SUPPORTS_OPROFILE=y
63CONFIG_ARCH_SUSPEND_POSSIBLE=y
64CONFIG_ATHEROS_AR71XX=y
65# CONFIG_AUTO_IRQ_AFFINITY is not set
66CONFIG_CC_OPTIMIZE_FOR_SIZE=y
67CONFIG_CEVT_R4K=y
68CONFIG_CEVT_R4K_LIB=y
69CONFIG_CMDLINE="rootfstype=squashfs,yaffs,jffs2 noinitrd"
70CONFIG_CMDLINE_BOOL=y
71# CONFIG_CMDLINE_OVERRIDE is not set
72CONFIG_CPU_BIG_ENDIAN=y
73CONFIG_CPU_HAS_PREFETCH=y
74CONFIG_CPU_HAS_SYNC=y
75CONFIG_CPU_MIPS32=y
76# CONFIG_CPU_MIPS32_R1 is not set
77CONFIG_CPU_MIPS32_R2=y
78CONFIG_CPU_MIPSR2=y
79CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
80CONFIG_CPU_SUPPORTS_HIGHMEM=y
81CONFIG_CSRC_R4K=y
82CONFIG_CSRC_R4K_LIB=y
83CONFIG_DECOMPRESS_LZMA=y
84CONFIG_DMA_NONCOHERENT=y
85CONFIG_EARLY_PRINTK=y
86# CONFIG_FSNOTIFY is not set
87CONFIG_GENERIC_ATOMIC64=y
88CONFIG_GENERIC_CLOCKEVENTS=y
89CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
90CONFIG_GENERIC_CMOS_UPDATE=y
91CONFIG_GENERIC_FIND_LAST_BIT=y
92CONFIG_GENERIC_FIND_NEXT_BIT=y
93CONFIG_GENERIC_GPIO=y
94# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set
95CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
96# CONFIG_GENERIC_PENDING_IRQ is not set
97CONFIG_GPIOLIB=y
98CONFIG_GPIO_NXP_74HC153=y
99CONFIG_GPIO_PCF857X=y
100CONFIG_GPIO_SYSFS=y
101# CONFIG_HARDIRQS_SW_RESEND is not set
102CONFIG_HARDWARE_WATCHPOINTS=y
103CONFIG_HAS_DMA=y
104CONFIG_HAS_IOMEM=y
105CONFIG_HAS_IOPORT=y
106CONFIG_HAVE_ARCH_KGDB=y
107CONFIG_HAVE_C_RECORDMCOUNT=y
108CONFIG_HAVE_DMA_API_DEBUG=y
109CONFIG_HAVE_DMA_ATTRS=y
110CONFIG_HAVE_DYNAMIC_FTRACE=y
111CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
112CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
113CONFIG_HAVE_FUNCTION_TRACER=y
114CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
115CONFIG_HAVE_GENERIC_DMA_COHERENT=y
116CONFIG_HAVE_GENERIC_HARDIRQS=y
117CONFIG_HAVE_IDE=y
118CONFIG_HAVE_OPROFILE=y
119CONFIG_HAVE_PERF_EVENTS=y
120# CONFIG_HAVE_SPARSE_IRQ is not set
121CONFIG_HW_HAS_PCI=y
122CONFIG_IP17XX_PHY=y
123CONFIG_I2C=y
124CONFIG_I2C_ALGOBIT=y
125CONFIG_I2C_BOARDINFO=y
126CONFIG_I2C_GPIO=y
127CONFIG_IMAGE_CMDLINE_HACK=y
128CONFIG_INITRAMFS_ROOT_GID=0
129CONFIG_INITRAMFS_ROOT_UID=0
130CONFIG_INITRAMFS_SOURCE="../../root"
131CONFIG_IRQ_CPU=y
132# CONFIG_IRQ_PER_CPU is not set
133# CONFIG_LEDS_GPIO is not set
134# CONFIG_LEDS_RB750 is not set
135# CONFIG_LEDS_WNDR3700_USB is not set
136CONFIG_LOONGSON_UART_BASE=y
137# CONFIG_M25PXX_USE_FAST_READ is not set
138CONFIG_MACH_NO_WESTBRIDGE=y
139CONFIG_MARVELL_PHY=y
140CONFIG_MICREL_PHY=y
141CONFIG_MIPS=y
142CONFIG_MIPS_L1_CACHE_SHIFT=5
143CONFIG_MIPS_MACHINE=y
144CONFIG_MIPS_MT_DISABLED=y
145CONFIG_MTD_AR91XX_FLASH=y
146# CONFIG_MTD_CFI_INTELEXT is not set
147CONFIG_MTD_CMDLINE_PARTS=y
148CONFIG_MTD_JEDECPROBE=y
149CONFIG_MTD_M25P80=y
150CONFIG_MTD_MYLOADER_PARTS=y
151CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-2
152CONFIG_MTD_REDBOOT_PARTS=y
153CONFIG_MTD_WRT160NL_PARTS=y
154CONFIG_MYLOADER=y
155CONFIG_NEED_DMA_MAP_STATE=y
156CONFIG_NEED_PER_CPU_KM=y
157CONFIG_NET_DSA=y
158CONFIG_NET_DSA_MV88E6060=y
159CONFIG_NET_DSA_MV88E6063=y
160CONFIG_NET_DSA_TAG_TRAILER=y
161CONFIG_PAGEFLAGS_EXTENDED=y
162CONFIG_PCI=y
163CONFIG_PCI_DISABLE_COMMON_QUIRKS=y
164CONFIG_PCI_DOMAINS=y
165CONFIG_PERF_USE_VMALLOC=y
166CONFIG_PHYLIB=y
167# CONFIG_PREEMPT_RCU is not set
168# CONFIG_QUOTACTL is not set
169CONFIG_RTL8306_PHY=y
170CONFIG_RTL8366RB_PHY=y
171CONFIG_RTL8366S_PHY=y
172CONFIG_RTL8366_SMI=y
173# CONFIG_SCSI_DMA is not set
174CONFIG_SERIAL_8250_NR_UARTS=1
175CONFIG_SERIAL_8250_RUNTIME_UARTS=1
176# CONFIG_SLAB is not set
177CONFIG_SLUB=y
178CONFIG_SPI=y
179CONFIG_SPI_AP83=y
180CONFIG_SPI_AR71XX=y
181CONFIG_SPI_BITBANG=y
182CONFIG_SPI_GPIO=y
183CONFIG_SPI_MASTER=y
184CONFIG_SPI_PB44=y
185CONFIG_SWCONFIG=y
186CONFIG_SYS_HAS_CPU_MIPS32_R1=y
187CONFIG_SYS_HAS_CPU_MIPS32_R2=y
188CONFIG_SYS_HAS_EARLY_PRINTK=y
189CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
190CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
191CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
192CONFIG_USB_SUPPORT=y
193CONFIG_ZONE_DMA_FLAG=0
194# CONFIG_YAFFS_DISABLE_TAGS_ECC is not set
195# CONFIG_YAFFS_EMPTY_LOST_AND_FOUND is not set
196# CONFIG_YAFFS_DISABLE_BLOCK_REFRESHING is not set
197# CONFIG_YAFFS_DISABLE_BACKGROUND is not set
198# CONFIG_YAFFS_XATTR is not set
target/linux/ar71xx/patches-2.6.38/001-ar71xx_core.patch
1--- a/arch/mips/Makefile
2@@ -158,6 +158,13 @@ cflags-$(CONFIG_CPU_CAVIUM_OCTEON) += -W
3 endif
4 cflags-$(CONFIG_CAVIUM_CN63XXP1) += -Wa,-mfix-cn63xxp1
5
6+#
7+# Atheros AR71xx
8+#
9+core-$(CONFIG_ATHEROS_AR71XX) += arch/mips/ar71xx/
10+cflags-$(CONFIG_ATHEROS_AR71XX) += -I$(srctree)/arch/mips/include/asm/mach-ar71xx
11+load-$(CONFIG_ATHEROS_AR71XX) += 0xffffffff80060000
12+
13 cflags-$(CONFIG_CPU_R4000_WORKAROUNDS) += $(call cc-option,-mfix-r4000,)
14 cflags-$(CONFIG_CPU_R4400_WORKAROUNDS) += $(call cc-option,-mfix-r4400,)
15 cflags-$(CONFIG_CPU_DADDI_WORKAROUNDS) += $(call cc-option,-mno-daddi,)
16--- a/arch/mips/Kconfig
17@@ -83,6 +83,23 @@ config ATH79
18     help
19       Support for the Atheros AR71XX/AR724X/AR913X SoCs.
20
21+config ATHEROS_AR71XX
22+ bool "Atheros AR71xx based boards"
23+ select CEVT_R4K
24+ select CSRC_R4K
25+ select DMA_NONCOHERENT
26+ select HW_HAS_PCI
27+ select IRQ_CPU
28+ select ARCH_REQUIRE_GPIOLIB
29+ select SYS_HAS_CPU_MIPS32_R1
30+ select SYS_HAS_CPU_MIPS32_R2
31+ select SYS_SUPPORTS_32BIT_KERNEL
32+ select SYS_SUPPORTS_BIG_ENDIAN
33+ select SYS_HAS_EARLY_PRINTK
34+ select MIPS_MACHINE
35+ help
36+ Support for Atheros AR71xx based boards.
37+
38 config BCM47XX
39     bool "Broadcom BCM47XX based boards"
40     select CEVT_R4K
41@@ -738,6 +755,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
42 endchoice
43
44 source "arch/mips/alchemy/Kconfig"
45+source "arch/mips/ar71xx/Kconfig"
46 source "arch/mips/ath79/Kconfig"
47 source "arch/mips/bcm63xx/Kconfig"
48 source "arch/mips/jazz/Kconfig"
target/linux/ar71xx/patches-2.6.38/002-ar71xx_pci.patch
1--- a/arch/mips/pci/Makefile
2@@ -18,6 +18,7 @@ obj-$(CONFIG_PCI_TX4927) += ops-tx4927.o
3 obj-$(CONFIG_BCM47XX) += pci-bcm47xx.o
4 obj-$(CONFIG_BCM63XX) += pci-bcm63xx.o fixup-bcm63xx.o \
5                     ops-bcm63xx.o
6+obj-$(CONFIG_ATHEROS_AR71XX) += pci-ar71xx.o pci-ar724x.o
7
8 #
9 # These are still pretty much in the old state, watch, go blind.
target/linux/ar71xx/patches-2.6.38/003-ar71xx_usb_host.patch
1--- a/drivers/usb/host/Kconfig
2@@ -118,6 +118,13 @@ config XPS_USB_HCD_XILINX
3 config USB_FSL_MPH_DR_OF
4     tristate
5
6+config USB_EHCI_AR71XX
7+ bool "USB EHCI support for AR71xx"
8+ depends on USB_EHCI_HCD && ATHEROS_AR71XX
9+ default y
10+ help
11+ Support for Atheros AR71xx built-in EHCI controller
12+
13 config USB_EHCI_FSL
14     bool "Support for Freescale on-chip EHCI USB controller"
15     depends on USB_EHCI_HCD && FSL_SOC
16@@ -261,6 +268,13 @@ config USB_OHCI_HCD_OMAP3
17       Enables support for the on-chip OHCI controller on
18       OMAP3 and later chips.
19
20+config USB_OHCI_AR71XX
21+ bool "USB OHCI support for Atheros AR71xx"
22+ depends on USB_OHCI_HCD && ATHEROS_AR71XX
23+ default y
24+ help
25+ Support for Atheros AR71xx built-in OHCI controller
26+
27 config USB_OHCI_HCD_PPC_SOC
28     bool "OHCI support for on-chip PPC USB controller"
29     depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
30--- a/drivers/usb/host/ehci-hcd.c
31@@ -1254,6 +1254,11 @@ MODULE_LICENSE ("GPL");
32 #define PLATFORM_DRIVER ehci_msm_driver
33 #endif
34
35+#ifdef CONFIG_USB_EHCI_AR71XX
36+#include "ehci-ar71xx.c"
37+#define PLATFORM_DRIVER ehci_ar71xx_driver
38+#endif
39+
40 #if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \
41     !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) && \
42     !defined(XILINX_OF_PLATFORM_DRIVER)
43--- a/drivers/usb/host/ohci-hcd.c
44@@ -1122,6 +1122,11 @@ MODULE_LICENSE ("GPL");
45 #define PLATFORM_DRIVER ohci_hcd_cns3xxx_driver
46 #endif
47
48+#ifdef CONFIG_USB_OHCI_AR71XX
49+#include "ohci-ar71xx.c"
50+#define PLATFORM_DRIVER ohci_hcd_ar71xx_driver
51+#endif
52+
53 #if !defined(PCI_DRIVER) && \
54     !defined(PLATFORM_DRIVER) && \
55     !defined(OMAP1_PLATFORM_DRIVER) && \
target/linux/ar71xx/patches-2.6.38/004-ar71xx_spi_controller.patch
1--- a/drivers/spi/Kconfig
2@@ -61,6 +61,13 @@ config SPI_ATH79
3       This enables support for the SPI controller present on the
4       Atheros AR71XX/AR724X/AR913X SoCs.
5
6+config SPI_AR71XX
7+ tristate "Atheros AR71xx SPI Controller"
8+ depends on SPI_MASTER && ATHEROS_AR71XX
9+ select SPI_BITBANG
10+ help
11+ This is the SPI contoller driver for Atheros AR71xx.
12+
13 config SPI_ATMEL
14     tristate "Atmel SPI Controller"
15     depends on (ARCH_AT91 || AVR32)
16--- a/drivers/spi/Makefile
17@@ -9,6 +9,7 @@ ccflags-$(CONFIG_SPI_DEBUG) := -DDEBUG
18 obj-$(CONFIG_SPI_MASTER) += spi.o
19
20 # SPI master controller drivers (bus)
21+obj-$(CONFIG_SPI_AR71XX) += ar71xx_spi.o
22 obj-$(CONFIG_SPI_ATMEL) += atmel_spi.o
23 obj-$(CONFIG_SPI_ATH79) += ath79_spi.o
24 obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx.o
target/linux/ar71xx/patches-2.6.38/005-ar71xx_mac_driver.patch
1--- a/drivers/net/Kconfig
2@@ -2061,6 +2061,8 @@ config ACENIC_OMIT_TIGON_I
3
4       The safe and default value for this is N.
5
6+source drivers/net/ag71xx/Kconfig
7+
8 config DL2K
9     tristate "DL2000/TC902x-based Gigabit Ethernet support"
10     depends on PCI
11--- a/drivers/net/Makefile
12@@ -112,6 +112,7 @@ obj-$(CONFIG_STMMAC_ETH) += stmmac/
13 # end link order section
14 #
15
16+obj-$(CONFIG_AG71XX) += ag71xx/
17 obj-$(CONFIG_SUNDANCE) += sundance.o
18 obj-$(CONFIG_HAMACHI) += hamachi.o
19 obj-$(CONFIG_NET) += Space.o loopback.o
target/linux/ar71xx/patches-2.6.38/006-ar71xx_wdt_driver.patch
1--- a/drivers/watchdog/Kconfig
2@@ -972,6 +972,13 @@ config BCM63XX_WDT
3       To compile this driver as a loadable module, choose M here.
4       The module will be called bcm63xx_wdt.
5
6+config AR71XX_WDT
7+ tristate "Atheros AR71xx Watchdog Timer"
8+ depends on ATHEROS_AR71XX
9+ help
10+ Hardware driver for the built-in watchdog timer on the Atheros
11+ AR71xx SoCs.
12+
13 # PARISC Architecture
14
15 # POWERPC Architecture
16--- a/drivers/watchdog/Makefile
17@@ -117,6 +117,7 @@ obj-$(CONFIG_INDYDOG) += indydog.o
18 obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
19 obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt.o
20 obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
21+obj-$(CONFIG_AR71XX_WDT) += ar71xx_wdt.o
22 obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
23 obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
24 obj-$(CONFIG_OCTEON_WDT) += octeon-wdt.o
target/linux/ar71xx/patches-2.6.38/007-ar91xx_flash_driver.patch
1--- a/drivers/mtd/maps/Kconfig
2@@ -260,6 +260,13 @@ config MTD_BCM963XX
3       Support for parsing CFE image tag and creating MTD partitions on
4       Broadcom BCM63xx boards.
5
6+config MTD_AR91XX_FLASH
7+ tristate "Atheros AR91xx parallel flash support"
8+ depends on ATHEROS_AR71XX
9+ select MTD_COMPLEX_MAPPINGS
10+ help
11+ Parallel flash driver for the Atheros AR91xx based boards.
12+
13 config MTD_DILNETPC
14     tristate "CFI Flash device mapped on DIL/Net PC"
15     depends on X86 && MTD_CONCAT && MTD_PARTITIONS && MTD_CFI_INTELEXT && BROKEN
16--- a/drivers/mtd/maps/Makefile
17@@ -40,6 +40,7 @@ obj-$(CONFIG_MTD_SCx200_DOCFLASH)+= scx2
18 obj-$(CONFIG_MTD_DBOX2) += dbox2-flash.o
19 obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o
20 obj-$(CONFIG_MTD_PCI) += pci.o
21+obj-$(CONFIG_MTD_AR91XX_FLASH) += ar91xx_flash.o
22 obj-$(CONFIG_MTD_AUTCPU12) += autcpu12-nvram.o
23 obj-$(CONFIG_MTD_EDB7312) += edb7312.o
24 obj-$(CONFIG_MTD_IMPA7) += impa7.o
target/linux/ar71xx/patches-2.6.38/101-ksz8041_phy_driver.patch
1--- a/drivers/net/phy/Kconfig
2@@ -118,6 +118,11 @@ config RTL8306_PHY
3     tristate "Driver for Realtek RTL8306S switches"
4     select SWCONFIG
5
6+config MICREL_PHY
7+ tristate "Drivers for Micrel/Kendin PHYs"
8+ ---help---
9+ Currently has a driver for the KSZ8041
10+
11 config FIXED_PHY
12     bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"
13     depends on PHYLIB=y
14--- a/drivers/net/phy/Makefile
15@@ -24,6 +24,7 @@ obj-$(CONFIG_RTL8366_SMI) += rtl8366_smi
16 obj-$(CONFIG_RTL8366S_PHY) += rtl8366s.o
17 obj-$(CONFIG_RTL8366RB_PHY) += rtl8366rb.o
18 obj-$(CONFIG_LSI_ET1011C_PHY) += et1011c.o
19+obj-$(CONFIG_MICREL_PHY) += micrel.o
20 obj-$(CONFIG_FIXED_PHY) += fixed.o
21 obj-$(CONFIG_MDIO_BITBANG) += mdio-bitbang.o
22 obj-$(CONFIG_MDIO_GPIO) += mdio-gpio.o
target/linux/ar71xx/patches-2.6.38/102-mtd_m25p80_add_myloader_parser.patch
1--- a/drivers/mtd/devices/m25p80.c
2@@ -965,6 +965,16 @@ static int __devinit m25p_probe(struct s
3                     part_probes, &parts, 0);
4         }
5
6+#ifdef CONFIG_MTD_MYLOADER_PARTS
7+ if (nr_parts <= 0) {
8+ static const char *part_probes[]
9+ = { "MyLoader", NULL, };
10+
11+ nr_parts = parse_mtd_partitions(&flash->mtd,
12+ part_probes, &parts, 0);
13+ }
14+#endif
15+
16         if (nr_parts <= 0 && data && data->parts) {
17             parts = data->parts;
18             nr_parts = data->nr_parts;
target/linux/ar71xx/patches-2.6.38/104-mtd_m25p80_add_redboot_parser.patch
1--- a/drivers/mtd/devices/m25p80.c
2@@ -975,6 +975,15 @@ static int __devinit m25p_probe(struct s
3         }
4 #endif
5
6+#ifdef CONFIG_MTD_REDBOOT_PARTS
7+ if (nr_parts <= 0) {
8+ static const char *part_probes[]
9+ = { "RedBoot", NULL, };
10+
11+ nr_parts = parse_mtd_partitions(&flash->mtd,
12+ part_probes, &parts, 0);
13+ }
14+#endif
15         if (nr_parts <= 0 && data && data->parts) {
16             parts = data->parts;
17             nr_parts = data->nr_parts;
target/linux/ar71xx/patches-2.6.38/107-mtd-SST39VF6401B-support.patch
1--- a/drivers/mtd/chips/jedec_probe.c
2@@ -148,6 +148,7 @@
3 #define SST39LF160 0x2782
4 #define SST39VF1601 0x234b
5 #define SST39VF3201 0x235b
6+#define SST39VF6401B 0x236d
7 #define SST39WF1601 0x274b
8 #define SST39WF1602 0x274a
9 #define SST39LF512 0x00D4
10@@ -1568,6 +1569,18 @@ static const struct amd_flash_info jedec
11             ERASEINFO(0x10000,64),
12         }
13     }, {
14+ .mfr_id = CFI_MFR_SST,
15+ .dev_id = SST39VF6401B,
16+ .name = "SST 39VF6401B",
17+ .devtypes = CFI_DEVICETYPE_X16,
18+ .uaddr = MTD_UADDR_0xAAAA_0x5555,
19+ .dev_size = SIZE_8MiB,
20+ .cmd_set = P_ID_AMD_STD,
21+ .nr_regions = 1,
22+ .regions = {
23+ ERASEINFO(0x10000,128)
24+ }
25+ }, {
26         .mfr_id = CFI_MFR_ST,
27         .dev_id = M29F800AB,
28         .name = "ST M29F800AB",
target/linux/ar71xx/patches-2.6.38/108-mtd_fix_cfi_cmdset_0002_status_check.patch
1--- a/drivers/mtd/chips/cfi_cmdset_0002.c
2@@ -1218,8 +1218,8 @@ static int __xipram do_write_oneword(str
3             break;
4         }
5
6- if (chip_ready(map, adr))
7- break;
8+ if (chip_good(map, adr, datum))
9+ goto enable_xip;
10
11         /* Latency issues. Drop the lock, wait a while and retry */
12         UDELAY(map, chip, adr, 1);
13@@ -1235,6 +1235,8 @@ static int __xipram do_write_oneword(str
14
15         ret = -EIO;
16     }
17+
18+ enable_xip:
19     xip_enable(map, chip, adr);
20  op_done:
21     chip->state = FL_READY;
22@@ -1566,7 +1568,6 @@ static int cfi_amdstd_write_buffers(stru
23     return 0;
24 }
25
26-
27 /*
28  * Handle devices with one erase region, that only implement
29  * the chip erase command.
30@@ -1630,8 +1631,8 @@ static int __xipram do_erase_chip(struct
31             chip->erase_suspended = 0;
32         }
33
34- if (chip_ready(map, adr))
35- break;
36+ if (chip_good(map, adr, map_word_ff(map)))
37+ goto op_done;
38
39         if (time_after(jiffies, timeo)) {
40             printk(KERN_WARNING "MTD %s(): software timeout\n",
41@@ -1651,6 +1652,7 @@ static int __xipram do_erase_chip(struct
42         ret = -EIO;
43     }
44
45+ op_done:
46     chip->state = FL_READY;
47     xip_enable(map, chip, adr);
48     put_chip(map, chip, adr);
49@@ -1718,9 +1720,9 @@ static int __xipram do_erase_oneblock(st
50             chip->erase_suspended = 0;
51         }
52
53- if (chip_ready(map, adr)) {
54+ if (chip_good(map, adr, map_word_ff(map))) {
55             xip_enable(map, chip, adr);
56- break;
57+ goto op_done;
58         }
59
60         if (time_after(jiffies, timeo)) {
61@@ -1742,6 +1744,7 @@ static int __xipram do_erase_oneblock(st
62         ret = -EIO;
63     }
64
65+ op_done:
66     chip->state = FL_READY;
67     put_chip(map, chip, adr);
68     mutex_unlock(&chip->mutex);
target/linux/ar71xx/patches-2.6.38/109-mtd-wrt160nl-trx-parser.patch
1--- a/drivers/mtd/devices/m25p80.c
2@@ -984,6 +984,16 @@ static int __devinit m25p_probe(struct s
3                     part_probes, &parts, 0);
4         }
5 #endif
6+
7+#ifdef CONFIG_MTD_WRT160NL_PARTS
8+ if (nr_parts <= 0) {
9+ static const char *part_probes[]
10+ = { "wrt160nl", NULL, };
11+
12+ nr_parts = parse_mtd_partitions(&flash->mtd,
13+ part_probes, &parts, 0);
14+ }
15+#endif
16         if (nr_parts <= 0 && data && data->parts) {
17             parts = data->parts;
18             nr_parts = data->nr_parts;
19--- a/drivers/mtd/Kconfig
20@@ -184,6 +184,12 @@ config MTD_AR7_PARTS
21
22 endif # MTD_PARTITIONS
23
24+config MTD_WRT160NL_PARTS
25+ tristate "Linksys WRT160NL partitioning support"
26+ depends on MTD_PARTITIONS && AR71XX_MACH_WRT160NL
27+ ---help---
28+ Linksys WRT160NL partitioning support
29+
30 config MTD_MYLOADER_PARTS
31     tristate "MyLoader partition parsing"
32     depends on MTD_PARTITIONS && (ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX)
33--- a/drivers/mtd/Makefile
34@@ -13,6 +13,7 @@ obj-$(CONFIG_MTD_REDBOOT_PARTS) += redbo
35 obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
36 obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
37 obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
38+obj-$(CONFIG_MTD_WRT160NL_PARTS) += wrt160nl_part.o
39 obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
40
41 # 'Users' - code which presents functionality to userspace.
target/linux/ar71xx/patches-2.6.38/110-usb-ehci-add-war-for-synopsys-hc-bug.patch
1--- a/drivers/usb/host/ehci-q.c
2@@ -1181,6 +1181,9 @@ static void end_unlink_async (struct ehc
3         ehci->reclaim = NULL;
4         start_unlink_async (ehci, next);
5     }
6+
7+ if (ehci->has_synopsys_hc_bug)
8+ writel((u32)ehci->async->qh_dma, &ehci->regs->async_next);
9 }
10
11 /* makes sure the async qh will become idle */
12--- a/drivers/usb/host/ehci.h
13@@ -134,6 +134,7 @@ struct ehci_hcd { /* one per controlle
14     unsigned amd_l1_fix:1;
15     unsigned fs_i_thresh:1; /* Intel iso scheduling */
16     unsigned use_dummy_qh:1; /* AMD Frame List table quirk*/
17+ unsigned has_synopsys_hc_bug:1; /* Synopsys HC */
18
19     /* required for usb32 quirk */
20     #define OHCI_CTRL_HCFS (3 << 6)
target/linux/ar71xx/patches-2.6.38/111-mtd-cfi_cmdset_0002-force-word-write.patch
1--- a/drivers/mtd/chips/cfi_cmdset_0002.c
2@@ -39,7 +39,7 @@
3 #include <linux/mtd/xip.h>
4
5 #define AMD_BOOTLOC_BUG
6-#define FORCE_WORD_WRITE 0
7+#define FORCE_WORD_WRITE 1
8
9 #define MAX_WORD_RETRIES 3
10
11@@ -50,7 +50,9 @@
12
13 static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
14 static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
15+#if !FORCE_WORD_WRITE
16 static int cfi_amdstd_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
17+#endif
18 static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
19 static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
20 static void cfi_amdstd_sync (struct mtd_info *);
21@@ -186,6 +188,7 @@ static void fixup_amd_bootblock(struct m
22 }
23 #endif
24
25+#if !FORCE_WORD_WRITE
26 static void fixup_use_write_buffers(struct mtd_info *mtd)
27 {
28     struct map_info *map = mtd->priv;
29@@ -195,6 +198,7 @@ static void fixup_use_write_buffers(stru
30         mtd->write = cfi_amdstd_write_buffers;
31     }
32 }
33+#endif /* !FORCE_WORD_WRITE */
34
35 /* Atmel chips don't use the same PRI format as AMD chips */
36 static void fixup_convert_atmel_pri(struct mtd_info *mtd)
37@@ -1378,6 +1382,7 @@ static int cfi_amdstd_write_words(struct
38 /*
39  * FIXME: interleaved mode not tested, and probably not supported!
40  */
41+#if !FORCE_WORD_WRITE
42 static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
43                     unsigned long adr, const u_char *buf,
44                     int len)
45@@ -1488,7 +1493,6 @@ static int __xipram do_write_buffer(stru
46     return ret;
47 }
48
49-
50 static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
51                     size_t *retlen, const u_char *buf)
52 {
53@@ -1567,6 +1571,7 @@ static int cfi_amdstd_write_buffers(stru
54
55     return 0;
56 }
57+#endif /* !FORCE_WORD_WRITE */
58
59 /*
60  * Handle devices with one erase region, that only implement
target/linux/ar71xx/patches-2.6.38/120-dsa-trailer-tag-validation-fix.patch
1--- a/net/dsa/tag_trailer.c
2@@ -87,7 +87,7 @@ static int trailer_rcv(struct sk_buff *s
3
4     trailer = skb_tail_pointer(skb) - 4;
5     if (trailer[0] != 0x80 || (trailer[1] & 0xf8) != 0x00 ||
6- (trailer[3] & 0xef) != 0x00 || trailer[3] != 0x00)
7+ (trailer[2] & 0xef) != 0x00 || (trailer[3] & 0xfe) != 0x00)
8         goto out_drop;
9
10     source_port = trailer[1] & 7;
target/linux/ar71xx/patches-2.6.38/121-dsa-add-88e6063-driver.patch
1--- a/net/dsa/Kconfig
2@@ -36,6 +36,13 @@ config NET_DSA_MV88E6060
3       This enables support for the Marvell 88E6060 ethernet switch
4       chip.
5
6+config NET_DSA_MV88E6063
7+ bool "Marvell 88E6063 ethernet switch chip support"
8+ select NET_DSA_TAG_TRAILER
9+ ---help---
10+ This enables support for the Marvell 88E6063 ethernet switch
11+ chip
12+
13 config NET_DSA_MV88E6XXX_NEED_PPU
14     bool
15     default n
16--- a/net/dsa/Makefile
17@@ -6,6 +6,7 @@ obj-$(CONFIG_NET_DSA_TAG_TRAILER) += tag
18 # switch drivers
19 obj-$(CONFIG_NET_DSA_MV88E6XXX) += mv88e6xxx.o
20 obj-$(CONFIG_NET_DSA_MV88E6060) += mv88e6060.o
21+obj-$(CONFIG_NET_DSA_MV88E6063) += mv88e6063.o
22 obj-$(CONFIG_NET_DSA_MV88E6123_61_65) += mv88e6123_61_65.o
23 obj-$(CONFIG_NET_DSA_MV88E6131) += mv88e6131.o
24
target/linux/ar71xx/patches-2.6.38/140-redboot_partition_scan.patch
1--- a/drivers/mtd/redboot.c
2@@ -78,31 +78,32 @@ static int parse_redboot_partitions(stru
3     static char nullstring[] = "unallocated";
4 #endif
5
6+ buf = vmalloc(master->erasesize);
7+ if (!buf)
8+ return -ENOMEM;
9+
10+ restart:
11     if ( directory < 0 ) {
12         offset = master->size + directory * master->erasesize;
13- while (master->block_isbad &&
14+ while (master->block_isbad &&
15                master->block_isbad(master, offset)) {
16             if (!offset) {
17             nogood:
18                 printk(KERN_NOTICE "Failed to find a non-bad block to check for RedBoot partition table\n");
19+ vfree(buf);
20                 return -EIO;
21             }
22             offset -= master->erasesize;
23         }
24     } else {
25         offset = directory * master->erasesize;
26- while (master->block_isbad &&
27+ while (master->block_isbad &&
28                master->block_isbad(master, offset)) {
29             offset += master->erasesize;
30             if (offset == master->size)
31                 goto nogood;
32         }
33     }
34- buf = vmalloc(master->erasesize);
35-
36- if (!buf)
37- return -ENOMEM;
38-
39     printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
40            master->name, offset);
41
42@@ -174,6 +175,11 @@ static int parse_redboot_partitions(stru
43     }
44     if (i == numslots) {
45         /* Didn't find it */
46+ if (offset + master->erasesize < master->size) {
47+ /* not at the end of the flash yet, maybe next block :) */
48+ directory++;
49+ goto restart;
50+ }
51         printk(KERN_NOTICE "No RedBoot partition table detected in %s\n",
52                master->name);
53         ret = 0;
target/linux/ar71xx/patches-2.6.38/150-drivers-link-spi-before-mtd.patch
1--- a/drivers/Makefile
2@@ -46,8 +46,8 @@ obj-$(CONFIG_IDE) += ide/
3 obj-$(CONFIG_SCSI) += scsi/
4 obj-$(CONFIG_ATA) += ata/
5 obj-$(CONFIG_TARGET_CORE) += target/
6-obj-$(CONFIG_MTD) += mtd/
7 obj-$(CONFIG_SPI) += spi/
8+obj-$(CONFIG_MTD) += mtd/
9 obj-y += net/
10 obj-$(CONFIG_ATM) += atm/
11 obj-$(CONFIG_FUSION) += message/
target/linux/ar71xx/patches-2.6.38/151-spi-add-various-flags.patch
1--- a/include/linux/spi/spi.h
2@@ -441,6 +441,8 @@ struct spi_transfer {
3     dma_addr_t rx_dma;
4
5     unsigned cs_change:1;
6+ unsigned verify:1;
7+ unsigned fast_write:1;
8     u8 bits_per_word;
9     u16 delay_usecs;
10     u32 speed_hz;
11@@ -482,6 +484,7 @@ struct spi_message {
12     struct spi_device *spi;
13
14     unsigned is_dma_mapped:1;
15+ unsigned fast_read:1;
16
17     /* REVISIT: we might want a flag affecting the behavior of the
18      * last transfer ... allowing things like "read 16 bit length L"
target/linux/ar71xx/patches-2.6.38/152-rb4xx-spi-driver.patch
1--- a/drivers/spi/Kconfig
2@@ -304,6 +304,12 @@ config SPI_PXA2XX
3 config SPI_PXA2XX_PCI
4     def_bool SPI_PXA2XX && X86_32 && PCI
5
6+config SPI_RB4XX
7+ tristate "Mikrotik RB4XX SPI master"
8+ depends on SPI_MASTER && AR71XX_MACH_RB4XX
9+ help
10+ SPI controller driver for the Mikrotik RB4xx series boards.
11+
12 config SPI_S3C24XX
13     tristate "Samsung S3C24XX series SPI"
14     depends on ARCH_S3C2410 && EXPERIMENTAL
15--- a/drivers/spi/Makefile
16@@ -52,6 +52,7 @@ obj-$(CONFIG_SPI_SH_SCI) += spi_sh_sci.
17 obj-$(CONFIG_SPI_SH_MSIOF) += spi_sh_msiof.o
18 obj-$(CONFIG_SPI_STMP3XXX) += spi_stmp.o
19 obj-$(CONFIG_SPI_NUC900) += spi_nuc900.o
20+obj-$(CONFIG_SPI_RB4XX) += rb4xx_spi.o
21
22 # special build for s3c24xx spi driver with fiq support
23 spi_s3c24xx_hw-y := spi_s3c24xx.o
target/linux/ar71xx/patches-2.6.38/153-spi-rb4xx-cpld-driver.patch
1--- a/drivers/spi/Kconfig
2@@ -450,6 +450,13 @@ config SPI_TLE62X0
3       sysfs interface, with each line presented as a kind of GPIO
4       exposing both switch control and diagnostic feedback.
5
6+config SPI_RB4XX_CPLD
7+ tristate "MikroTik RB4XX CPLD driver"
8+ depends on AR71XX_MACH_RB4XX
9+ help
10+ SPI driver for the Xilinx CPLD chip present on the
11+ MikroTik RB4xx boards.
12+
13 #
14 # Add new SPI protocol masters in alphabetical order above this line
15 #
16--- a/drivers/spi/Makefile
17@@ -61,6 +61,7 @@ spi_s3c24xx_hw-$(CONFIG_SPI_S3C24XX_FIQ)
18 # ... add above this line ...
19
20 # SPI protocol drivers (device/link on bus)
21+obj-$(CONFIG_SPI_RB4XX_CPLD) += spi_rb4xx_cpld.o
22 obj-$(CONFIG_SPI_SPIDEV) += spidev.o
23 obj-$(CONFIG_SPI_TLE62X0) += tle62x0.o
24 # ... add above this line ...
target/linux/ar71xx/patches-2.6.38/200-rb4xx_nand_driver.patch
1--- a/drivers/mtd/nand/Kconfig
2@@ -533,4 +533,8 @@ config MTD_NAND_FSMC
3       Enables support for NAND Flash chips on the ST Microelectronics
4       Flexible Static Memory Controller (FSMC)
5
6+config MTD_NAND_RB4XX
7+ tristate "NAND flash driver for RouterBoard 4xx series"
8+ depends on MTD_NAND && AR71XX_MACH_RB4XX
9+
10 endif # MTD_NAND
11--- a/drivers/mtd/nand/Makefile
12@@ -33,6 +33,7 @@ obj-$(CONFIG_MTD_NAND_CM_X270) += cmx27
13 obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_nand.o
14 obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
15 obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
16+obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o
17 obj-$(CONFIG_MTD_ALAUDA) += alauda.o
18 obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o
19 obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o
target/linux/ar71xx/patches-2.6.38/201-ap83_spi_controller.patch
1--- a/drivers/spi/Makefile
2@@ -9,6 +9,7 @@ ccflags-$(CONFIG_SPI_DEBUG) := -DDEBUG
3 obj-$(CONFIG_SPI_MASTER) += spi.o
4
5 # SPI master controller drivers (bus)
6+obj-$(CONFIG_SPI_AP83) += ap83_spi.o
7 obj-$(CONFIG_SPI_AR71XX) += ar71xx_spi.o
8 obj-$(CONFIG_SPI_ATMEL) += atmel_spi.o
9 obj-$(CONFIG_SPI_ATH79) += ath79_spi.o
10--- a/drivers/spi/Kconfig
11@@ -61,6 +61,14 @@ config SPI_ATH79
12       This enables support for the SPI controller present on the
13       Atheros AR71XX/AR724X/AR913X SoCs.
14
15+config SPI_AP83
16+ tristate "Atheros AP83 specific SPI Controller"
17+ depends on SPI_MASTER && AR71XX_MACH_AP83
18+ select SPI_BITBANG
19+ help
20+ This is a specific SPI controller driver for the Atheros AP83
21+ reference board.
22+
23 config SPI_AR71XX
24     tristate "Atheros AR71xx SPI Controller"
25     depends on SPI_MASTER && ATHEROS_AR71XX
target/linux/ar71xx/patches-2.6.38/202-spi_vsc7385_driver.patch
1--- a/drivers/spi/Kconfig
2@@ -465,6 +465,11 @@ config SPI_RB4XX_CPLD
3       SPI driver for the Xilinx CPLD chip present on the
4       MikroTik RB4xx boards.
5
6+config SPI_VSC7385
7+ tristate "Vitesse VSC7385 ethernet switch driver"
8+ help
9+ SPI driver for the Vitesse VSC7385 ethernet switch.
10+
11 #
12 # Add new SPI protocol masters in alphabetical order above this line
13 #
14--- a/drivers/spi/Makefile
15@@ -64,6 +64,7 @@ spi_s3c24xx_hw-$(CONFIG_SPI_S3C24XX_FIQ)
16 # SPI protocol drivers (device/link on bus)
17 obj-$(CONFIG_SPI_RB4XX_CPLD) += spi_rb4xx_cpld.o
18 obj-$(CONFIG_SPI_SPIDEV) += spidev.o
19+obj-$(CONFIG_SPI_VSC7385) += spi_vsc7385.o
20 obj-$(CONFIG_SPI_TLE62X0) += tle62x0.o
21 # ... add above this line ...
22
target/linux/ar71xx/patches-2.6.38/203-pb44_spi_controller.patch
1--- a/drivers/spi/Kconfig
2@@ -76,6 +76,14 @@ config SPI_AR71XX
3     help
4       This is the SPI contoller driver for Atheros AR71xx.
5
6+config SPI_PB44
7+ tristate "Atheros PB44 board specific SPI controller"
8+ depends on SPI_MASTER && AR71XX_MACH_PB44
9+ select SPI_BITBANG
10+ help
11+ This is a specific SPI controller driver for the Atheros PB44
12+ reference board.
13+
14 config SPI_ATMEL
15     tristate "Atmel SPI Controller"
16     depends on (ARCH_AT91 || AVR32)
17--- a/drivers/spi/Makefile
18@@ -28,6 +28,7 @@ obj-$(CONFIG_SPI_GPIO) += spi_gpio.o
19 obj-$(CONFIG_SPI_GPIO_OLD) += spi_gpio_old.o
20 obj-$(CONFIG_SPI_IMX) += spi_imx.o
21 obj-$(CONFIG_SPI_LM70_LLP) += spi_lm70llp.o
22+obj-$(CONFIG_SPI_PB44) += pb44_spi.o
23 obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o
24 obj-$(CONFIG_SPI_PXA2XX_PCI) += pxa2xx_spi_pci.o
25 obj-$(CONFIG_SPI_OMAP_UWIRE) += omap_uwire.o
target/linux/ar71xx/patches-2.6.38/205-wndr3700-usb-led-driver.patch
1--- a/drivers/leds/Kconfig
2@@ -377,6 +377,13 @@ config LEDS_TRIGGERS
3       These triggers allow kernel events to drive the LEDs and can
4       be configured via sysfs. If unsure, say Y.
5
6+config LEDS_WNDR3700_USB
7+ tristate "NETGEAR WNDR3700 USB LED driver"
8+ depends on LEDS_CLASS && AR71XX_MACH_WNDR3700
9+ help
10+ This option enables support for the USB LED found on the
11+ NETGEAR WNDR3700 board.
12+
13 comment "LED Triggers"
14
15 config LEDS_TRIGGER_TIMER
16--- a/drivers/leds/Makefile
17@@ -33,6 +33,7 @@ obj-$(CONFIG_LEDS_DA903X) += leds-da903
18 obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o
19 obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o
20 obj-$(CONFIG_LEDS_PWM) += leds-pwm.o
21+obj-${CONFIG_LEDS_WNDR3700_USB} += leds-wndr3700-usb.o
22 obj-$(CONFIG_LEDS_REGULATOR) += leds-regulator.o
23 obj-$(CONFIG_LEDS_INTEL_SS4200) += leds-ss4200.o
24 obj-$(CONFIG_LEDS_LT3593) += leds-lt3593.o
target/linux/ar71xx/patches-2.6.38/206-nxp-74hc153-gpio-chip-driver.patch
1--- a/drivers/gpio/Kconfig
2@@ -411,4 +411,12 @@ config GPIO_JANZ_TTL
3       This driver provides support for driving the pins in output
4       mode only. Input mode is not supported.
5
6+comment "Other GPIO expanders"
7+
8+config GPIO_NXP_74HC153
9+ tristate "NXP 74HC153 Dual 4-input multiplexer"
10+ help
11+ Platform driver for NXP 74HC153 Dual 4-input Multiplexer. This
12+ provides a GPIO interface supporting inputs.
13+
14 endif
15--- a/drivers/gpio/Makefile
16@@ -18,6 +18,7 @@ obj-$(CONFIG_GPIO_MAX7301) += max7301.o
17 obj-$(CONFIG_GPIO_MAX732X) += max732x.o
18 obj-$(CONFIG_GPIO_MC33880) += mc33880.o
19 obj-$(CONFIG_GPIO_MCP23S08) += mcp23s08.o
20+obj-$(CONFIG_GPIO_NXP_74HC153) += nxp_74hc153.o
21 obj-$(CONFIG_GPIO_74X164) += 74x164.o
22 obj-$(CONFIG_GPIO_PCA953X) += pca953x.o
23 obj-$(CONFIG_GPIO_PCF857X) += pcf857x.o
target/linux/ar71xx/patches-2.6.38/207-rb750-led-driver.patch
1--- a/drivers/leds/Kconfig
2@@ -384,6 +384,10 @@ config LEDS_WNDR3700_USB
3       This option enables support for the USB LED found on the
4       NETGEAR WNDR3700 board.
5
6+config LEDS_RB750
7+ tristate "LED driver for the Mikrotik RouterBOARD 750"
8+ depends on LEDS_CLASS && AR71XX_MACH_RB750
9+
10 comment "LED Triggers"
11
12 config LEDS_TRIGGER_TIMER
13--- a/drivers/leds/Makefile
14@@ -40,6 +40,7 @@ obj-$(CONFIG_LEDS_LT3593) += leds-lt359
15 obj-$(CONFIG_LEDS_ADP5520) += leds-adp5520.o
16 obj-$(CONFIG_LEDS_DELL_NETBOOKS) += dell-led.o
17 obj-$(CONFIG_LEDS_MC13783) += leds-mc13783.o
18+obj-$(CONFIG_LEDS_RB750) += leds-rb750.o
19 obj-$(CONFIG_LEDS_NS2) += leds-ns2.o
20 obj-$(CONFIG_LEDS_NETXBIG) += leds-netxbig.o
21
target/linux/ar71xx/patches-2.6.38/208-rb750-nand-driver.patch
1--- a/drivers/mtd/nand/Kconfig
2@@ -537,4 +537,8 @@ config MTD_NAND_RB4XX
3     tristate "NAND flash driver for RouterBoard 4xx series"
4     depends on MTD_NAND && AR71XX_MACH_RB4XX
5
6+config MTD_NAND_RB750
7+ tristate "NAND flash driver for the RouterBoard 750"
8+ depends on MTD_NAND && AR71XX_MACH_RB750
9+
10 endif # MTD_NAND
11--- a/drivers/mtd/nand/Makefile
12@@ -34,6 +34,7 @@ obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx
13 obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
14 obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
15 obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o
16+obj-$(CONFIG_MTD_NAND_RB750) += rb750_nand.o
17 obj-$(CONFIG_MTD_ALAUDA) += alauda.o
18 obj-$(CONFIG_MTD_NAND_PASEMI) += pasemi_nand.o
19 obj-$(CONFIG_MTD_NAND_ORION) += orion_nand.o
target/linux/ar71xx/patches-2.6.38/300-mips_fw_myloader.patch
1--- a/arch/mips/Makefile
2@@ -181,6 +181,7 @@ endif
3 #
4 libs-$(CONFIG_ARC) += arch/mips/fw/arc/
5 libs-$(CONFIG_CFE) += arch/mips/fw/cfe/
6+libs-$(CONFIG_MYLOADER) += arch/mips/fw/myloader/
7 libs-$(CONFIG_SNIPROM) += arch/mips/fw/sni/
8 libs-y += arch/mips/fw/lib/
9
10--- a/arch/mips/Kconfig
11@@ -925,6 +925,9 @@ config MIPS_NILE4
12 config MIPS_DISABLE_OBSOLETE_IDE
13     bool
14
15+config MYLOADER
16+ bool
17+
18 config SYNC_R4K
19     bool
20
target/linux/ar71xx/patches-2.6.38/400-2.6.35-fix-nand_scan_ident-options.patch
1--- a/drivers/mtd/nand/rb4xx_nand.c
2@@ -223,7 +223,7 @@ static int __init rb4xx_nand_probe(struc
3
4     platform_set_drvdata(pdev, info);
5
6- ret = nand_scan_ident(&info->mtd, 1);
7+ ret = nand_scan_ident(&info->mtd, 1, NULL);
8     if (ret) {
9         ret = -ENXIO;
10         goto err_free_info;
11--- a/drivers/mtd/nand/rb750_nand.c
12@@ -287,7 +287,7 @@ static int __init rb750_nand_probe(struc
13
14     platform_set_drvdata(pdev, info);
15
16- ret = nand_scan_ident(&info->mtd, 1);
17+ ret = nand_scan_ident(&info->mtd, 1, NULL);
18     if (ret) {
19         ret = -ENXIO;
20         goto err_free_info;
target/linux/ar71xx/patches-2.6.38/901-get_c0_compare_irq_function.patch
1--- a/arch/mips/kernel/traps.c
2@@ -54,6 +54,7 @@
3 #include <asm/types.h>
4 #include <asm/stacktrace.h>
5 #include <asm/uasm.h>
6+#include <asm/time.h>
7
8 extern void check_wait(void);
9 extern asmlinkage void r4k_wait(void);
10@@ -1578,6 +1579,8 @@ void __cpuinit per_cpu_trap_init(void)
11     if (cpu_has_mips_r2) {
12         cp0_compare_irq_shift = CAUSEB_TI - CAUSEB_IP;
13         cp0_compare_irq = (read_c0_intctl() >> INTCTLB_IPTI) & 7;
14+ if (get_c0_compare_irq)
15+ cp0_compare_irq = get_c0_compare_irq();
16         cp0_perfcount_irq = (read_c0_intctl() >> INTCTLB_IPPCI) & 7;
17         if (cp0_perfcount_irq == cp0_compare_irq)
18             cp0_perfcount_irq = -1;
19--- a/arch/mips/include/asm/time.h
20@@ -52,6 +52,7 @@ extern int (*perf_irq)(void);
21  */
22 #ifdef CONFIG_CEVT_R4K_LIB
23 extern unsigned int __weak get_c0_compare_int(void);
24+extern unsigned int __weak get_c0_compare_irq(void);
25 extern int r4k_clockevent_init(void);
26 #endif
27

Archive Download the corresponding diff file



interactive