Changeset 29756


Ignore:
Timestamp:
2012-01-15T22:18:34+01:00 (6 years ago)
Author:
hauke
Message:

brcm47xx: add support for kernel 3.2

Location:
trunk/target/linux/brcm47xx
Files:
5 deleted
29 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm47xx/config-3.2

    r29755 r29756  
    66CONFIG_ARCH_POPULATES_NODE_MAP=y 
    77# CONFIG_ARCH_SUPPORTS_MSI is not set 
    8 CONFIG_ARCH_SUPPORTS_OPROFILE=y 
    98CONFIG_ARCH_SUSPEND_POSSIBLE=y 
    109# CONFIG_ARPD is not set 
     
    2827CONFIG_BCMA_POSSIBLE=y 
    2928CONFIG_BCMA_SFLASH=y 
    30 # CONFIG_BRCMUTIL is not set 
    3129# CONFIG_BUG is not set 
    3230CONFIG_CC_OPTIMIZE_FOR_SIZE=y 
     
    8583# CONFIG_IP_ROUTE_VERBOSE is not set 
    8684CONFIG_IRQ_CPU=y 
     85CONFIG_IRQ_FORCED_THREADING=y 
    8786CONFIG_KALLSYMS=y 
    8887# CONFIG_LANTIQ is not set 
    8988CONFIG_LEDS_GPIO=y 
    90 CONFIG_MACH_NO_WESTBRIDGE=y 
    9189# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set 
    9290CONFIG_MIPS=y 
     
    9492# CONFIG_MIPS_MACHINE is not set 
    9593CONFIG_MIPS_MT_DISABLED=y 
     94# CONFIG_MLX4_CORE is not set 
    9695CONFIG_MTD_BCM47XX_PARTS=y 
    9796CONFIG_MTD_BCM47XX_PFLASH=y 
     
    135134CONFIG_SYS_SUPPORTS_ARBIT_HZ=y 
    136135CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y 
     136CONFIG_USB_ARCH_HAS_XHCI=y 
    137137# CONFIG_USB_HCD_BCMA is not set 
    138138# CONFIG_USB_HCD_SSB is not set 
  • trunk/target/linux/brcm47xx/patches-3.2/0016-brcm47xx-add-common-interface-for-sflash.patch

    r27902 r29756  
    123123--- a/arch/mips/bcm47xx/setup.c 
    124124+++ b/arch/mips/bcm47xx/setup.c 
    125 @@ -42,6 +42,8 @@ EXPORT_SYMBOL(bcm47xx_bus); 
     125@@ -43,6 +43,8 @@ EXPORT_SYMBOL(bcm47xx_bus); 
    126126 enum bcm47xx_bus_type bcm47xx_bus_type; 
    127127 EXPORT_SYMBOL(bcm47xx_bus_type); 
     
    132132 { 
    133133        printk(KERN_ALERT "Please stand by while rebooting the system...\n"); 
    134 @@ -290,6 +292,9 @@ static void __init bcm47xx_register_ssb( 
     134@@ -291,6 +293,9 @@ static void __init bcm47xx_register_ssb( 
    135135        if (err) 
    136136                panic("Failed to initialize SSB bus (err %d)\n", err); 
     
    142142        if (nvram_getenv("kernel_args", buf, sizeof(buf)) >= 0) { 
    143143                if (strstr(buf, "console=ttyS1")) { 
    144 @@ -314,6 +319,9 @@ static void __init bcm47xx_register_bcma 
     144@@ -315,6 +320,9 @@ static void __init bcm47xx_register_bcma 
    145145        err = bcma_host_soc_register(&bcm47xx_bus.bcma); 
    146146        if (err) 
  • trunk/target/linux/brcm47xx/patches-3.2/0017-mtd-bcm47xx-add-bcm47xx-part-parser.patch

    r27902 r29756  
    1 From 1934b89b42976a083c2ad8d8fdc526ab5b05c5e4 Mon Sep 17 00:00:00 2001 
     1From d50d2d8e3ab5446f791deff0cb78820989ed93e7 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sun, 17 Jul 2011 14:54:11 +0200 
    4 Subject: [PATCH 17/26] mtd: bcm47xx: add bcm47xx part parser 
     4Subject: [PATCH 06/19] mtd: bcm47xx: add bcm47xx part parser 
    55 
    66 
     
    99 drivers/mtd/Kconfig       |    7 + 
    1010 drivers/mtd/Makefile      |    1 + 
    11  drivers/mtd/bcm47xxpart.c |  536 +++++++++++++++++++++++++++++++++++++++++++++ 
    12  3 files changed, 544 insertions(+), 0 deletions(-) 
     11 drivers/mtd/bcm47xxpart.c |  542 +++++++++++++++++++++++++++++++++++++++++++++ 
     12 3 files changed, 550 insertions(+), 0 deletions(-) 
    1313 create mode 100644 drivers/mtd/bcm47xxpart.c 
    1414 
    1515--- a/drivers/mtd/Kconfig 
    1616+++ b/drivers/mtd/Kconfig 
    17 @@ -173,6 +173,13 @@ config MTD_MYLOADER_PARTS 
     17@@ -164,6 +164,13 @@ config MTD_MYLOADER_PARTS 
    1818          You will still need the parsing functions to be called by the driver 
    1919          for your particular device. It won't happen automatically. 
     
    4141--- /dev/null 
    4242+++ b/drivers/mtd/bcm47xxpart.c 
    43 @@ -0,0 +1,536 @@ 
     43@@ -0,0 +1,542 @@ 
    4444+/* 
    4545+ *  Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org> 
     
    122122+#define NVRAM_SPACE 0x8000 
    123123+ 
    124 +#define ROUTER_NETGEAR_WGR614L         1 
    125 +#define ROUTER_NETGEAR_WNR834B         2 
    126 +#define ROUTER_NETGEAR_WNDR3300        3 
    127 +#define ROUTER_NETGEAR_WNR3500L        4 
    128 +#define ROUTER_SIMPLETECH_SIMPLESHARE  5 
    129 + 
    130 +static struct mtd_partition bcm47xx_parts[] = { 
    131 +       { name: "cfe",  offset:0, size:0, mask_flags:MTD_WRITEABLE, }, 
    132 +       { name: "linux", offset:0, size:0, }, 
    133 +       { name: "rootfs", offset:0, size:0, }, 
    134 +       { name: "nvram", offset:0, size:0, }, 
    135 +       { name: NULL, }, /* Used to create custom partitons with the function get_router() */ 
    136 +       { name: NULL, }, 
    137 +}; 
     124+#define ROUTER_NETGEAR_WGR614L         1 
     125+#define ROUTER_NETGEAR_WNR834B         2 
     126+#define ROUTER_NETGEAR_WNDR3300                3 
     127+#define ROUTER_NETGEAR_WNR3500L                4 
     128+#define ROUTER_SIMPLETECH_SIMPLESHARE  5 
     129+#define ROUTER_NETGEAR_WNDR3400                6 
    138130+ 
    139131+static int 
     
    444436+       } 
    445437+ 
     438+       if (boardnum == 1 && boardtype == 0xb4cf && boardrev == 0x1100) { 
     439+               /* Netgear WNDR3400 */ 
     440+               return ROUTER_NETGEAR_WNDR3400; 
     441+       } 
     442+ 
    446443+       if (boardtype == 0x042f 
    447444+         && boardrev == 0x10 
     
    457454+static int parse_bcm47xx_partitions(struct mtd_info *mtd, 
    458455+                                   struct mtd_partition **pparts, 
    459 +//                                 struct mtd_part_parser_data *data) 
    460 +                                   unsigned long data) 
     456+                                   struct mtd_part_parser_data *data) 
    461457+{ 
    462458+       int cfe_size; 
     
    467463+        */ 
    468464+       int custom_data_size = 0; 
     465+       struct mtd_partition *bcm47xx_parts; 
    469466+ 
    470467+       cfe_size = find_cfe_size(mtd); 
     
    472469+               return 0; 
    473470+ 
     471+       bcm47xx_parts = kzalloc(sizeof(struct mtd_partition) * 6, GFP_KERNEL); 
     472+ 
     473+       bcm47xx_parts[0].name = "cfe"; 
     474+       bcm47xx_parts[1].name = "linux"; 
     475+       bcm47xx_parts[2].name = "rootfs"; 
     476+       bcm47xx_parts[3].name = "nvram"; 
     477+ 
    474478+       /* boot loader */ 
     479+       bcm47xx_parts[0].mask_flags = MTD_WRITEABLE; 
    475480+       bcm47xx_parts[0].offset = 0; 
    476481+       bcm47xx_parts[0].size   = cfe_size; 
     
    484489+               case ROUTER_NETGEAR_WNDR3300: 
    485490+               case ROUTER_NETGEAR_WNR3500L: 
     491+               case ROUTER_NETGEAR_WNDR3400: 
    486492+                       /* Netgear: checksum is @ 0x003AFFF8 for 4M flash or checksum 
    487493+                        * is @ 0x007AFFF8 for 8M flash 
  • trunk/target/linux/brcm47xx/patches-3.2/0018-mtd-bcm47xx-add-parallel-flash-driver.patch

    r27902 r29756  
    1 From fb261916ee9cd9eede57f6255ffd39e4145da48e Mon Sep 17 00:00:00 2001 
     1From 36f8b899174a445a98fe02ed8d1db177525f0c52 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sun, 17 Jul 2011 14:55:18 +0200 
    4 Subject: [PATCH 18/26] mtd: bcm47xx: add parallel flash driver 
     4Subject: [PATCH 07/15] mtd: bcm47xx: add parallel flash driver 
    55 
    66 
     
    99 drivers/mtd/maps/Kconfig          |    9 ++ 
    1010 drivers/mtd/maps/Makefile         |    1 + 
    11  drivers/mtd/maps/bcm47xx-pflash.c |  198 +++++++++++++++++++++++++++++++++++++ 
    12  3 files changed, 208 insertions(+), 0 deletions(-) 
     11 drivers/mtd/maps/bcm47xx-pflash.c |  188 +++++++++++++++++++++++++++++++++++++ 
     12 3 files changed, 198 insertions(+), 0 deletions(-) 
    1313 create mode 100644 drivers/mtd/maps/bcm47xx-pflash.c 
    1414 
    1515--- a/drivers/mtd/maps/Kconfig 
    1616+++ b/drivers/mtd/maps/Kconfig 
    17 @@ -264,6 +264,15 @@ config MTD_LANTIQ 
     17@@ -257,6 +257,15 @@ config MTD_LANTIQ 
    1818        help 
    1919          Support for NOR flash attached to the Lantiq SoC's External Bus Unit. 
     
    3333--- a/drivers/mtd/maps/Makefile 
    3434+++ b/drivers/mtd/maps/Makefile 
    35 @@ -60,3 +60,4 @@ obj-$(CONFIG_MTD_GPIO_ADDR)   += gpio-addr 
     35@@ -58,3 +58,4 @@ obj-$(CONFIG_MTD_GPIO_ADDR)   += gpio-addr 
    3636 obj-$(CONFIG_MTD_BCM963XX)     += bcm963xx-flash.o 
    3737 obj-$(CONFIG_MTD_LATCH_ADDR)   += latch-addr-flash.o 
     
    4040--- /dev/null 
    4141+++ b/drivers/mtd/maps/bcm47xx-pflash.c 
    42 @@ -0,0 +1,198 @@ 
     42@@ -0,0 +1,188 @@ 
    4343+/* 
    4444+ *  Copyright (C) 2006 Felix Fietkau <nbd@openwrt.org> 
     
    131131+#endif 
    132132+       int ret = 0; 
    133 +       struct mtd_partition *partitions = NULL; 
    134 +       int num_partitions = 0; 
    135133+ 
    136134+       switch (bcm47xx_bus_type) { 
     
    181179+       pr_notice("Flash device: 0x%lx at 0x%x\n", bcm47xx_map.size, WINDOW_ADDR); 
    182180+ 
    183 +       num_partitions = parse_mtd_partitions(bcm47xx_mtd, probes, &partitions, 0); 
    184 +       if (num_partitions < 0) { 
    185 +               ret = num_partitions; 
    186 +               goto err_unmap; 
    187 +       } 
    188 + 
    189 +       ret = mtd_device_register(bcm47xx_mtd, partitions, num_partitions); 
    190 + 
    191 +//     ret = mtd_device_parse_register(bcm47xx_mtd, "bcm47xx", NULL, NULL, 0); 
     181+       ret = mtd_device_parse_register(bcm47xx_mtd, probes, NULL, NULL, 0); 
    192182+ 
    193183+       if (ret) { 
  • trunk/target/linux/brcm47xx/patches-3.2/0019-mtd-bcm47xx-add-serial-flash-driver.patch

    r27902 r29756  
    1 From 6a615274708fff685952139fee00ebccc0cf3266 Mon Sep 17 00:00:00 2001 
     1From 2e2951220bf63e05449c03a95453680da1029e44 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sun, 17 Jul 2011 14:55:45 +0200 
    4 Subject: [PATCH 19/26] mtd: bcm47xx: add serial flash driver 
     4Subject: [PATCH 08/15] mtd: bcm47xx: add serial flash driver 
    55 
    66sflash get the sflash ops from platform device 
     
    1111 drivers/mtd/maps/Kconfig                 |    9 + 
    1212 drivers/mtd/maps/Makefile                |    1 + 
    13  drivers/mtd/maps/bcm47xx-sflash.c        |  267 ++++++++++++++++++++++++++++++ 
    14  4 files changed, 280 insertions(+), 0 deletions(-) 
     13 drivers/mtd/maps/bcm47xx-sflash.c        |  252 ++++++++++++++++++++++++++++++ 
     14 4 files changed, 265 insertions(+), 0 deletions(-) 
    1515 create mode 100644 drivers/mtd/maps/bcm47xx-sflash.c 
    1616 
     
    3636--- a/drivers/mtd/maps/Kconfig 
    3737+++ b/drivers/mtd/maps/Kconfig 
    38 @@ -273,6 +273,15 @@ config MTD_BCM47XX_PFLASH 
     38@@ -266,6 +266,15 @@ config MTD_BCM47XX_PFLASH 
    3939        help 
    4040          Support for bcm47xx parallel flash 
     
    5454--- a/drivers/mtd/maps/Makefile 
    5555+++ b/drivers/mtd/maps/Makefile 
    56 @@ -61,3 +61,4 @@ obj-$(CONFIG_MTD_BCM963XX)    += bcm963xx-f 
     56@@ -59,3 +59,4 @@ obj-$(CONFIG_MTD_BCM963XX)    += bcm963xx-f 
    5757 obj-$(CONFIG_MTD_LATCH_ADDR)   += latch-addr-flash.o 
    5858 obj-$(CONFIG_MTD_LANTIQ)       += lantiq-flash.o 
     
    6161--- /dev/null 
    6262+++ b/drivers/mtd/maps/bcm47xx-sflash.c 
    63 @@ -0,0 +1,267 @@ 
     63@@ -0,0 +1,252 @@ 
    6464+/* 
    6565+ * Broadcom SiliconBackplane chipcommon serial flash interface 
     
    232232+       int ret = 0; 
    233233+ 
    234 +       struct mtd_partition *parts; 
    235 +       int num_partitions = 0; 
    236 + 
    237234+       mtd = kzalloc(sizeof(struct mtd_info), GFP_KERNEL); 
    238235+       if (!mtd) 
     
    267264+       mtd->owner = THIS_MODULE; 
    268265+ 
    269 +       num_partitions = parse_mtd_partitions(mtd, probes, &parts, 0); 
    270 +       if (num_partitions < 0) { 
    271 +               ret = num_partitions; 
    272 +               goto err_destroy; 
    273 +       } 
    274 + 
    275 +       ret = mtd_device_register(mtd, parts, num_partitions); 
    276 + 
    277 +//     ret = mtd_device_parse_register(bcm47xx_mtd, "bcm47xx", NULL, NULL, 0); 
     266+       ret = mtd_device_parse_register(mtd, probes, NULL, NULL, 0); 
    278267+ 
    279268+       if (ret) { 
     
    283272+       sflash->mtd = mtd; 
    284273+       return 0; 
    285 + 
    286 +err_destroy: 
    287 +       map_destroy(mtd); 
    288 +       return ret; 
    289274+} 
    290275+ 
  • trunk/target/linux/brcm47xx/patches-3.2/0020-bcm47xx-register-flash-drivers.patch

    r27902 r29756  
    1212--- a/arch/mips/bcm47xx/setup.c 
    1313+++ b/arch/mips/bcm47xx/setup.c 
    14 @@ -30,10 +30,12 @@ 
     14@@ -31,10 +31,12 @@ 
    1515 #include <linux/ssb/ssb.h> 
    1616 #include <linux/ssb/ssb_embedded.h> 
     
    2525  
    2626 union bcm47xx_bus bcm47xx_bus; 
    27 @@ -365,3 +367,73 @@ static int __init bcm47xx_register_bus_c 
     27@@ -366,3 +368,73 @@ static int __init bcm47xx_register_bus_c 
    2828        return 0; 
    2929 } 
  • trunk/target/linux/brcm47xx/patches-3.2/0026-bcma-export-needed-gpio-functions.patch

    r27902 r29756  
    1212--- a/drivers/bcma/driver_chipcommon.c 
    1313+++ b/drivers/bcma/driver_chipcommon.c 
    14 @@ -80,16 +80,19 @@ u32 bcma_chipco_gpio_in(struct bcma_drv_ 
     14@@ -81,16 +81,19 @@ u32 bcma_chipco_gpio_in(struct bcma_drv_ 
    1515 { 
    1616        return bcma_cc_read32(cc, BCMA_CC_GPIOIN) & mask; 
     
    3232 u32 bcma_chipco_gpio_control(struct bcma_drv_cc *cc, u32 mask, u32 value) 
    3333 { 
    34 @@ -101,11 +104,13 @@ u32 bcma_chipco_gpio_intmask(struct bcma 
     34@@ -102,11 +105,13 @@ u32 bcma_chipco_gpio_intmask(struct bcma 
    3535 { 
    3636        return bcma_cc_write32_masked(cc, BCMA_CC_GPIOIRQ, mask, value); 
  • trunk/target/linux/brcm47xx/patches-3.2/0029-bcma-add-function-to-check-every-10-s-if-a-reg-is-se.patch

    r29575 r29756  
    2121--- a/drivers/bcma/core.c 
    2222+++ b/drivers/bcma/core.c 
    23 @@ -51,11 +51,36 @@ int bcma_core_enable(struct bcma_device 
     23@@ -52,11 +52,36 @@ int bcma_core_enable(struct bcma_device 
    2424 } 
    2525 EXPORT_SYMBOL_GPL(bcma_core_enable); 
     
    6060                core->id.id != BCMA_CORE_PCIE && 
    6161                core->id.id != BCMA_CORE_80211); 
    62 @@ -64,15 +89,8 @@ void bcma_core_set_clockmode(struct bcma 
     62@@ -65,15 +90,8 @@ void bcma_core_set_clockmode(struct bcma 
    6363        case BCMA_CLKMODE_FAST: 
    6464                bcma_set32(core, BCMA_CLKCTLST, BCMA_CLKCTLST_FORCEHT); 
     
    7878                break; 
    7979        case BCMA_CLKMODE_DYNAMIC: 
    80 @@ -84,22 +102,12 @@ EXPORT_SYMBOL_GPL(bcma_core_set_clockmod 
     80@@ -85,22 +103,12 @@ EXPORT_SYMBOL_GPL(bcma_core_set_clockmod 
    8181  
    8282 void bcma_core_pll_ctl(struct bcma_device *core, u32 req, u32 status, bool on) 
  • trunk/target/linux/brcm47xx/patches-3.2/0030-USB-OHCI-Add-a-generic-platform-device-driver.patch

    r29725 r29756  
    1 From b39adeae5b06e40699c174ed78ca7c45b8d7976f Mon Sep 17 00:00:00 2001 
     1From 14297ee700e1c2e04a35466304f9a3c5e1387146 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sat, 26 Nov 2011 21:20:54 +0100 
    4 Subject: [PATCH 17/21] USB: OHCI: Add a generic platform device driver 
     4Subject: [PATCH 17/30] USB: OHCI: Add a generic platform device driver 
    55 
    66This adds a generic driver for platform devices. It works like the PCI 
     
    3838--- a/drivers/usb/host/ohci-hcd.c 
    3939+++ b/drivers/usb/host/ohci-hcd.c 
    40 @@ -1111,6 +1111,11 @@ MODULE_LICENSE ("GPL"); 
    41  #define PLATFORM_DRIVER                ohci_hcd_ath79_driver 
     40@@ -1116,6 +1116,11 @@ MODULE_LICENSE ("GPL"); 
     41 #define PLATFORM_DRIVER                ohci_xls_driver 
    4242 #endif 
    4343  
     
    5050        !defined(PLATFORM_DRIVER) &&    \ 
    5151        !defined(OMAP1_PLATFORM_DRIVER) &&      \ 
    52 @@ -1120,7 +1125,8 @@ MODULE_LICENSE ("GPL"); 
     52@@ -1125,7 +1130,8 @@ MODULE_LICENSE ("GPL"); 
    5353        !defined(PS3_SYSTEM_BUS_DRIVER) && \ 
    5454        !defined(SM501_OHCI_DRIVER) && \ 
     
    6060 #endif 
    6161  
    62 @@ -1204,9 +1210,19 @@ static int __init ohci_hcd_mod_init(void 
     62@@ -1209,9 +1215,19 @@ static int __init ohci_hcd_mod_init(void 
    6363                goto error_tmio; 
    6464 #endif 
     
    8080        platform_driver_unregister(&TMIO_OHCI_DRIVER); 
    8181  error_tmio: 
    82 @@ -1260,6 +1276,9 @@ module_init(ohci_hcd_mod_init); 
     82@@ -1265,6 +1281,9 @@ module_init(ohci_hcd_mod_init); 
    8383  
    8484 static void __exit ohci_hcd_mod_exit(void) 
  • trunk/target/linux/brcm47xx/patches-3.2/0031-USB-EHCI-Add-a-generic-platform-device-driver.patch

    r29575 r29756  
    1 From aa05e0048cec25719921291e8749674b8cc66fc0 Mon Sep 17 00:00:00 2001 
     1From 2ade1c32109d2f17fdfc0b414411d4ee7f828706 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sat, 26 Nov 2011 21:28:56 +0100 
    4 Subject: [PATCH 18/21] USB: EHCI: Add a generic platform device driver 
     4Subject: [PATCH 18/30] USB: EHCI: Add a generic platform device driver 
    55 
    66This adds a generic driver for platform devices. It works like the PCI 
     
    3838--- a/drivers/usb/host/ehci-hcd.c 
    3939+++ b/drivers/usb/host/ehci-hcd.c 
    40 @@ -1312,6 +1312,11 @@ MODULE_LICENSE ("GPL"); 
    41  #define PLATFORM_DRIVER                ehci_grlib_driver 
     40@@ -1329,6 +1329,11 @@ MODULE_LICENSE ("GPL"); 
     41 #define PLATFORM_DRIVER                ehci_xls_driver 
    4242 #endif 
    4343  
  • trunk/target/linux/brcm47xx/patches-3.2/0032-USB-Add-driver-for-the-bcma-bus.patch

    r29734 r29756  
    1 From 4ea647c5a257d57eaf230f783e54b2c0232852b8 Mon Sep 17 00:00:00 2001 
     1From 0da055d81f77272ebc41d4c2cd5f533aa9025cc7 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sat, 26 Nov 2011 21:33:41 +0100 
    4 Subject: [PATCH 19/26] USB: Add driver for the bcma bus 
     4Subject: [PATCH 19/30] USB: Add driver for the bcma bus 
    55 
    66This adds a USB driver using the generic platform device driver for the 
     
    2222--- a/drivers/usb/host/Kconfig 
    2323+++ b/drivers/usb/host/Kconfig 
    24 @@ -598,3 +598,15 @@ config USB_OCTEON_OHCI 
    25  config USB_OCTEON2_COMMON 
    26         bool 
    27         default y if USB_OCTEON_EHCI || USB_OCTEON_OHCI 
     24@@ -618,3 +618,15 @@ config USB_PXA168_EHCI 
     25        help 
     26          Enable support for Marvell PXA168 SoC's on-chip EHCI 
     27          host controller 
    2828+ 
    2929+config USB_HCD_BCMA 
     
    4040--- a/drivers/usb/host/Makefile 
    4141+++ b/drivers/usb/host/Makefile 
    42 @@ -35,3 +35,4 @@ obj-$(CONFIG_USB_HWA_HCD)     += hwa-hc.o 
    43  obj-$(CONFIG_USB_IMX21_HCD)    += imx21-hcd.o 
     42@@ -37,3 +37,4 @@ obj-$(CONFIG_USB_IMX21_HCD)   += imx21-hcd 
    4443 obj-$(CONFIG_USB_FSL_MPH_DR_OF)        += fsl-mph-dr-of.o 
    4544 obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o 
     45 obj-$(CONFIG_MIPS_ALCHEMY)     += alchemy-common.o 
    4646+obj-$(CONFIG_USB_HCD_BCMA)     += bcma-hcd.o 
    4747--- /dev/null 
  • trunk/target/linux/brcm47xx/patches-3.2/0033-USB-Add-driver-for-the-ssb-bus.patch

    r29734 r29756  
    1 From 0f91c21de577d2d9f1fd164ca686d9a4ff0e2c8b Mon Sep 17 00:00:00 2001 
     1From ca1db834336ac19edc7a5d342f8acece1ae1feb9 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sat, 26 Nov 2011 21:35:17 +0100 
    4 Subject: [PATCH 20/26] USB: Add driver for the ssb bus 
     4Subject: [PATCH 20/30] USB: Add driver for the ssb bus 
    55 
    66This adds a USB driver using the generic platform device driver for the 
     
    2626--- a/drivers/usb/host/Kconfig 
    2727+++ b/drivers/usb/host/Kconfig 
    28 @@ -610,3 +610,15 @@ config USB_HCD_BCMA 
     28@@ -630,3 +630,15 @@ config USB_HCD_BCMA 
    2929          for ehci and ohci. 
    3030  
     
    4444--- a/drivers/usb/host/Makefile 
    4545+++ b/drivers/usb/host/Makefile 
    46 @@ -36,3 +36,4 @@ obj-$(CONFIG_USB_IMX21_HCD)   += imx21-hcd 
    47  obj-$(CONFIG_USB_FSL_MPH_DR_OF)        += fsl-mph-dr-of.o 
     46@@ -38,3 +38,4 @@ obj-$(CONFIG_USB_FSL_MPH_DR_OF)       += fsl-m 
    4847 obj-$(CONFIG_USB_OCTEON2_COMMON) += octeon2-common.o 
     48 obj-$(CONFIG_MIPS_ALCHEMY)     += alchemy-common.o 
    4949 obj-$(CONFIG_USB_HCD_BCMA)     += bcma-hcd.o 
    5050+obj-$(CONFIG_USB_HCD_SSB)      += ssb-hcd.o 
  • trunk/target/linux/brcm47xx/patches-3.2/0034-USB-OHCI-remove-old-SSB-OHCI-driver.patch

    r29725 r29756  
    1 From 8483de69568d1da9c106683d35d2b79c729b56c2 Mon Sep 17 00:00:00 2001 
     1From 77190e21ed262397eb924e6d48e12ecf3e9f6316 Mon Sep 17 00:00:00 2001 
    22From: Hauke Mehrtens <hauke@hauke-m.de> 
    33Date: Sat, 26 Nov 2011 21:36:50 +0100 
    4 Subject: [PATCH 21/21] USB: OHCI: remove old SSB OHCI driver 
     4Subject: [PATCH 21/30] USB: OHCI: remove old SSB OHCI driver 
    55 
    66This is now replaced by the new ssb USB driver, which also supports 
     
    5151 #include "ohci-sm501.c" 
    5252 #define SM501_OHCI_DRIVER      ohci_hcd_sm501_driver 
    53 @@ -1125,7 +1120,6 @@ MODULE_LICENSE ("GPL"); 
     53@@ -1130,7 +1125,6 @@ MODULE_LICENSE ("GPL"); 
    5454        !defined(PS3_SYSTEM_BUS_DRIVER) && \ 
    5555        !defined(SM501_OHCI_DRIVER) && \ 
     
    5959 #error "missing bus glue for ohci-hcd" 
    6060 #endif 
    61 @@ -1192,12 +1186,6 @@ static int __init ohci_hcd_mod_init(void 
     61@@ -1197,12 +1191,6 @@ static int __init ohci_hcd_mod_init(void 
    6262                goto error_pci; 
    6363 #endif 
     
    7272        retval = platform_driver_register(&SM501_OHCI_DRIVER); 
    7373        if (retval < 0) 
    74 @@ -1231,10 +1219,6 @@ static int __init ohci_hcd_mod_init(void 
     74@@ -1236,10 +1224,6 @@ static int __init ohci_hcd_mod_init(void 
    7575        platform_driver_unregister(&SM501_OHCI_DRIVER); 
    7676  error_sm501: 
     
    8383        pci_unregister_driver(&PCI_DRIVER); 
    8484  error_pci: 
    85 @@ -1285,9 +1269,6 @@ static void __exit ohci_hcd_mod_exit(voi 
     85@@ -1290,9 +1274,6 @@ static void __exit ohci_hcd_mod_exit(voi 
    8686 #ifdef SM501_OHCI_DRIVER 
    8787        platform_driver_unregister(&SM501_OHCI_DRIVER); 
     
    100100- * Broadcom USB-core OHCI driver 
    101101- * 
    102 - * Copyright 2007 Michael Buesch <mb@bu3sch.de> 
     102- * Copyright 2007 Michael Buesch <m@bues.ch> 
    103103- * 
    104104- * Derived from the OHCI-PCI driver 
     
    267267-       if (!hcd->regs) 
    268268-               goto err_put_hcd; 
    269 -       err = usb_add_hcd(hcd, dev->irq, IRQF_DISABLED | IRQF_SHARED); 
     269-       err = usb_add_hcd(hcd, dev->irq, IRQF_SHARED); 
    270270-       if (err) 
    271271-               goto err_iounmap; 
  • trunk/target/linux/brcm47xx/patches-3.2/014-MIPS-BCM47xx-Setup-and-register-serial-early.patch

    r27902 r29756  
    1616--- a/arch/mips/bcm47xx/setup.c 
    1717+++ b/arch/mips/bcm47xx/setup.c 
    18 @@ -31,6 +31,8 @@ 
     18@@ -32,6 +32,8 @@ 
    1919 #include <linux/ssb/ssb_embedded.h> 
    2020 #include <linux/bcma/bcma_soc.h> 
     
    2525 #include <asm/reboot.h> 
    2626 #include <asm/time.h> 
    27 @@ -278,6 +280,31 @@ static int bcm47xx_get_invariants(struct 
     27@@ -279,6 +281,31 @@ static int bcm47xx_get_invariants(struct 
    2828        return 0; 
    2929 } 
     
    5757 { 
    5858        int err; 
    59 @@ -310,6 +337,10 @@ static void __init bcm47xx_register_ssb( 
     59@@ -311,6 +338,10 @@ static void __init bcm47xx_register_ssb( 
    6060                        memcpy(&mcore->serial_ports[1], &port, sizeof(port)); 
    6161                } 
  • trunk/target/linux/brcm47xx/patches-3.2/016-MIPS-BCM47xx-Remove-CFE-console.patch

    r27301 r29756  
    1717--- a/arch/mips/Kconfig 
    1818+++ b/arch/mips/Kconfig 
    19 @@ -94,7 +94,6 @@ config BCM47XX 
     19@@ -97,7 +97,6 @@ config BCM47XX 
    2020        select SYS_SUPPORTS_32BIT_KERNEL 
    2121        select SYS_SUPPORTS_LITTLE_ENDIAN 
  • trunk/target/linux/brcm47xx/patches-3.2/019-fix-boot.patch

    r27008 r29756  
    3333--- a/arch/mips/Kconfig 
    3434+++ b/arch/mips/Kconfig 
    35 @@ -86,6 +86,7 @@ config ATH79 
     35@@ -89,6 +89,7 @@ config ATH79 
    3636  
    3737 config BCM47XX 
  • trunk/target/linux/brcm47xx/patches-3.2/040-bcm47xx-add-gpio_set_debounce.patch

    r27301 r29756  
    11--- a/arch/mips/include/asm/mach-bcm47xx/gpio.h 
    22+++ b/arch/mips/include/asm/mach-bcm47xx/gpio.h 
    3 @@ -136,6 +136,10 @@ static inline int gpio_polarity(unsigned 
     3@@ -151,5 +151,9 @@ static inline int gpio_polarity(unsigned 
    44        return -EINVAL; 
    55 } 
     
    1010+} 
    1111  
    12  /* cansleep wrappers */ 
    13  #include <asm-generic/gpio.h> 
     12 #endif /* __BCM47XX_GPIO_H */ 
  • trunk/target/linux/brcm47xx/patches-3.2/150-cpu_fixes.patch

    r27217 r29756  
    287287                r4k_blast_dcache = (void *)cache_noop; 
    288288        else if (dc_lsize == 16) 
    289 @@ -679,6 +691,8 @@ static void local_r4k_flush_cache_sigtra 
     289@@ -683,6 +695,8 @@ static void local_r4k_flush_cache_sigtra 
    290290        unsigned long addr = (unsigned long) arg; 
    291291  
     
    296296                protected_writeback_dcache_line(addr & ~(dc_lsize - 1)); 
    297297        if (!cpu_icache_snoops_remote_store && scache_size) 
    298 @@ -1309,6 +1323,17 @@ static void __cpuinit coherency_setup(vo 
     298@@ -1346,6 +1360,17 @@ static void __cpuinit coherency_setup(vo 
    299299         * silly idea of putting something else there ... 
    300300         */ 
     
    314314        case CPU_R4000SC: 
    315315        case CPU_R4000MC: 
    316 @@ -1365,6 +1390,15 @@ void __cpuinit r4k_cache_init(void) 
     316@@ -1402,6 +1427,15 @@ void __cpuinit r4k_cache_init(void) 
    317317                break; 
    318318        } 
     
    330330        setup_scache(); 
    331331  
    332 @@ -1423,5 +1457,13 @@ void __cpuinit r4k_cache_init(void) 
     332@@ -1462,5 +1496,13 @@ void __cpuinit r4k_cache_init(void) 
    333333 #if !defined(CONFIG_MIPS_CMP) 
    334334        local_r4k___flush_cache_all(NULL); 
     
    346346--- a/arch/mips/mm/tlbex.c 
    347347+++ b/arch/mips/mm/tlbex.c 
    348 @@ -1188,6 +1188,9 @@ static void __cpuinit build_r4000_tlb_re 
     348@@ -1264,6 +1264,9 @@ static void __cpuinit build_r4000_tlb_re 
    349349                        /* No need for uasm_i_nop */ 
    350350                } 
     
    356356                build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ 
    357357 #else 
    358 @@ -1707,6 +1710,9 @@ build_r4000_tlbchange_handler_head(u32 * 
    359                                    struct uasm_reloc **r, unsigned int pte, 
    360                                    unsigned int ptr) 
    361  { 
     358@@ -1794,6 +1797,9 @@ build_r4000_tlbchange_handler_head(u32 * 
     359 { 
     360        struct work_registers wr = build_get_work_registers(p); 
     361  
    362362+#ifdef CONFIG_BCM47XX 
    363363+       uasm_i_nop(p); 
    364364+#endif 
    365365 #ifdef CONFIG_64BIT 
    366         build_get_pmde64(p, l, r, pte, ptr); /* get pmd in ptr */ 
     366        build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */ 
    367367 #else 
  • trunk/target/linux/brcm47xx/patches-3.2/210-b44_phy_fix.patch

    r27217 r29756  
    1 --- a/drivers/net/b44.c 
    2 +++ b/drivers/net/b44.c 
    3 @@ -411,10 +411,41 @@ static void b44_wap54g10_workaround(stru 
     1--- a/drivers/net/ethernet/broadcom/b44.c 
     2+++ b/drivers/net/ethernet/broadcom/b44.c 
     3@@ -410,10 +410,41 @@ static void b44_wap54g10_workaround(stru 
    44 error: 
    55        pr_warning("PHY: cannot reset MII transceiver isolate bit\n"); 
     
    4343  
    4444 static int b44_setup_phy(struct b44 *bp) 
    45 @@ -423,6 +454,7 @@ static int b44_setup_phy(struct b44 *bp) 
     45@@ -422,6 +453,7 @@ static int b44_setup_phy(struct b44 *bp) 
    4646        int err; 
    4747  
     
    5151        if (bp->phy_addr == B44_PHY_ADDR_NO_PHY) 
    5252                return 0; 
    53 @@ -2089,6 +2121,8 @@ static int __devinit b44_get_invariants( 
     53@@ -2088,6 +2120,8 @@ static int __devinit b44_get_invariants( 
    5454         * valid PHY address. */ 
    5555        bp->phy_addr &= 0x1F; 
  • trunk/target/linux/brcm47xx/patches-3.2/211-b44_timeout_spam.patch

    r23911 r29756  
    1 --- a/drivers/net/b44.c 
    2 +++ b/drivers/net/b44.c 
    3 @@ -188,10 +188,11 @@ static int b44_wait_bit(struct b44 *bp, 
     1--- a/drivers/net/ethernet/broadcom/b44.c 
     2+++ b/drivers/net/ethernet/broadcom/b44.c 
     3@@ -187,10 +187,11 @@ static int b44_wait_bit(struct b44 *bp, 
    44                udelay(10); 
    55        } 
  • trunk/target/linux/brcm47xx/patches-3.2/220-bcm5354.patch

    r29574 r29756  
    11--- a/drivers/ssb/driver_chipcommon.c 
    22+++ b/drivers/ssb/driver_chipcommon.c 
    3 @@ -317,6 +317,8 @@ void ssb_chipco_resume(struct ssb_chipco 
     3@@ -318,6 +318,8 @@ void ssb_chipco_resume(struct ssb_chipco 
    44 void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc, 
    55                              u32 *plltype, u32 *n, u32 *m) 
     
    1010        *plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT); 
    1111        switch (*plltype) { 
    12 @@ -340,6 +342,8 @@ void ssb_chipco_get_clockcpu(struct ssb_ 
     12@@ -341,6 +343,8 @@ void ssb_chipco_get_clockcpu(struct ssb_ 
    1313 void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc, 
    1414                                 u32 *plltype, u32 *n, u32 *m) 
  • trunk/target/linux/brcm47xx/patches-3.2/301-kmod-fuse-dcache-bug-r4k.patch

    r27217 r29756  
    1919 { 
    2020        struct flush_cache_page_args args; 
    21 @@ -1467,3 +1467,7 @@ void __cpuinit r4k_cache_init(void) 
     21@@ -1506,3 +1506,7 @@ void __cpuinit r4k_cache_init(void) 
    2222        coherency_setup(); 
    2323 #endif 
  • trunk/target/linux/brcm47xx/patches-3.2/302-kmod-fuse-dcache-bug-fuse.patch

    r29264 r29756  
    3434--- a/fs/fuse/inode.c 
    3535+++ b/fs/fuse/inode.c 
    36 @@ -1202,6 +1202,10 @@ static int __init fuse_init(void) 
     36@@ -1211,6 +1211,10 @@ static int __init fuse_init(void) 
    3737        printk(KERN_INFO "fuse init (API version %i.%i)\n", 
    3838               FUSE_KERNEL_VERSION, FUSE_KERNEL_MINOR_VERSION); 
  • trunk/target/linux/brcm47xx/patches-3.2/400-arch-bcm47xx.patch

    r27902 r29756  
    3434--- a/arch/mips/bcm47xx/setup.c 
    3535+++ b/arch/mips/bcm47xx/setup.c 
    36 @@ -468,3 +468,20 @@ static int __init bcm47xx_register_flash 
     36@@ -469,3 +469,20 @@ static int __init bcm47xx_register_flash 
    3737        return -1; 
    3838 } 
  • trunk/target/linux/brcm47xx/patches-3.2/700-ssb-gigabit-ethernet-driver.patch

    r29264 r29756  
    1 --- a/drivers/net/tg3.c 
    2 +++ b/drivers/net/tg3.c 
    3 @@ -43,6 +43,7 @@ 
     1--- a/drivers/net/ethernet/broadcom/tg3.c 
     2+++ b/drivers/net/ethernet/broadcom/tg3.c 
     3@@ -44,6 +44,7 @@ 
    44 #include <linux/prefetch.h> 
    55 #include <linux/dma-mapping.h> 
     
    99 #include <net/checksum.h> 
    1010 #include <net/ip.h> 
    11 @@ -515,7 +516,8 @@ static void _tw32_flush(struct tg3 *tp, 
     11@@ -530,7 +531,8 @@ static void _tw32_flush(struct tg3 *tp, 
    1212 static inline void tw32_mailbox_flush(struct tg3 *tp, u32 off, u32 val) 
    1313 { 
     
    1919 } 
    2020  
    21 @@ -525,7 +527,7 @@ static void tg3_write32_tx_mbox(struct t 
     21@@ -540,7 +542,7 @@ static void tg3_write32_tx_mbox(struct t 
    2222        writel(val, mbox); 
    2323        if (tg3_flag(tp, TXD_MBOX_HWBUG)) 
     
    2828 } 
    2929  
    30 @@ -804,7 +806,7 @@ static void tg3_switch_clocks(struct tg3 
     30@@ -943,7 +945,7 @@ static void tg3_switch_clocks(struct tg3 
    3131  
    3232 #define PHY_BUSY_LOOPS 5000 
     
    3737        u32 frame_val; 
    3838        unsigned int loops; 
    39 @@ -818,7 +820,7 @@ static int tg3_readphy(struct tg3 *tp, i 
     39@@ -957,7 +959,7 @@ static int tg3_readphy(struct tg3 *tp, i 
    4040  
    4141        *val = 0x0; 
     
    4646        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) & 
    4747                      MI_COM_REG_ADDR_MASK); 
    48 @@ -853,7 +855,12 @@ static int tg3_readphy(struct tg3 *tp, i 
     48@@ -992,7 +994,12 @@ static int tg3_readphy(struct tg3 *tp, i 
    4949        return ret; 
    5050 } 
     
    6060        u32 frame_val; 
    6161        unsigned int loops; 
    62 @@ -869,7 +876,7 @@ static int tg3_writephy(struct tg3 *tp, 
     62@@ -1008,7 +1015,7 @@ static int tg3_writephy(struct tg3 *tp, 
    6363                udelay(80); 
    6464        } 
     
    6969        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) & 
    7070                      MI_COM_REG_ADDR_MASK); 
    71 @@ -902,6 +909,11 @@ static int tg3_writephy(struct tg3 *tp, 
     71@@ -1041,6 +1048,11 @@ static int tg3_writephy(struct tg3 *tp, 
    7272        return ret; 
    7373 } 
     
    8181 { 
    8282        int err; 
    83 @@ -2532,6 +2544,9 @@ static int tg3_nvram_read(struct tg3 *tp 
     83@@ -2963,6 +2975,9 @@ static int tg3_nvram_read(struct tg3 *tp 
    8484 { 
    8585        int ret; 
     
    9191                return tg3_nvram_read_using_eeprom(tp, offset, val); 
    9292  
    93 @@ -2855,8 +2870,10 @@ static int tg3_power_down_prepare(struct 
    94         tg3_frob_aux_power(tp); 
     93@@ -3045,9 +3060,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
     94                return -ENODEV; 
     95        } 
     96  
     97-       /* Clear firmware's nvram arbitration. */ 
     98-       if (tg3_flag(tp, NVRAM)) 
     99-               tw32(NVRAM_SWARB, SWARB_REQ_CLR0); 
     100+       if (!tg3_flag(tp, IS_SSB_CORE)) { 
     101+               /* Clear firmware's nvram arbitration. */ 
     102+               if (tg3_flag(tp, NVRAM)) 
     103+                       tw32(NVRAM_SWARB, SWARB_REQ_CLR0); 
     104+       } 
     105+ 
     106        return 0; 
     107 } 
     108  
     109@@ -3166,6 +3184,11 @@ static int tg3_load_tso_firmware(struct 
     110        unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size; 
     111        int err, i; 
     112  
     113+       if (tg3_flag(tp, IS_SSB_CORE)) { 
     114+               /* We don't use firmware. */ 
     115+               return 0; 
     116+       } 
     117+ 
     118        if (tg3_flag(tp, HW_TSO_1) || 
     119            tg3_flag(tp, HW_TSO_2) || 
     120            tg3_flag(tp, HW_TSO_3)) 
     121@@ -3512,8 +3535,10 @@ static int tg3_power_down_prepare(struct 
     122        tg3_frob_aux_power(tp, true); 
    95123  
    96124        /* Workaround for unstable PLL clock */ 
     
    104132  
    105133                val &= ~((1 << 16) | (1 << 4) | (1 << 2) | (1 << 1) | 1); 
    106 @@ -3377,6 +3394,14 @@ relink: 
     134@@ -4041,6 +4066,14 @@ relink: 
    107135        if (current_link_up == 0 || (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) { 
    108136                tg3_phy_copper_begin(tp); 
     
    119147                if ((!tg3_readphy(tp, MII_BMSR, &bmsr) && (bmsr & BMSR_LSTATUS)) || 
    120148                    (tp->mac_mode & MAC_MODE_PORT_INT_LPBACK)) 
    121 @@ -6962,6 +6987,11 @@ static int tg3_poll_fw(struct tg3 *tp) 
    122         int i; 
    123         u32 val; 
     149@@ -7747,6 +7780,11 @@ static int tg3_chip_reset(struct tg3 *tp 
     150                } 
     151        } 
    124152  
    125153+       if (tg3_flag(tp, IS_SSB_CORE)) { 
     
    129157+ 
    130158        if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) { 
    131                 /* Wait up to 20ms for init done. */ 
    132                 for (i = 0; i < 200; i++) { 
    133 @@ -7251,6 +7281,14 @@ static int tg3_chip_reset(struct tg3 *tp 
     159                tw32(VCPU_STATUS, tr32(VCPU_STATUS) | VCPU_STATUS_DRV_RESET); 
     160                tw32(GRC_VCPU_EXT_CTRL, 
     161@@ -7845,6 +7883,14 @@ static int tg3_chip_reset(struct tg3 *tp 
    134162                tw32(0x5000, 0x400); 
    135163        } 
     
    146174  
    147175        if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) { 
    148 @@ -7403,9 +7441,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
    149                 return -ENODEV; 
    150         } 
    151   
    152 -       /* Clear firmware's nvram arbitration. */ 
    153 -       if (tg3_flag(tp, NVRAM)) 
    154 -               tw32(NVRAM_SWARB, SWARB_REQ_CLR0); 
    155 +       if (!tg3_flag(tp, IS_SSB_CORE)) { 
    156 +               /* Clear firmware's nvram arbitration. */ 
    157 +               if (tg3_flag(tp, NVRAM)) 
    158 +                       tw32(NVRAM_SWARB, SWARB_REQ_CLR0); 
    159 +       } 
    160 + 
    161         return 0; 
    162  } 
    163   
    164 @@ -7467,6 +7508,11 @@ static int tg3_load_5701_a0_firmware_fix 
    165         const __be32 *fw_data; 
    166         int err, i; 
    167   
    168 +       if (tg3_flag(tp, IS_SSB_CORE)) { 
    169 +               /* We don't use firmware. */ 
    170 +               return 0; 
    171 +       } 
    172 + 
    173         fw_data = (void *)tp->fw->data; 
    174   
    175         /* Firmware blob starts with version numbers, followed by 
    176 @@ -7523,6 +7569,11 @@ static int tg3_load_tso_firmware(struct 
    177         unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size; 
    178         int err, i; 
    179   
    180 +       if (tg3_flag(tp, IS_SSB_CORE)) { 
    181 +               /* We don't use firmware. */ 
    182 +               return 0; 
    183 +       } 
    184 + 
    185         if (tg3_flag(tp, HW_TSO_1) || 
    186             tg3_flag(tp, HW_TSO_2) || 
    187             tg3_flag(tp, HW_TSO_3)) 
    188 @@ -8819,6 +8870,11 @@ static void tg3_timer(unsigned long __op 
    189   
    190         spin_lock(&tp->lock); 
     176@@ -9220,6 +9266,11 @@ static void tg3_timer(unsigned long __op 
     177            GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_57765) 
     178                tg3_chk_missed_msi(tp); 
    191179  
    192180+       if (tg3_flag(tp, FLUSH_POSTED_WRITES)) { 
     
    198186                /* All of this garbage is because when using non-tagged 
    199187                 * IRQ status the mailbox/status_block protocol the chip 
    200 @@ -10446,6 +10502,11 @@ static int tg3_test_nvram(struct tg3 *tp 
     188@@ -9509,6 +9560,11 @@ static int tg3_request_firmware(struct t 
     189                return -ENOENT; 
     190        } 
     191  
     192+       if (tg3_flag(tp, IS_SSB_CORE)) { 
     193+               /* We don't use firmware. */ 
     194+               return 0; 
     195+       } 
     196+ 
     197        fw_data = (void *)tp->fw->data; 
     198  
     199        /* Firmware blob starts with version numbers, followed by 
     200@@ -10867,6 +10923,11 @@ static int tg3_test_nvram(struct tg3 *tp 
    201201        if (tg3_flag(tp, NO_NVRAM)) 
    202202                return 0; 
     
    210210                return -EIO; 
    211211  
    212 @@ -11440,7 +11501,7 @@ static int tg3_ioctl(struct net_device * 
     212@@ -11827,7 +11888,7 @@ static int tg3_ioctl(struct net_device * 
    213213                        return -EAGAIN; 
    214214  
     
    219219  
    220220                data->val_out = mii_regval; 
    221 @@ -11456,7 +11517,7 @@ static int tg3_ioctl(struct net_device * 
     221@@ -11843,7 +11904,7 @@ static int tg3_ioctl(struct net_device * 
    222222                        return -EAGAIN; 
    223223  
     
    228228  
    229229                return err; 
    230 @@ -12186,6 +12247,13 @@ static void __devinit tg3_get_5720_nvram 
     230@@ -12573,6 +12634,13 @@ static void __devinit tg3_get_5720_nvram 
    231231 /* Chips other than 5700/5701 use the NVRAM for fetching info. */ 
    232232 static void __devinit tg3_nvram_init(struct tg3 *tp) 
     
    242242             (EEPROM_ADDR_FSM_RESET | 
    243243              (EEPROM_DEFAULT_CLOCK_PERIOD << 
    244 @@ -12452,6 +12520,9 @@ static int tg3_nvram_write_block(struct 
     244@@ -12839,6 +12907,9 @@ static int tg3_nvram_write_block(struct 
    245245 { 
    246246        int ret; 
     
    252252                tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl & 
    253253                       ~GRC_LCLCTRL_GPIO_OUTPUT1); 
    254 @@ -13863,6 +13934,11 @@ static int __devinit tg3_get_invariants( 
    255               GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701))) 
    256                 tg3_flag_set(tp, SRAM_USE_CONFIG); 
     254@@ -14263,6 +14334,11 @@ static int __devinit tg3_get_invariants( 
     255                } 
     256        } 
    257257  
    258258+       if (tg3_flag(tp, FLUSH_POSTED_WRITES)) { 
     
    264264         * In particular, the TG3_FLAG_IS_NIC flag must be 
    265265         * determined before calling tg3_set_power_state() so that 
    266 @@ -14274,6 +14350,8 @@ static int __devinit tg3_get_device_addr 
     266@@ -14673,6 +14749,8 @@ static int __devinit tg3_get_device_addr 
    267267        } 
    268268  
     
    273273                if (!tg3_get_default_macaddr_sparc(tp)) 
    274274                        return 0; 
    275 @@ -14772,6 +14850,7 @@ static char * __devinit tg3_phy_string(s 
     275@@ -15171,6 +15249,7 @@ static char * __devinit tg3_phy_string(s 
    276276        case TG3_PHY_ID_BCM5704:        return "5704"; 
    277277        case TG3_PHY_ID_BCM5705:        return "5705"; 
     
    281281        case TG3_PHY_ID_BCM5714:        return "5714"; 
    282282        case TG3_PHY_ID_BCM5780:        return "5780"; 
    283 @@ -14961,6 +15040,13 @@ static int __devinit tg3_init_one(struct 
     283@@ -15366,6 +15445,13 @@ static int __devinit tg3_init_one(struct 
    284284                tp->msg_enable = tg3_debug; 
    285285        else 
     
    295295        /* The word/byte swap controls here control register access byte 
    296296         * swapping.  DMA data byte swapping is controlled in the GRC_MODE 
    297 --- a/drivers/net/tg3.h 
    298 +++ b/drivers/net/tg3.h 
    299 @@ -2901,6 +2901,9 @@ enum TG3_FLAGS { 
    300         TG3_FLAG_57765_PLUS, 
    301         TG3_FLAG_APE_HAS_NCSI, 
     297--- a/drivers/net/ethernet/broadcom/tg3.h 
     298+++ b/drivers/net/ethernet/broadcom/tg3.h 
     299@@ -2922,6 +2922,9 @@ enum TG3_FLAGS { 
    302300        TG3_FLAG_5717_PLUS, 
     301        TG3_FLAG_4K_FIFO_LIMIT, 
     302        TG3_FLAG_RESET_TASK_PENDING, 
    303303+       TG3_FLAG_IS_SSB_CORE, 
    304304+       TG3_FLAG_FLUSH_POSTED_WRITES, 
     
    307307        /* Add new flags before this comment and TG3_FLAG_NUMBER_OF_FLAGS */ 
    308308        TG3_FLAG_NUMBER_OF_FLAGS,       /* Last entry in enum TG3_FLAGS */ 
    309 @@ -3051,6 +3054,7 @@ struct tg3 { 
     309@@ -3071,6 +3074,7 @@ struct tg3 { 
    310310 #define TG3_PHY_ID_BCM5704             0x60008190 
    311311 #define TG3_PHY_ID_BCM5705             0x600081a0 
     
    315315 #define TG3_PHY_ID_BCM5714             0x60008340 
    316316 #define TG3_PHY_ID_BCM5780             0x60008350 
    317 @@ -3088,7 +3092,7 @@ struct tg3 { 
     317@@ -3108,7 +3112,7 @@ struct tg3 { 
    318318         (X) == TG3_PHY_ID_BCM5906 || (X) == TG3_PHY_ID_BCM5761 || \ 
    319319         (X) == TG3_PHY_ID_BCM5718C || (X) == TG3_PHY_ID_BCM5718S || \ 
  • trunk/target/linux/brcm47xx/patches-3.2/830-tg3_add_pci_ids.patch

    r27300 r29756  
    77    This reverts commit 67b284d476bcb3d100e946da23d6cf9acfd0465c. 
    88 
    9 --- a/drivers/net/tg3.c 
    10 +++ b/drivers/net/tg3.c 
    11 @@ -235,9 +235,12 @@ static DEFINE_PCI_DEVICE_TABLE(tg3_pci_t 
     9--- a/drivers/net/ethernet/broadcom/tg3.c 
     10+++ b/drivers/net/ethernet/broadcom/tg3.c 
     11@@ -248,9 +248,12 @@ static DEFINE_PCI_DEVICE_TABLE(tg3_pci_t 
    1212        {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5901_2)}, 
    1313        {PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S_2)}, 
     
    2424--- a/include/linux/pci_ids.h 
    2525+++ b/include/linux/pci_ids.h 
    26 @@ -2077,6 +2077,7 @@ 
     26@@ -2082,6 +2082,7 @@ 
    2727 #define PCI_DEVICE_ID_NX2_57711E       0x1650 
    2828 #define PCI_DEVICE_ID_TIGON3_5705      0x1653 
     
    3232 #define PCI_DEVICE_ID_TIGON3_5722      0x165a 
    3333 #define PCI_DEVICE_ID_TIGON3_5723      0x165b 
    34 @@ -2092,11 +2093,13 @@ 
     34@@ -2097,11 +2098,13 @@ 
    3535 #define PCI_DEVICE_ID_TIGON3_5754M     0x1672 
    3636 #define PCI_DEVICE_ID_TIGON3_5755M     0x1673 
  • trunk/target/linux/brcm47xx/patches-3.2/920-cache-wround.patch

    r27217 r29756  
    3535--- a/arch/mips/mm/tlbex.c 
    3636+++ b/arch/mips/mm/tlbex.c 
    37 @@ -835,6 +835,9 @@ build_get_pgde32(u32 **p, unsigned int t 
     37@@ -914,6 +914,9 @@ build_get_pgde32(u32 **p, unsigned int t 
    3838 #endif 
    3939        uasm_i_addu(p, ptr, tmp, ptr); 
     
    4545 #endif 
    4646        uasm_i_mfc0(p, tmp, C0_BADVADDR); /* get faulting address */ 
    47 @@ -1188,12 +1191,12 @@ static void __cpuinit build_r4000_tlb_re 
     47@@ -1264,12 +1267,12 @@ static void __cpuinit build_r4000_tlb_re 
    4848                        /* No need for uasm_i_nop */ 
    4949                } 
     
    6161 #endif 
    6262  
    63 @@ -1205,6 +1208,9 @@ static void __cpuinit build_r4000_tlb_re 
     63@@ -1281,6 +1284,9 @@ static void __cpuinit build_r4000_tlb_re 
    6464                build_update_entries(&p, K0, K1); 
    6565                build_tlb_write_entry(&p, &l, &r, tlb_random); 
     
    7171        } 
    7272 #ifdef CONFIG_HUGETLB_PAGE 
    73 @@ -1710,12 +1716,12 @@ build_r4000_tlbchange_handler_head(u32 * 
    74                                    struct uasm_reloc **r, unsigned int pte, 
    75                                    unsigned int ptr) 
     73@@ -1797,12 +1803,12 @@ build_r4000_tlbchange_handler_head(u32 * 
    7674 { 
     75        struct work_registers wr = build_get_work_registers(p); 
     76  
    7777-#ifdef CONFIG_BCM47XX 
    7878-       uasm_i_nop(p); 
    7979-#endif 
    8080 #ifdef CONFIG_64BIT 
    81         build_get_pmde64(p, l, r, pte, ptr); /* get pmd in ptr */ 
     81        build_get_pmde64(p, l, r, wr.r1, wr.r2); /* get pmd in ptr */ 
    8282 #else 
    8383+# ifdef CONFIG_BCM47XX 
    8484+       uasm_i_nop(p); 
    8585+# endif 
    86         build_get_pgde32(p, pte, ptr); /* get pgd in ptr */ 
     86        build_get_pgde32(p, wr.r1, wr.r2); /* get pgd in ptr */ 
    8787 #endif 
    8888  
    89 @@ -1752,6 +1758,9 @@ build_r4000_tlbchange_handler_tail(u32 * 
    90         build_update_entries(p, tmp, ptr); 
     89@@ -1841,6 +1847,9 @@ build_r4000_tlbchange_handler_tail(u32 * 
    9190        build_tlb_write_entry(p, l, r, tlb_indexed); 
    9291        uasm_l_leave(l, *p); 
     92        build_restore_work_registers(p); 
    9393+#ifdef CONFIG_BCM47XX 
    9494+       uasm_i_nop(p); 
  • trunk/target/linux/brcm47xx/patches-3.2/976-ssb_increase_pci_delay.patch

    r27294 r29756  
    11--- a/drivers/ssb/driver_pcicore.c 
    22+++ b/drivers/ssb/driver_pcicore.c 
    3 @@ -375,7 +375,7 @@ static void __devinit ssb_pcicore_init_h 
     3@@ -373,7 +373,7 @@ static void __devinit ssb_pcicore_init_h 
    44        set_io_port_base(ssb_pcicore_controller.io_map_base); 
    55        /* Give some time to the PCI controller to configure itself with the new 
  • trunk/target/linux/brcm47xx/patches-3.2/980-wnr834b_no_cardbus_invariant.patch

    r27902 r29756  
    11--- a/arch/mips/bcm47xx/setup.c 
    22+++ b/arch/mips/bcm47xx/setup.c 
    3 @@ -277,6 +277,10 @@ static int bcm47xx_get_invariants(struct 
     3@@ -278,6 +278,10 @@ static int bcm47xx_get_invariants(struct 
    44        if (nvram_getenv("cardbus", buf, sizeof(buf)) >= 0) 
    55                iv->has_cardbus_slot = !!simple_strtoul(buf, NULL, 10); 
  • trunk/target/linux/brcm47xx/patches-3.2/999-wl_exports.patch

    r27902 r29756  
    1313--- a/arch/mips/mm/cache.c 
    1414+++ b/arch/mips/mm/cache.c 
    15 @@ -52,6 +52,7 @@ void (*_dma_cache_wback)(unsigned long s 
     15@@ -57,6 +57,7 @@ void (*_dma_cache_wback)(unsigned long s 
    1616 void (*_dma_cache_inv)(unsigned long start, unsigned long size); 
    1717  
Note: See TracChangeset for help on using the changeset viewer.