source: trunk/target/linux/brcm47xx/patches-3.0/951-brcm4716-defines.patch @ 27723

Last change on this file since 27723 was 27723, checked in by hauke, 5 years ago

brcm47xx: update bcma and ssb to master-2011-07-21

  • add new patches for bcm4716 SoC
  • add support for serial flash on bcma bus
File size: 3.4 KB
  • drivers/ssb/scan.c

    a b const char *ssb_core_name(u16 coreid) 
    9090                return "ARM 1176"; 
    9191        case SSB_DEV_ARM_7TDMI: 
    9292                return "ARM 7TDMI"; 
     93        case SSB_DEV_ETHERNET_GBIT2: 
     94                return "Gigabit MAC"; 
     95        case SSB_DEV_MIPS_74K: 
     96                return "MIPS 74k"; 
     97        case SSB_DEV_DDR_CTRLR: 
     98                return "DDR1/2 memory controller"; 
     99        case SSB_DEV_I2S: 
     100                return "I2S"; 
    93101        } 
    94102        return "UNKNOWN"; 
    95103} 
    static u8 chipid_to_nrcores(u16 chipid) 
    148156        case 0x4710: 
    149157        case 0x4610: 
    150158        case 0x4704: 
     159        case 0x4716: 
    151160                return 9; 
    152161        default: 
    153162                ssb_printk(KERN_ERR PFX 
  • include/linux/ssb/ssb.h

    a b struct ssb_bus_ops { 
    157157#define SSB_DEV_MINI_MACPHY     0x823 
    158158#define SSB_DEV_ARM_1176        0x824 
    159159#define SSB_DEV_ARM_7TDMI       0x825 
     160#define SSB_DEV_ETHERNET_GBIT2  0x82d 
     161#define SSB_DEV_MIPS_74K        0x82c 
     162#define SSB_DEV_DDR_CTRLR       0x82e 
     163#define SSB_DEV_I2S                     0x834 
     164#define SSB_DEV_DEFAULT         0xfff 
    160165 
    161166/* Vendor-ID values */ 
    162167#define SSB_VENDOR_BROADCOM     0x4243 
     168#define SSB_VENDOR_BROADCOM2 0x04BF 
     169#define SSB_VENDOR_ARM          0x43b 
    163170 
    164171/* Some kernel subsystems poke with dev->drvdata, so we must use the 
    165172 * following ugly workaround to get from struct device to struct ssb_device */ 
  • include/linux/ssb/ssb_regs.h

    a b  
    1111#define SSB_SDRAM_SWAPPED       0x10000000U     /* Byteswapped Physical SDRAM */ 
    1212#define SSB_ENUM_BASE           0x18000000U     /* Enumeration space base */ 
    1313#define SSB_ENUM_LIMIT          0x18010000U     /* Enumeration space limit */ 
     14#define SSB_AI_BASE             0x18100000              /* base for AI registers */ 
    1415 
    1516#define SSB_FLASH2              0x1c000000U     /* Flash Region 2 (region 1 shadowed here) */ 
    1617#define SSB_FLASH2_SZ           0x02000000U     /* Size of Flash Region 2 */ 
     
    2627#define SSB_EUART               (SSB_EXTIF_BASE + 0x00800000) 
    2728#define SSB_LED                 (SSB_EXTIF_BASE + 0x00900000) 
    2829 
     30#define SSB_EROM_ASD_SZ_BASE 0x00001000 
    2931 
    3032/* Enumeration space constants */ 
    3133#define SSB_CORE_SIZE           0x1000  /* Size of a core MMIO area */ 
    enum { 
    499501#define SSB_ADM_BASE2                   0xFFFF0000      /* Type2 base address for the core */ 
    500502#define SSB_ADM_BASE2_SHIFT             16 
    501503 
     504/***** EROM defines for AI type busses *****/ 
     505#define SSB_EROM_VALID                  1 
     506#define SSB_EROM_END                    0xe 
     507#define SSB_EROM_TAG                    0xe 
     508/* Adress Space Descriptor */ 
     509#define SSB_EROM_ASD                    0x4 
     510#define SSB_EROM_ASD_SP_MASK    0x00000f00 
     511#define SSB_EROM_ASD_SP_SHIFT   8 
     512#define SSB_EROM_ASD_ST_MASK    0x000000c0 
     513#define SSB_EROM_ASD_ST_SLAVE   0x00000000 
     514#define SSB_EROM_ASD_ST_BRIDGE  0x00000040 
     515#define SSB_EROM_ASD_ST_MWRAP   0x000000c0 
     516#define SSB_EROM_ASD_ST_SWRAP   0x00000080 
     517#define SSB_EROM_ASD_ADDR_MASK  0xfffff000 
     518#define SSB_EROM_ASD_AG32               0x00000008 
     519#define SSB_EROM_ASD_SZ_MASK    0x00000030 
     520#define SSB_EROM_ASD_SZ_SZD             0x00000030 
     521#define SSB_EROM_ASD_SZ_SHIFT   4 
     522#define SSB_EROM_CI                             0 
     523#define SSB_EROM_CIA_CID_MASK   0x000fff00 
     524#define SSB_EROM_CIA_CID_SHIFT  8 
     525#define SSB_EROM_CIA_MFG_MASK   0xfff00000 
     526#define SSB_EROM_CIA_MFG_SHIFT  20 
     527#define SSB_EROM_CIB_REV_MASK   0xff000000 
     528#define SSB_EROM_CIB_REV_SHIFT  24 
     529#define SSB_EROM_CIB_NMW_MASK   0x0007c000 
     530#define SSB_EROM_CIB_NSW_MASK   0x00f80000 
     531#define SSB_EROM_CIB_NSP_MASK   0x00003e00 
     532 
     533/***** Registers of AI config space *****/ 
     534#define SSB_AI_RESETCTRL                0x800 /* maybe 0x804 for big endian */ 
     535#define  SSB_AI_RESETCTRL_RESET 1 
     536#define SSB_AI_IOCTRL                   0x408 /* maybe 0x40c for big endian */ 
     537#define SSB_CF_FGC                              0x0002 
     538#define SSB_CF_CLOCK_EN                 0x001 
     539#define SSB_AI_oobselouta30             0x100 
    502540 
    503541#endif /* LINUX_SSB_REGS_H_ */ 
Note: See TracBrowser for help on using the repository browser.