diff --git a/target/linux/brcm63xx/patches-2.6.39/007-usb-ohci-support.patch b/target/linux/brcm63xx/patches-2.6.39/007-usb-ohci-support.patch index 6ea57d9526ea1837778c5d5c6927f00ffb9b7882..a70b5012e30680c3322cd4d908fc8cfe900fbd98 100644 --- a/target/linux/brcm63xx/patches-2.6.39/007-usb-ohci-support.patch +++ b/target/linux/brcm63xx/patches-2.6.39/007-usb-ohci-support.patch @@ -52,7 +52,7 @@ Signed-off-by: Maxime Bizon <mbizon@freebox.fr> #include <board_bcm963xx.h> #define PFX "board_bcm963xx: " -@@ -871,6 +872,9 @@ int __init board_register_devices(void) +@@ -877,6 +878,9 @@ int __init board_register_devices(void) !board_get_mac_address(board.enet1.mac_addr)) bcm63xx_enet_register(1, &board.enet1); diff --git a/target/linux/brcm63xx/patches-2.6.39/008-usb-ehci-support.patch b/target/linux/brcm63xx/patches-2.6.39/008-usb-ehci-support.patch index b6810d5d5f2dc562167f78f8fe1c2661bbca3c71..0c236f0b7ca3aa59463c3c71065f34798c78e57a 100644 --- a/target/linux/brcm63xx/patches-2.6.39/008-usb-ehci-support.patch +++ b/target/linux/brcm63xx/patches-2.6.39/008-usb-ehci-support.patch @@ -44,7 +44,7 @@ Signed-off-by: Maxime Bizon <mbizon@freebox.fr> #include <board_bcm963xx.h> #define PFX "board_bcm963xx: " -@@ -872,6 +873,9 @@ int __init board_register_devices(void) +@@ -878,6 +879,9 @@ int __init board_register_devices(void) !board_get_mac_address(board.enet1.mac_addr)) bcm63xx_enet_register(1, &board.enet1); diff --git a/target/linux/brcm63xx/patches-2.6.39/040-bcm963xx_flashmap.patch b/target/linux/brcm63xx/patches-2.6.39/040-bcm963xx_flashmap.patch index ec21ba7124d4c207e7022c9b7856e4d076e0e880..a2162302eaf760de3de9207869710a45bd41ab24 100644 --- a/target/linux/brcm63xx/patches-2.6.39/040-bcm963xx_flashmap.patch +++ b/target/linux/brcm63xx/patches-2.6.39/040-bcm963xx_flashmap.patch @@ -12,7 +12,7 @@ Signed-off-by: Axel Gembe <ago@bastart.eu.org> --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -810,20 +810,6 @@ void __init board_setup(void) +@@ -816,20 +816,6 @@ void __init board_setup(void) panic("unexpected CPU for bcm963xx board"); } @@ -33,7 +33,7 @@ Signed-off-by: Axel Gembe <ago@bastart.eu.org> static struct resource mtd_resources[] = { { .start = 0, /* filled at runtime */ -@@ -833,12 +819,9 @@ static struct resource mtd_resources[] = +@@ -839,12 +825,9 @@ static struct resource mtd_resources[] = }; static struct platform_device mtd_dev = { diff --git a/target/linux/brcm63xx/patches-2.6.39/100-reset_buttons.patch b/target/linux/brcm63xx/patches-2.6.39/100-reset_buttons.patch index 208ec55640c173a6e039a242d6b2a2e96cd7858b..786c18b77712efb4918f26de56c1eb4541a19afd 100644 --- a/target/linux/brcm63xx/patches-2.6.39/100-reset_buttons.patch +++ b/target/linux/brcm63xx/patches-2.6.39/100-reset_buttons.patch @@ -43,7 +43,7 @@ }; static struct board_info __initdata board_FAST2404 = { -@@ -832,12 +854,23 @@ static struct platform_device bcm63xx_gp +@@ -838,12 +860,23 @@ static struct platform_device bcm63xx_gp .dev.platform_data = &bcm63xx_led_data, }; @@ -67,7 +67,7 @@ if (board.has_uart0) bcm63xx_uart_register(0); -@@ -879,5 +912,16 @@ int __init board_register_devices(void) +@@ -888,5 +921,16 @@ int __init board_register_devices(void) platform_device_register(&bcm63xx_gpio_leds); diff --git a/target/linux/brcm63xx/patches-2.6.39/110-gpiodev.patch b/target/linux/brcm63xx/patches-2.6.39/110-gpiodev.patch index 099ab20cf40d7e6cfa83be823ac0b8711baba99e..fc99f53455171c08a51e24849d41f546deb61be0 100644 --- a/target/linux/brcm63xx/patches-2.6.39/110-gpiodev.patch +++ b/target/linux/brcm63xx/patches-2.6.39/110-gpiodev.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -846,6 +846,10 @@ static struct platform_device mtd_dev = +@@ -852,6 +852,10 @@ static struct platform_device mtd_dev = .num_resources = ARRAY_SIZE(mtd_resources), }; @@ -11,7 +11,7 @@ static struct gpio_led_platform_data bcm63xx_led_data; static struct platform_device bcm63xx_gpio_leds = { -@@ -907,6 +911,8 @@ int __init board_register_devices(void) +@@ -916,6 +920,8 @@ int __init board_register_devices(void) platform_device_register(&mtd_dev); diff --git a/target/linux/brcm63xx/patches-2.6.39/141-led_count.patch b/target/linux/brcm63xx/patches-2.6.39/141-led_count.patch index 2d1738cc22e28882adadf0daa06b23d89e6fc872..baf092053d188c218ce58fdb16b22200b26ee4f4 100644 --- a/target/linux/brcm63xx/patches-2.6.39/141-led_count.patch +++ b/target/linux/brcm63xx/patches-2.6.39/141-led_count.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -875,6 +875,7 @@ int __init board_register_devices(void) +@@ -881,6 +881,7 @@ int __init board_register_devices(void) { u32 val; int button_count = 0; @@ -8,7 +8,7 @@ if (board.has_uart0) bcm63xx_uart_register(0); -@@ -913,7 +914,11 @@ int __init board_register_devices(void) +@@ -922,7 +923,11 @@ int __init board_register_devices(void) platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1); diff --git a/target/linux/brcm63xx/patches-2.6.39/180-udc_preliminary_support.patch b/target/linux/brcm63xx/patches-2.6.39/180-udc_preliminary_support.patch index b9649c731d944e8e6679f2a9954a23026d01a852..7b341b7198b0010f060393dff16c2861cf68914a 100644 --- a/target/linux/brcm63xx/patches-2.6.39/180-udc_preliminary_support.patch +++ b/target/linux/brcm63xx/patches-2.6.39/180-udc_preliminary_support.patch @@ -17,7 +17,7 @@ }; static struct board_info __initdata board_rta1025w_16 = { -@@ -903,6 +906,9 @@ int __init board_register_devices(void) +@@ -909,6 +912,9 @@ int __init board_register_devices(void) if (board.has_dsp) bcm63xx_dsp_register(&board.dsp); @@ -25,8 +25,8 @@ + bcm63xx_udc_register(); + /* read base address of boot chip select (0) */ - val = bcm_mpi_readl(MPI_CSBASE_REG(0)); - val &= MPI_CSBASE_BASE_MASK; + if (BCMCPU_IS_6345()) + val = 0x1fc00000; --- /dev/null +++ b/arch/mips/bcm63xx/dev-usb-udc.c @@ -0,0 +1,58 @@ diff --git a/target/linux/brcm63xx/patches-2.6.39/200-extended-platform-devices.patch b/target/linux/brcm63xx/patches-2.6.39/200-extended-platform-devices.patch index 658993b4dd802eac778bc9bdc2775ab422aedd1b..db2c22f4705bff79cb4ef156507c3bf477df97a2 100644 --- a/target/linux/brcm63xx/patches-2.6.39/200-extended-platform-devices.patch +++ b/target/linux/brcm63xx/patches-2.6.39/200-extended-platform-devices.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -909,6 +909,9 @@ int __init board_register_devices(void) +@@ -915,6 +915,9 @@ int __init board_register_devices(void) if (board.has_udc0) bcm63xx_udc_register(); @@ -8,8 +8,8 @@ + platform_add_devices(board.devs, board.num_devs); + /* read base address of boot chip select (0) */ - val = bcm_mpi_readl(MPI_CSBASE_REG(0)); - val &= MPI_CSBASE_BASE_MASK; + if (BCMCPU_IS_6345()) + val = 0x1fc00000; --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h @@ -61,6 +61,10 @@ struct board_info { diff --git a/target/linux/brcm63xx/patches-2.6.39/200-spi-board-info.patch b/target/linux/brcm63xx/patches-2.6.39/200-spi-board-info.patch index 037c4914c667ea93aa830a1a645584dfe5499320..761ac9605d5aab0797b184335ed3ebba42cff4c9 100644 --- a/target/linux/brcm63xx/patches-2.6.39/200-spi-board-info.patch +++ b/target/linux/brcm63xx/patches-2.6.39/200-spi-board-info.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -912,6 +912,9 @@ int __init board_register_devices(void) +@@ -918,6 +918,9 @@ int __init board_register_devices(void) if (board.num_devs) platform_add_devices(board.devs, board.num_devs); @@ -8,8 +8,8 @@ + spi_register_board_info(board.spis, board.num_spis); + /* read base address of boot chip select (0) */ - val = bcm_mpi_readl(MPI_CSBASE_REG(0)); - val &= MPI_CSBASE_BASE_MASK; + if (BCMCPU_IS_6345()) + val = 0x1fc00000; --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h @@ -65,6 +65,10 @@ struct board_info { diff --git a/target/linux/brcm63xx/patches-2.6.39/220-wl_exports.patch b/target/linux/brcm63xx/patches-2.6.39/220-wl_exports.patch index 39bde43374a4e3a1e173a26a0daad0b054d10c0b..8cd87b8df795dc3861593aa279a3c89ef7ad2479 100644 --- a/target/linux/brcm63xx/patches-2.6.39/220-wl_exports.patch +++ b/target/linux/brcm63xx/patches-2.6.39/220-wl_exports.patch @@ -14,7 +14,7 @@ * known 6338 boards */ #ifdef CONFIG_BCM63XX_CPU_6338 -@@ -741,6 +748,7 @@ void __init board_prom_init(void) +@@ -747,6 +754,7 @@ void __init board_prom_init(void) /* extract nvram data */ memcpy(&nvram, boot_addr + BCM963XX_NVRAM_OFFSET, sizeof(nvram)); diff --git a/target/linux/brcm63xx/patches-2.6.39/230-6358-enet1-external-mii-clk.patch b/target/linux/brcm63xx/patches-2.6.39/230-6358-enet1-external-mii-clk.patch index f064609783d9f565da60212f225e1853165bbb31..d859410b778841e87df37e5ad98022c7a92a277b 100644 --- a/target/linux/brcm63xx/patches-2.6.39/230-6358-enet1-external-mii-clk.patch +++ b/target/linux/brcm63xx/patches-2.6.39/230-6358-enet1-external-mii-clk.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -812,6 +812,8 @@ void __init board_prom_init(void) +@@ -818,6 +818,8 @@ void __init board_prom_init(void) if (BCMCPU_IS_6348()) val |= GPIO_MODE_6348_G3_EXT_MII | GPIO_MODE_6348_G0_EXT_MII; @@ -11,7 +11,7 @@ bcm_gpio_writel(val, GPIO_MODE_REG); --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h -@@ -401,6 +401,8 @@ +@@ -402,6 +402,8 @@ #define GPIO_MODE_6358_EXTRA_SPI_SS (1 << 7) #define GPIO_MODE_6358_SERIAL_LED (1 << 10) #define GPIO_MODE_6358_UTOPIA (1 << 12) diff --git a/target/linux/brcm63xx/patches-2.6.39/240-spi.patch b/target/linux/brcm63xx/patches-2.6.39/240-spi.patch index 09e19e0838bf6732259352b4ab6ff4f94cee331b..d882c218321126f71ed89b8d037e9e81dc7e6312 100644 --- a/target/linux/brcm63xx/patches-2.6.39/240-spi.patch +++ b/target/linux/brcm63xx/patches-2.6.39/240-spi.patch @@ -200,7 +200,7 @@ #define BCM_6358_OHCI0_IRQ (IRQ_INTERNAL_BASE + 5) --- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h +++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h -@@ -805,4 +805,116 @@ +@@ -771,4 +771,116 @@ #define DMIPSPLLCFG_N2_SHIFT 29 #define DMIPSPLLCFG_N2_MASK (0x7 << DMIPSPLLCFG_N2_SHIFT) @@ -990,7 +990,7 @@ #include <board_bcm963xx.h> #define PFX "board_bcm963xx: " -@@ -925,6 +926,9 @@ int __init board_register_devices(void) +@@ -931,6 +932,9 @@ int __init board_register_devices(void) if (board.num_spis) spi_register_board_info(board.spis, board.num_spis); @@ -998,5 +998,5 @@ + bcm63xx_spi_register(); + /* read base address of boot chip select (0) */ - val = bcm_mpi_readl(MPI_CSBASE_REG(0)); - val &= MPI_CSBASE_BASE_MASK; + if (BCMCPU_IS_6345()) + val = 0x1fc00000; diff --git a/target/linux/brcm63xx/patches-2.6.39/250-boardid_fixup.patch b/target/linux/brcm63xx/patches-2.6.39/250-boardid_fixup.patch index 2035854c3a73010131902d6a43fd8850b5beeee3..50e8016e3762da078146dddeff23d31bb8f66ff6 100644 --- a/target/linux/brcm63xx/patches-2.6.39/250-boardid_fixup.patch +++ b/target/linux/brcm63xx/patches-2.6.39/250-boardid_fixup.patch @@ -44,7 +44,7 @@ /* * early init callback, read nvram data from flash and checksum it */ -@@ -765,6 +792,11 @@ void __init board_prom_init(void) +@@ -771,6 +798,11 @@ void __init board_prom_init(void) return; } diff --git a/target/linux/brcm63xx/patches-2.6.39/441-board-NB4.patch b/target/linux/brcm63xx/patches-2.6.39/441-board-NB4.patch index 26a48c9d81ea3252fa0e208d95fc64742cf2aaad..2fb7ff2726846c0cc18f548486bc788c9d5ad0b2 100644 --- a/target/linux/brcm63xx/patches-2.6.39/441-board-NB4.patch +++ b/target/linux/brcm63xx/patches-2.6.39/441-board-NB4.patch @@ -557,7 +557,7 @@ /* * Register a sane SPROMv2 to make the on-board * bcm4318 WLAN work -@@ -953,6 +1479,9 @@ void __init board_prom_init(void) +@@ -959,6 +1485,9 @@ void __init board_prom_init(void) boardid_fixup(boot_addr); } diff --git a/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch b/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch index 981195983c86e0290977853903aed8f580cf3cde..3028865273b809a986b5b003a8ed482d36183389 100644 --- a/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch +++ b/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch @@ -72,9 +72,9 @@ #endif #ifdef CONFIG_BCM63XX_CPU_6358 -@@ -2051,6 +2109,22 @@ void __init board_prom_init(void) - val = bcm_mpi_readl(MPI_CSBASE_REG(0)); - val &= MPI_CSBASE_BASE_MASK; +@@ -2057,6 +2115,22 @@ void __init board_prom_init(void) + val &= MPI_CSBASE_BASE_MASK; + } boot_addr = (u8 *)KSEG1ADDR(val); + printk(KERN_INFO PFX "Boot address 0x%08x\n",(unsigned int)boot_addr); + @@ -95,10 +95,11 @@ /* dump cfe version */ cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET; -@@ -2255,6 +2329,13 @@ int __init board_register_devices(void) - val = bcm_mpi_readl(MPI_CSBASE_REG(0)); - val &= MPI_CSBASE_BASE_MASK; - +@@ -2264,6 +2338,14 @@ int __init board_register_devices(void) + val = bcm_mpi_readl(MPI_CSBASE_REG(0)); + val &= MPI_CSBASE_BASE_MASK; + } ++ + /* BT Voyager 2500V has 8 Meg flash in two 4 Meg banks + * Loading from CFE always uses Bank 0 */ + if (!strcmp(board.name, "V2500V_BB")) { diff --git a/target/linux/brcm63xx/patches-2.6.39/500-ssb-add-callback-for-sprom.patch b/target/linux/brcm63xx/patches-2.6.39/500-ssb-add-callback-for-sprom.patch index fab43b9537b74399093fb750ce0d88e0bc0f21c5..349e5f500762215b2f1ca2e30c8e6f86c09fd0fe 100644 --- a/target/linux/brcm63xx/patches-2.6.39/500-ssb-add-callback-for-sprom.patch +++ b/target/linux/brcm63xx/patches-2.6.39/500-ssb-add-callback-for-sprom.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -2136,6 +2136,17 @@ static struct ssb_sprom bcm63xx_sprom = +@@ -2128,6 +2128,17 @@ static struct ssb_sprom bcm63xx_sprom = .boardflags_lo = 0x2848, .boardflags_hi = 0x0000, }; @@ -18,7 +18,7 @@ #endif /* -@@ -2330,8 +2341,9 @@ void __init board_prom_init(void) +@@ -2328,8 +2339,9 @@ void __init board_prom_init(void) if (!board_get_mac_address(bcm63xx_sprom.il0mac)) { memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN); memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN); diff --git a/target/linux/brcm63xx/patches-2.6.39/977-ssb_export_fallback_sprom.patch b/target/linux/brcm63xx/patches-2.6.39/977-ssb_export_fallback_sprom.patch index 7576d60c7afc921c85dcb1dd24b0b031f7d32fbe..478019d99ef6a41e4d9ca5b4136a3258014fdff7 100644 --- a/target/linux/brcm63xx/patches-2.6.39/977-ssb_export_fallback_sprom.patch +++ b/target/linux/brcm63xx/patches-2.6.39/977-ssb_export_fallback_sprom.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -2116,7 +2116,7 @@ static void __init nb4_nvram_fixup(void) +@@ -2108,7 +2108,7 @@ static void __init nb4_nvram_fixup(void) * bcm4318 WLAN work */ #ifdef CONFIG_SSB_PCIHOST @@ -9,7 +9,7 @@ .revision = 0x02, .board_rev = 0x17, .country_code = 0x0, -@@ -2136,6 +2136,7 @@ static struct ssb_sprom bcm63xx_sprom = +@@ -2128,6 +2128,7 @@ static struct ssb_sprom bcm63xx_sprom = .boardflags_lo = 0x2848, .boardflags_hi = 0x0000, };