Changeset 27008


Ignore:
Timestamp:
2011-05-25T21:27:08+02:00 (7 years ago)
Author:
hauke
Message:

brcm47xx: initial 2.6.39 support for brcm47xx

Thank you Peter Wagner for the patch

Location:
trunk/target/linux/brcm47xx
Files:
9 edited
2 copied

Legend:

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

    r27006 r27008  
     1# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set 
    12# CONFIG_ARCH_HAS_ILOG2_U32 is not set 
    23# CONFIG_ARCH_HAS_ILOG2_U64 is not set 
     
    910# CONFIG_ARPD is not set 
    1011# CONFIG_ATH79 is not set 
    11 # CONFIG_AUTO_IRQ_AFFINITY is not set 
    1212CONFIG_B44=y 
    1313CONFIG_B44_PCI=y 
     
    3737CONFIG_DECOMPRESS_LZMA=y 
    3838CONFIG_DMA_NONCOHERENT=y 
    39 CONFIG_EXPERT=y 
    4039# CONFIG_FSNOTIFY is not set 
    4140CONFIG_GENERIC_ATOMIC64=y 
     
    4645CONFIG_GENERIC_FIND_NEXT_BIT=y 
    4746CONFIG_GENERIC_GPIO=y 
    48 # CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set 
    49 # CONFIG_GENERIC_PENDING_IRQ is not set 
    50 # CONFIG_HARDIRQS_SW_RESEND is not set 
     47CONFIG_GENERIC_IRQ_SHOW=y 
    5148CONFIG_HARDWARE_WATCHPOINTS=y 
    5249CONFIG_HAS_DMA=y 
     
    6966CONFIG_HAVE_OPROFILE=y 
    7067CONFIG_HAVE_PERF_EVENTS=y 
    71 # CONFIG_HAVE_SPARSE_IRQ is not set 
    7268CONFIG_HW_HAS_PCI=y 
    7369CONFIG_HW_RANDOM=y 
     
    7975# CONFIG_IP_ROUTE_VERBOSE is not set 
    8076CONFIG_IRQ_CPU=y 
    81 # CONFIG_IRQ_PER_CPU is not set 
    8277CONFIG_KALLSYMS=y 
    8378CONFIG_LEDS_GPIO=y 
    8479CONFIG_MACH_NO_WESTBRIDGE=y 
     80# CONFIG_MINIX_FS_NATIVE_ENDIAN is not set 
    8581CONFIG_MIPS=y 
    8682CONFIG_MIPS_L1_CACHE_SHIFT=5 
  • trunk/target/linux/brcm47xx/patches-2.6.39/016-MIPS-BCM47xx-Remove-CFE-console.patch

    r26524 r27008  
    1717--- a/arch/mips/Kconfig 
    1818+++ b/arch/mips/Kconfig 
    19 @@ -100,7 +100,6 @@ config BCM47XX 
     19@@ -101,7 +101,6 @@ config BCM47XX 
    2020        select SSB_B43_PCI_BRIDGE if PCI 
    2121        select SSB_PCICORE_HOSTMODE if PCI 
  • trunk/target/linux/brcm47xx/patches-2.6.39/019-fix-boot.patch

    r26524 r27008  
    3333--- a/arch/mips/Kconfig 
    3434+++ b/arch/mips/Kconfig 
    35 @@ -85,6 +85,7 @@ config ATH79 
     35@@ -86,6 +86,7 @@ config ATH79 
    3636  
    3737 config BCM47XX 
  • trunk/target/linux/brcm47xx/patches-2.6.39/022-USB-Add-ehci-ssb-driver.patch

    r26524 r27008  
    1 From ad224c0d5fa0fc05f8aaef3c19fc9b4eb275a5d2 Mon Sep 17 00:00:00 2001 
    2 From: Hauke Mehrtens <hauke@hauke-m.de> 
    3 Date: Sun, 18 Jul 2010 21:29:40 +0200 
    4 Subject: [PATCH 2/2] USB: Add ehci ssb driver 
    5  
    6 Support for the Sonics Silicon Backplane (SSB) attached Broadcom USB EHCI core. 
    7  
    8 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> 
    9 --- 
    10  drivers/usb/host/Kconfig    |   13 ++ 
    11  drivers/usb/host/ehci-hcd.c |   22 ++++- 
    12  drivers/usb/host/ehci-ssb.c |  255 +++++++++++++++++++++++++++++++++++++++++++ 
    13  3 files changed, 288 insertions(+), 2 deletions(-) 
    14  create mode 100644 drivers/usb/host/ehci-ssb.c 
    15  
    161--- a/drivers/usb/host/Kconfig 
    172+++ b/drivers/usb/host/Kconfig 
    18 @@ -189,6 +189,19 @@ config USB_OXU210HP_HCD 
     3@@ -215,6 +215,19 @@ config USB_OXU210HP_HCD 
    194          To compile this driver as a module, choose M here: the 
    205          module will be called oxu210hp-hcd. 
     
    3823--- a/drivers/usb/host/ehci-hcd.c 
    3924+++ b/drivers/usb/host/ehci-hcd.c 
    40 @@ -1254,9 +1254,14 @@ MODULE_LICENSE ("GPL"); 
    41  #define PLATFORM_DRIVER                ehci_msm_driver 
     25@@ -1265,9 +1265,14 @@ MODULE_LICENSE ("GPL"); 
     26 #define PLATFORM_DRIVER                tegra_ehci_driver 
    4227 #endif 
    4328  
     
    5439 #endif 
    5540  
    56 @@ -1316,10 +1321,20 @@ static int __init ehci_hcd_init(void) 
     41@@ -1327,10 +1332,20 @@ static int __init ehci_hcd_init(void) 
    5742        if (retval < 0) 
    5843                goto clean4; 
     
    7156+#endif 
    7257 #ifdef XILINX_OF_PLATFORM_DRIVER 
    73 -       /* of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER); */ 
    74 +       of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER); 
     58-       /* platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); */ 
     59+       platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); 
    7560 clean4: 
    7661 #endif 
    7762 #ifdef OF_PLATFORM_DRIVER 
    78 @@ -1350,6 +1365,9 @@ module_init(ehci_hcd_init); 
     63@@ -1361,6 +1376,9 @@ module_init(ehci_hcd_init); 
    7964  
    8065 static void __exit ehci_hcd_cleanup(void) 
     
    8469+#endif 
    8570 #ifdef XILINX_OF_PLATFORM_DRIVER 
    86         of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER); 
     71        platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); 
    8772 #endif 
    8873--- /dev/null 
  • trunk/target/linux/brcm47xx/patches-2.6.39/023-usb_ehci_ohci.patch

    r26524 r27008  
    153153--- a/drivers/usb/host/ehci-hcd.c 
    154154+++ b/drivers/usb/host/ehci-hcd.c 
    155 @@ -1322,17 +1322,21 @@ static int __init ehci_hcd_init(void) 
     155@@ -1333,17 +1333,21 @@ static int __init ehci_hcd_init(void) 
    156156                goto clean4; 
    157157 #endif 
     
    173173+#endif /* !CONFIG_USB_OHCI_HCD_SSB */ 
    174174 #ifdef XILINX_OF_PLATFORM_DRIVER 
    175         of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER); 
     175        platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); 
    176176 clean4: 
    177 @@ -1365,9 +1369,11 @@ module_init(ehci_hcd_init); 
     177@@ -1376,9 +1380,11 @@ module_init(ehci_hcd_init); 
    178178  
    179179 static void __exit ehci_hcd_cleanup(void) 
     
    185185+#endif /* !CONFIG_USB_OHCI_HCD_SSB */ 
    186186 #ifdef XILINX_OF_PLATFORM_DRIVER 
    187         of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER); 
     187        platform_driver_unregister(&XILINX_OF_PLATFORM_DRIVER); 
    188188 #endif 
  • trunk/target/linux/brcm47xx/patches-2.6.39/150-cpu_fixes.patch

    r26524 r27008  
    296296                protected_writeback_dcache_line(addr & ~(dc_lsize - 1)); 
    297297        if (!cpu_icache_snoops_remote_store && scache_size) 
    298 @@ -1310,6 +1324,17 @@ static void __cpuinit coherency_setup(vo 
     298@@ -1308,6 +1322,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 @@ -1366,6 +1391,15 @@ void __cpuinit r4k_cache_init(void) 
     316@@ -1364,6 +1389,15 @@ void __cpuinit r4k_cache_init(void) 
    317317                break; 
    318318        } 
     
    330330        setup_scache(); 
    331331  
    332 @@ -1424,5 +1458,13 @@ void __cpuinit r4k_cache_init(void) 
     332@@ -1422,5 +1456,13 @@ void __cpuinit r4k_cache_init(void) 
    333333 #if !defined(CONFIG_MIPS_CMP) 
    334334        local_r4k___flush_cache_all(NULL); 
  • trunk/target/linux/brcm47xx/patches-2.6.39/301-kmod-fuse-dcache-bug-r4k.patch

    r26141 r27008  
    1919 { 
    2020        struct flush_cache_page_args args; 
    21 @@ -1468,3 +1468,7 @@ void __cpuinit r4k_cache_init(void) 
     21@@ -1466,3 +1466,7 @@ void __cpuinit r4k_cache_init(void) 
    2222        coherency_setup(); 
    2323 #endif 
  • trunk/target/linux/brcm47xx/patches-2.6.39/302-kmod-fuse-dcache-bug-fuse.patch

    r26524 r27008  
    3434--- a/fs/fuse/inode.c 
    3535+++ b/fs/fuse/inode.c 
    36 @@ -1199,6 +1199,10 @@ static int __init fuse_init(void) 
     36@@ -1200,6 +1200,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-2.6.39/700-ssb-gigabit-ethernet-driver.patch

    r26524 r27008  
    8383 { 
    8484        u32 phy_control; 
    85 @@ -2467,6 +2479,9 @@ static int tg3_nvram_read(struct tg3 *tp 
     85@@ -2488,6 +2500,9 @@ static int tg3_nvram_read(struct tg3 *tp 
    8686 { 
    8787        int ret; 
     
    9393                return tg3_nvram_read_using_eeprom(tp, offset, val); 
    9494  
    95 @@ -2791,8 +2806,10 @@ static int tg3_power_down_prepare(struct 
     95@@ -2812,8 +2827,10 @@ static int tg3_power_down_prepare(struct 
    9696        tg3_frob_aux_power(tp); 
    9797  
     
    106106  
    107107                val &= ~((1 << 16) | (1 << 4) | (1 << 2) | (1 << 1) | 1); 
    108 @@ -3311,6 +3328,14 @@ relink: 
     108@@ -3340,6 +3357,14 @@ relink: 
    109109        if (current_link_up == 0 || (tp->phy_flags & TG3_PHYFLG_IS_LOW_POWER)) { 
    110110                tg3_phy_copper_begin(tp); 
     
    121121                if (!tg3_readphy(tp, MII_BMSR, &bmsr) && 
    122122                    (bmsr & BMSR_LSTATUS)) 
    123 @@ -6887,6 +6912,11 @@ static int tg3_poll_fw(struct tg3 *tp) 
     123@@ -6916,6 +6941,11 @@ static int tg3_poll_fw(struct tg3 *tp) 
    124124        int i; 
    125125        u32 val; 
     
    133133                /* Wait up to 20ms for init done. */ 
    134134                for (i = 0; i < 200; i++) { 
    135 @@ -7177,6 +7207,14 @@ static int tg3_chip_reset(struct tg3 *tp 
     135@@ -7206,6 +7236,14 @@ static int tg3_chip_reset(struct tg3 *tp 
    136136                tw32(0x5000, 0x400); 
    137137        } 
     
    148148  
    149149        if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) { 
    150 @@ -7331,9 +7369,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
     150@@ -7360,9 +7398,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
    151151                return -ENODEV; 
    152152        } 
     
    164164 } 
    165165  
    166 @@ -7396,6 +7437,11 @@ static int tg3_load_5701_a0_firmware_fix 
     166@@ -7425,6 +7466,11 @@ static int tg3_load_5701_a0_firmware_fix 
    167167        const __be32 *fw_data; 
    168168        int err, i; 
     
    176176  
    177177        /* Firmware blob starts with version numbers, followed by 
    178 @@ -7454,6 +7500,11 @@ static int tg3_load_tso_firmware(struct 
     178@@ -7483,6 +7529,11 @@ static int tg3_load_tso_firmware(struct 
    179179        unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size; 
    180180        int err, i; 
     
    188188                return 0; 
    189189  
    190 @@ -8671,6 +8722,11 @@ static void tg3_timer(unsigned long __op 
     190@@ -8701,6 +8752,11 @@ static void tg3_timer(unsigned long __op 
    191191  
    192192        spin_lock(&tp->lock); 
     
    200200                /* All of this garbage is because when using non-tagged 
    201201                 * IRQ status the mailbox/status_block protocol the chip 
    202 @@ -10341,6 +10397,11 @@ static int tg3_test_nvram(struct tg3 *tp 
     202@@ -10372,6 +10428,11 @@ static int tg3_test_nvram(struct tg3 *tp 
    203203        if (tp->tg3_flags3 & TG3_FLG3_NO_NVRAM) 
    204204                return 0; 
     
    212212                return -EIO; 
    213213  
    214 @@ -11164,7 +11225,7 @@ static int tg3_ioctl(struct net_device * 
     214@@ -11253,7 +11314,7 @@ static int tg3_ioctl(struct net_device * 
    215215                        return -EAGAIN; 
    216216  
     
    221221  
    222222                data->val_out = mii_regval; 
    223 @@ -11182,7 +11243,7 @@ static int tg3_ioctl(struct net_device * 
     223@@ -11271,7 +11332,7 @@ static int tg3_ioctl(struct net_device * 
    224224                        return -EAGAIN; 
    225225  
     
    230230  
    231231                return err; 
    232 @@ -11802,6 +11863,12 @@ static void __devinit tg3_get_5717_nvram 
     232@@ -11891,6 +11952,12 @@ static void __devinit tg3_get_5717_nvram 
    233233 /* Chips other than 5700/5701 use the NVRAM for fetching info. */ 
    234234 static void __devinit tg3_nvram_init(struct tg3 *tp) 
     
    243243             (EEPROM_ADDR_FSM_RESET | 
    244244              (EEPROM_DEFAULT_CLOCK_PERIOD << 
    245 @@ -12065,6 +12132,9 @@ static int tg3_nvram_write_block(struct 
     245@@ -12154,6 +12221,9 @@ static int tg3_nvram_write_block(struct 
    246246 { 
    247247        int ret; 
     
    253253                tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl & 
    254254                       ~GRC_LCLCTRL_GPIO_OUTPUT1); 
    255 @@ -13527,6 +13597,11 @@ static int __devinit tg3_get_invariants( 
     255@@ -13615,6 +13685,11 @@ static int __devinit tg3_get_invariants( 
    256256              GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701))) 
    257257                tp->tg3_flags |= TG3_FLAG_SRAM_USE_CONFIG; 
     
    265265         * In particular, the TG3_FLG2_IS_NIC flag must be 
    266266         * determined before calling tg3_set_power_state() so that 
    267 @@ -13924,6 +13999,10 @@ static int __devinit tg3_get_device_addr 
     267@@ -14012,6 +14087,10 @@ static int __devinit tg3_get_device_addr 
    268268        } 
    269269  
     
    276276                if (!tg3_get_default_macaddr_sparc(tp)) 
    277277                        return 0; 
    278 @@ -14441,6 +14520,7 @@ static char * __devinit tg3_phy_string(s 
     278@@ -14512,6 +14591,7 @@ static char * __devinit tg3_phy_string(s 
    279279        case TG3_PHY_ID_BCM5704:        return "5704"; 
    280280        case TG3_PHY_ID_BCM5705:        return "5705"; 
     
    284284        case TG3_PHY_ID_BCM5714:        return "5714"; 
    285285        case TG3_PHY_ID_BCM5780:        return "5780"; 
    286 @@ -14644,6 +14724,13 @@ static int __devinit tg3_init_one(struct 
     286@@ -14715,6 +14795,13 @@ static int __devinit tg3_init_one(struct 
    287287                tp->msg_enable = tg3_debug; 
    288288        else 
     
    300300--- a/drivers/net/tg3.h 
    301301+++ b/drivers/net/tg3.h 
    302 @@ -2060,6 +2060,9 @@ 
     302@@ -2065,6 +2065,9 @@ 
    303303 #define  NIC_SRAM_RGMII_INBAND_DISABLE  0x00000004 
    304304 #define  NIC_SRAM_RGMII_EXT_IBND_RX_EN  0x00000008 
     
    310310 #define NIC_SRAM_RX_MINI_BUFFER_DESC   0x00001000 
    311311  
    312 @@ -2962,6 +2965,7 @@ struct tg3 { 
     312@@ -2971,6 +2974,7 @@ struct tg3 { 
    313313 #define TG3_PHY_ID_BCM5704             0x60008190 
    314314 #define TG3_PHY_ID_BCM5705             0x600081a0 
     
    318318 #define TG3_PHY_ID_BCM5714             0x60008340 
    319319 #define TG3_PHY_ID_BCM5780             0x60008350 
    320 @@ -2998,7 +3002,7 @@ struct tg3 { 
     320@@ -3007,7 +3011,7 @@ struct tg3 { 
    321321         (X) == TG3_PHY_ID_BCM5906 || (X) == TG3_PHY_ID_BCM5761 || \ 
    322322         (X) == TG3_PHY_ID_BCM5718C || (X) == TG3_PHY_ID_BCM5718S || \ 
  • trunk/target/linux/brcm47xx/patches-2.6.39/830-tg3_add_pci_ids.patch

    r26524 r27008  
    2424--- a/include/linux/pci_ids.h 
    2525+++ b/include/linux/pci_ids.h 
    26 @@ -2073,6 +2073,7 @@ 
     26@@ -2074,6 +2074,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 @@ -2086,11 +2087,13 @@ 
     34@@ -2089,11 +2090,13 @@ 
    3535 #define PCI_DEVICE_ID_TIGON3_5754M     0x1672 
    3636 #define PCI_DEVICE_ID_TIGON3_5755M     0x1673 
Note: See TracChangeset for help on using the changeset viewer.