Changeset 26524


Ignore:
Timestamp:
2011-04-07T23:38:41+02:00 (7 years ago)
Author:
hauke
Message:

brcm47xx: add initial support for kernel 2.6.38

Location:
trunk/target/linux/brcm47xx
Files:
1 added
8 edited
2 copied

Legend:

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

    r26523 r26524  
    88CONFIG_ARCH_SUSPEND_POSSIBLE=y 
    99# CONFIG_ARPD is not set 
     10# CONFIG_ATH79 is not set 
    1011# CONFIG_AUTO_IRQ_AFFINITY is not set 
    1112CONFIG_B44=y 
     
    1516CONFIG_BCM47XX=y 
    1617CONFIG_BCM47XX_WDT=y 
    17 CONFIG_BKL=y 
    1818# CONFIG_BSD_PROCESS_ACCT is not set 
    1919# CONFIG_BUG is not set 
     
    3737CONFIG_DECOMPRESS_LZMA=y 
    3838CONFIG_DMA_NONCOHERENT=y 
     39CONFIG_EXPERT=y 
    3940# CONFIG_FSNOTIFY is not set 
    4041CONFIG_GENERIC_ATOMIC64=y 
     
    4647CONFIG_GENERIC_GPIO=y 
    4748# CONFIG_GENERIC_HARDIRQS_NO_DEPRECATED is not set 
    48 CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y 
    4949# CONFIG_GENERIC_PENDING_IRQ is not set 
    5050# CONFIG_HARDIRQS_SW_RESEND is not set 
     
    5353CONFIG_HAS_IOMEM=y 
    5454CONFIG_HAS_IOPORT=y 
     55CONFIG_HAVE_ARCH_JUMP_LABEL=y 
    5556CONFIG_HAVE_ARCH_KGDB=y 
    5657CONFIG_HAVE_C_RECORDMCOUNT=y 
     
    6566CONFIG_HAVE_GENERIC_HARDIRQS=y 
    6667CONFIG_HAVE_IDE=y 
     68CONFIG_HAVE_IRQ_WORK=y 
    6769CONFIG_HAVE_OPROFILE=y 
    6870CONFIG_HAVE_PERF_EVENTS=y 
     
    8082CONFIG_KALLSYMS=y 
    8183CONFIG_LEDS_GPIO=y 
    82 CONFIG_LOONGSON_UART_BASE=y 
    8384CONFIG_MACH_NO_WESTBRIDGE=y 
    8485CONFIG_MIPS=y 
     
    9798CONFIG_PHYLIB=y 
    9899# CONFIG_PREEMPT_RCU is not set 
    99 # CONFIG_PROC_KCORE is not set 
    100100# CONFIG_QUOTACTL is not set 
    101101# CONFIG_SCSI_DMA is not set 
     
    126126CONFIG_USB_SUPPORT=y 
    127127CONFIG_WATCHDOG_NOWAYOUT=y 
     128CONFIG_XZ_DEC=y 
    128129CONFIG_ZONE_DMA_FLAG=0 
  • trunk/target/linux/brcm47xx/patches-2.6.38/016-MIPS-BCM47xx-Remove-CFE-console.patch

    r24803 r26524  
    1717--- a/arch/mips/Kconfig 
    1818+++ b/arch/mips/Kconfig 
    19 @@ -82,7 +82,6 @@ config BCM47XX 
     19@@ -100,7 +100,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.38/022-USB-Add-ehci-ssb-driver.patch

    r26126 r26524  
    1616--- a/drivers/usb/host/Kconfig 
    1717+++ b/drivers/usb/host/Kconfig 
    18 @@ -160,6 +160,19 @@ config USB_OXU210HP_HCD 
     18@@ -189,6 +189,19 @@ config USB_OXU210HP_HCD 
    1919          To compile this driver as a module, choose M here: the 
    2020          module will be called oxu210hp-hcd. 
     
    3838--- a/drivers/usb/host/ehci-hcd.c 
    3939+++ b/drivers/usb/host/ehci-hcd.c 
    40 @@ -1229,9 +1229,14 @@ MODULE_LICENSE ("GPL"); 
    41  #define PLATFORM_DRIVER                ehci_octeon_driver 
     40@@ -1254,9 +1254,14 @@ MODULE_LICENSE ("GPL"); 
     41 #define PLATFORM_DRIVER                ehci_msm_driver 
    4242 #endif 
    4343  
     
    5454 #endif 
    5555  
    56 @@ -1291,10 +1296,20 @@ static int __init ehci_hcd_init(void) 
     56@@ -1316,10 +1321,20 @@ static int __init ehci_hcd_init(void) 
    5757        if (retval < 0) 
    5858                goto clean4; 
     
    7676 #endif 
    7777 #ifdef OF_PLATFORM_DRIVER 
    78 @@ -1325,6 +1340,9 @@ module_init(ehci_hcd_init); 
     78@@ -1350,6 +1365,9 @@ module_init(ehci_hcd_init); 
    7979  
    8080 static void __exit ehci_hcd_cleanup(void) 
  • trunk/target/linux/brcm47xx/patches-2.6.38/023-usb_ehci_ohci.patch

    r26126 r26524  
    153153--- a/drivers/usb/host/ehci-hcd.c 
    154154+++ b/drivers/usb/host/ehci-hcd.c 
    155 @@ -1297,17 +1297,21 @@ static int __init ehci_hcd_init(void) 
     155@@ -1322,17 +1322,21 @@ static int __init ehci_hcd_init(void) 
    156156                goto clean4; 
    157157 #endif 
     
    175175        of_unregister_platform_driver(&XILINX_OF_PLATFORM_DRIVER); 
    176176 clean4: 
    177 @@ -1340,9 +1344,11 @@ module_init(ehci_hcd_init); 
     177@@ -1365,9 +1369,11 @@ module_init(ehci_hcd_init); 
    178178  
    179179 static void __exit ehci_hcd_cleanup(void) 
  • trunk/target/linux/brcm47xx/patches-2.6.38/150-cpu_fixes.patch

    r24116 r26524  
    346346--- a/arch/mips/mm/tlbex.c 
    347347+++ b/arch/mips/mm/tlbex.c 
    348 @@ -872,6 +872,9 @@ static void __cpuinit build_r4000_tlb_re 
    349                 /* No need for uasm_i_nop */ 
    350         } 
    351   
    352 +#ifdef CONFIG_BCM47XX 
    353 +       uasm_i_nop(&p); 
     348@@ -1187,6 +1187,9 @@ static void __cpuinit build_r4000_tlb_re 
     349                        /* No need for uasm_i_nop */ 
     350                } 
     351  
     352+#ifdef CONFIG_BCM47XX 
     353+               uasm_i_nop(&p); 
    354354+#endif 
    355355 #ifdef CONFIG_64BIT 
    356         build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ 
     356                build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ 
    357357 #else 
    358 @@ -1322,6 +1325,9 @@ build_r4000_tlbchange_handler_head(u32 * 
     358@@ -1706,6 +1709,9 @@ build_r4000_tlbchange_handler_head(u32 * 
    359359                                   struct uasm_reloc **r, unsigned int pte, 
    360360                                   unsigned int ptr) 
  • trunk/target/linux/brcm47xx/patches-2.6.38/302-kmod-fuse-dcache-bug-fuse.patch

    r26141 r26524  
    11--- a/fs/fuse/dev.c 
    22+++ b/fs/fuse/dev.c 
    3 @@ -639,11 +639,20 @@ static int fuse_copy_fill(struct fuse_co 
     3@@ -647,11 +647,20 @@ static int fuse_copy_fill(struct fuse_co 
    44        return lock_request(cs->fc, cs->req); 
    55 } 
     
    3434--- a/fs/fuse/inode.c 
    3535+++ b/fs/fuse/inode.c 
    36 @@ -1202,6 +1202,10 @@ static int __init fuse_init(void) 
     36@@ -1199,6 +1199,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.38/700-ssb-gigabit-ethernet-driver.patch

    r26126 r26524  
    11--- a/drivers/net/tg3.c 
    22+++ b/drivers/net/tg3.c 
    3 @@ -42,6 +42,7 @@ 
     3@@ -43,6 +43,7 @@ 
    44 #include <linux/prefetch.h> 
    55 #include <linux/dma-mapping.h> 
     
    99 #include <net/checksum.h> 
    1010 #include <net/ip.h> 
    11 @@ -496,8 +497,9 @@ static void _tw32_flush(struct tg3 *tp, 
     11@@ -488,8 +489,9 @@ static void _tw32_flush(struct tg3 *tp, 
    1212 static inline void tw32_mailbox_flush(struct tg3 *tp, u32 off, u32 val) 
    1313 { 
     
    2121 } 
    2222  
    23 @@ -507,7 +509,7 @@ static void tg3_write32_tx_mbox(struct t 
     23@@ -499,7 +501,7 @@ static void tg3_write32_tx_mbox(struct t 
    2424        writel(val, mbox); 
    2525        if (tp->tg3_flags & TG3_FLAG_TXD_MBOX_HWBUG) 
     
    3030 } 
    3131  
    32 @@ -790,7 +792,7 @@ static void tg3_switch_clocks(struct tg3 
     32@@ -782,7 +784,7 @@ static void tg3_switch_clocks(struct tg3 
    3333  
    3434 #define PHY_BUSY_LOOPS 5000 
     
    3939        u32 frame_val; 
    4040        unsigned int loops; 
    41 @@ -804,7 +806,7 @@ static int tg3_readphy(struct tg3 *tp, i 
     41@@ -796,7 +798,7 @@ static int tg3_readphy(struct tg3 *tp, i 
    4242  
    4343        *val = 0x0; 
     
    4848        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) & 
    4949                      MI_COM_REG_ADDR_MASK); 
    50 @@ -839,7 +841,12 @@ static int tg3_readphy(struct tg3 *tp, i 
     50@@ -831,7 +833,12 @@ static int tg3_readphy(struct tg3 *tp, i 
    5151        return ret; 
    5252 } 
     
    6262        u32 frame_val; 
    6363        unsigned int loops; 
    64 @@ -855,7 +862,7 @@ static int tg3_writephy(struct tg3 *tp, 
     64@@ -847,7 +854,7 @@ static int tg3_writephy(struct tg3 *tp, 
    6565                udelay(80); 
    6666        } 
     
    7171        frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) & 
    7272                      MI_COM_REG_ADDR_MASK); 
    73 @@ -888,6 +895,11 @@ static int tg3_writephy(struct tg3 *tp, 
     73@@ -880,6 +887,11 @@ static int tg3_writephy(struct tg3 *tp, 
    7474        return ret; 
    7575 } 
     
    8383 { 
    8484        u32 phy_control; 
    85 @@ -2474,6 +2486,9 @@ static int tg3_nvram_read(struct tg3 *tp 
     85@@ -2467,6 +2479,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 @@ -2805,8 +2820,10 @@ static int tg3_set_power_state(struct tg 
     95@@ -2791,8 +2806,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 @@ -3324,6 +3341,14 @@ relink: 
     108@@ -3311,6 +3328,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 @@ -6916,6 +6941,11 @@ static int tg3_poll_fw(struct tg3 *tp) 
     123@@ -6887,6 +6912,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 @@ -7206,6 +7236,14 @@ static int tg3_chip_reset(struct tg3 *tp 
     135@@ -7177,6 +7207,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 @@ -7358,9 +7396,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
     150@@ -7331,9 +7369,12 @@ static int tg3_halt_cpu(struct tg3 *tp, 
    151151                return -ENODEV; 
    152152        } 
     
    164164 } 
    165165  
    166 @@ -7423,6 +7464,11 @@ static int tg3_load_5701_a0_firmware_fix 
     166@@ -7396,6 +7437,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 @@ -7481,6 +7527,11 @@ static int tg3_load_tso_firmware(struct 
     178@@ -7454,6 +7500,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 @@ -8677,6 +8728,11 @@ static void tg3_timer(unsigned long __op 
     190@@ -8671,6 +8722,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 @@ -10348,6 +10404,11 @@ static int tg3_test_nvram(struct tg3 *tp 
     202@@ -10341,6 +10397,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 @@ -11171,7 +11232,7 @@ static int tg3_ioctl(struct net_device * 
     214@@ -11164,7 +11225,7 @@ static int tg3_ioctl(struct net_device * 
    215215                        return -EAGAIN; 
    216216  
     
    221221  
    222222                data->val_out = mii_regval; 
    223 @@ -11189,7 +11250,7 @@ static int tg3_ioctl(struct net_device * 
     223@@ -11182,7 +11243,7 @@ static int tg3_ioctl(struct net_device * 
    224224                        return -EAGAIN; 
    225225  
     
    230230  
    231231                return err; 
    232 @@ -11834,6 +11895,12 @@ static void __devinit tg3_get_5717_nvram 
     232@@ -11802,6 +11863,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 @@ -12097,6 +12164,9 @@ static int tg3_nvram_write_block(struct 
     245@@ -12065,6 +12132,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 @@ -13522,6 +13592,11 @@ static int __devinit tg3_get_invariants( 
     255@@ -13527,6 +13597,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 @@ -13920,6 +13995,10 @@ static int __devinit tg3_get_device_addr 
     267@@ -13924,6 +13999,10 @@ static int __devinit tg3_get_device_addr 
    268268        } 
    269269  
     
    276276                if (!tg3_get_default_macaddr_sparc(tp)) 
    277277                        return 0; 
    278 @@ -14436,6 +14515,7 @@ static char * __devinit tg3_phy_string(s 
     278@@ -14441,6 +14520,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 @@ -14647,6 +14727,13 @@ static int __devinit tg3_init_one(struct 
     286@@ -14644,6 +14724,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 @@ -2052,6 +2052,9 @@ 
     302@@ -2060,6 +2060,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 @@ -2963,6 +2966,7 @@ struct tg3 { 
     312@@ -2962,6 +2965,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 @@ -2999,7 +3003,7 @@ struct tg3 { 
     320@@ -2998,7 +3002,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.38/830-tg3_add_pci_ids.patch

    r26126 r26524  
    99--- a/drivers/net/tg3.c 
    1010+++ b/drivers/net/tg3.c 
    11 @@ -225,9 +225,12 @@ static DEFINE_PCI_DEVICE_TABLE(tg3_pci_t 
     11@@ -217,9 +217,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 @@ -2068,6 +2068,7 @@ 
     26@@ -2073,6 +2073,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 @@ -2081,11 +2082,13 @@ 
     34@@ -2086,11 +2087,13 @@ 
    3535 #define PCI_DEVICE_ID_TIGON3_5754M     0x1672 
    3636 #define PCI_DEVICE_ID_TIGON3_5755M     0x1673 
  • trunk/target/linux/brcm47xx/patches-2.6.38/920-cache-wround.patch

    r24162 r26524  
    3535--- a/arch/mips/mm/tlbex.c 
    3636+++ b/arch/mips/mm/tlbex.c 
    37 @@ -711,6 +711,9 @@ build_get_pgde32(u32 **p, unsigned int t 
     37@@ -834,6 +834,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 @@ -872,12 +875,12 @@ static void __cpuinit build_r4000_tlb_re 
    48                 /* No need for uasm_i_nop */ 
    49         } 
     47@@ -1187,12 +1190,12 @@ static void __cpuinit build_r4000_tlb_re 
     48                        /* No need for uasm_i_nop */ 
     49                } 
    5050  
    5151-#ifdef CONFIG_BCM47XX 
    52 -       uasm_i_nop(&p); 
     52-               uasm_i_nop(&p); 
    5353-#endif 
    5454 #ifdef CONFIG_64BIT 
    55         build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ 
     55                build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */ 
    5656 #else 
    5757+# ifdef CONFIG_BCM47XX 
    58 +       uasm_i_nop(&p); 
     58+               uasm_i_nop(&p); 
    5959+# endif 
    60         build_get_pgde32(&p, K0, K1); /* get pgd in K1 */ 
     60                build_get_pgde32(&p, K0, K1); /* get pgd in K1 */ 
    6161 #endif 
    6262  
    63 @@ -889,6 +892,9 @@ static void __cpuinit build_r4000_tlb_re 
    64         build_update_entries(&p, K0, K1); 
    65         build_tlb_write_entry(&p, &l, &r, tlb_random); 
    66         uasm_l_leave(&l, p); 
     63@@ -1204,6 +1207,9 @@ static void __cpuinit build_r4000_tlb_re 
     64                build_update_entries(&p, K0, K1); 
     65                build_tlb_write_entry(&p, &l, &r, tlb_random); 
     66                uasm_l_leave(&l, p); 
    6767+#ifdef CONFIG_BCM47XX 
    68 +       uasm_i_nop(&p); 
     68+               uasm_i_nop(&p); 
    6969+#endif 
    70         uasm_i_eret(&p); /* return from trap */ 
    71   
     70                uasm_i_eret(&p); /* return from trap */ 
     71        } 
    7272 #ifdef CONFIG_HUGETLB_PAGE 
    73 @@ -1325,12 +1331,12 @@ build_r4000_tlbchange_handler_head(u32 * 
     73@@ -1709,12 +1715,12 @@ build_r4000_tlbchange_handler_head(u32 * 
    7474                                   struct uasm_reloc **r, unsigned int pte, 
    7575                                   unsigned int ptr) 
     
    8787 #endif 
    8888  
    89 @@ -1367,6 +1373,9 @@ build_r4000_tlbchange_handler_tail(u32 * 
     89@@ -1751,6 +1757,9 @@ build_r4000_tlbchange_handler_tail(u32 * 
    9090        build_update_entries(p, tmp, ptr); 
    9191        build_tlb_write_entry(p, l, r, tlb_indexed); 
Note: See TracChangeset for help on using the changeset viewer.