diff options
Diffstat (limited to 'include/linux/bcma')
| -rw-r--r-- | include/linux/bcma/bcma.h | 55 | ||||
| -rw-r--r-- | include/linux/bcma/bcma_driver_chipcommon.h | 6 | ||||
| -rw-r--r-- | include/linux/bcma/bcma_regs.h | 1 | 
3 files changed, 62 insertions, 0 deletions
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h index e0ce311011c..f14a98a79c9 100644 --- a/include/linux/bcma/bcma.h +++ b/include/linux/bcma/bcma.h @@ -134,6 +134,7 @@ struct bcma_host_ops {  #define BCMA_CORE_I2S			0x834  #define BCMA_CORE_SDR_DDR1_MEM_CTL	0x835	/* SDR/DDR1 memory controller core */  #define BCMA_CORE_SHIM			0x837	/* SHIM component in ubus/6362 */ +#define BCMA_CORE_ARM_CR4		0x83e  #define BCMA_CORE_DEFAULT		0xFFF  #define BCMA_MAX_NR_CORES		16 @@ -173,6 +174,60 @@ struct bcma_host_ops {  #define BCMA_CHIP_ID_BCM53572	53572  #define  BCMA_PKG_ID_BCM47188	9 +/* Board types (on PCI usually equals to the subsystem dev id) */ +/* BCM4313 */ +#define BCMA_BOARD_TYPE_BCM94313BU	0X050F +#define BCMA_BOARD_TYPE_BCM94313HM	0X0510 +#define BCMA_BOARD_TYPE_BCM94313EPA	0X0511 +#define BCMA_BOARD_TYPE_BCM94313HMG	0X051C +/* BCM4716 */ +#define BCMA_BOARD_TYPE_BCM94716NR2	0X04CD +/* BCM43224 */ +#define BCMA_BOARD_TYPE_BCM943224X21	0X056E +#define BCMA_BOARD_TYPE_BCM943224X21_FCC	0X00D1 +#define BCMA_BOARD_TYPE_BCM943224X21B	0X00E9 +#define BCMA_BOARD_TYPE_BCM943224M93	0X008B +#define BCMA_BOARD_TYPE_BCM943224M93A	0X0090 +#define BCMA_BOARD_TYPE_BCM943224X16	0X0093 +#define BCMA_BOARD_TYPE_BCM94322X9	0X008D +#define BCMA_BOARD_TYPE_BCM94322M35E	0X008E +/* BCM43228 */ +#define BCMA_BOARD_TYPE_BCM943228BU8	0X0540 +#define BCMA_BOARD_TYPE_BCM943228BU9	0X0541 +#define BCMA_BOARD_TYPE_BCM943228BU	0X0542 +#define BCMA_BOARD_TYPE_BCM943227HM4L	0X0543 +#define BCMA_BOARD_TYPE_BCM943227HMB	0X0544 +#define BCMA_BOARD_TYPE_BCM943228HM4L	0X0545 +#define BCMA_BOARD_TYPE_BCM943228SD	0X0573 +/* BCM4331 */ +#define BCMA_BOARD_TYPE_BCM94331X19	0X00D6 +#define BCMA_BOARD_TYPE_BCM94331X28	0X00E4 +#define BCMA_BOARD_TYPE_BCM94331X28B	0X010E +#define BCMA_BOARD_TYPE_BCM94331PCIEBT3AX	0X00E4 +#define BCMA_BOARD_TYPE_BCM94331X12_2G	0X00EC +#define BCMA_BOARD_TYPE_BCM94331X12_5G	0X00ED +#define BCMA_BOARD_TYPE_BCM94331X29B	0X00EF +#define BCMA_BOARD_TYPE_BCM94331CSAX	0X00EF +#define BCMA_BOARD_TYPE_BCM94331X19C	0X00F5 +#define BCMA_BOARD_TYPE_BCM94331X33	0X00F4 +#define BCMA_BOARD_TYPE_BCM94331BU	0X0523 +#define BCMA_BOARD_TYPE_BCM94331S9BU	0X0524 +#define BCMA_BOARD_TYPE_BCM94331MC	0X0525 +#define BCMA_BOARD_TYPE_BCM94331MCI	0X0526 +#define BCMA_BOARD_TYPE_BCM94331PCIEBT4	0X0527 +#define BCMA_BOARD_TYPE_BCM94331HM	0X0574 +#define BCMA_BOARD_TYPE_BCM94331PCIEDUAL	0X059B +#define BCMA_BOARD_TYPE_BCM94331MCH5	0X05A9 +#define BCMA_BOARD_TYPE_BCM94331CS	0X05C6 +#define BCMA_BOARD_TYPE_BCM94331CD	0X05DA +/* BCM53572 */ +#define BCMA_BOARD_TYPE_BCM953572BU	0X058D +#define BCMA_BOARD_TYPE_BCM953572NR2	0X058E +#define BCMA_BOARD_TYPE_BCM947188NR2	0X058F +#define BCMA_BOARD_TYPE_BCM953572SDRNR2	0X0590 +/* BCM43142 */ +#define BCMA_BOARD_TYPE_BCM943142HM	0X05E0 +  struct bcma_device {  	struct bcma_bus *bus;  	struct bcma_device_id id; diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h index 8390c474f69..b8b09eac60a 100644 --- a/include/linux/bcma/bcma_driver_chipcommon.h +++ b/include/linux/bcma/bcma_driver_chipcommon.h @@ -104,6 +104,7 @@  #define  BCMA_CC_CHIPST_4706_MIPS_BENDIAN	BIT(3) /* 0: little, 1: big endian */  #define  BCMA_CC_CHIPST_4706_PCIE1_DISABLE	BIT(5) /* PCIE1 enable strap pin */  #define  BCMA_CC_CHIPST_5357_NAND_BOOT		BIT(4) /* NAND boot, valid for CC rev 38 and/or BCM5357 */ +#define  BCMA_CC_CHIPST_4360_XTAL_40MZ		0x00000001  #define BCMA_CC_JCMD			0x0030		/* Rev >= 10 only */  #define  BCMA_CC_JCMD_START		0x80000000  #define  BCMA_CC_JCMD_BUSY		0x80000000 @@ -315,6 +316,9 @@  #define BCMA_CC_PMU_CTL			0x0600 /* PMU control */  #define  BCMA_CC_PMU_CTL_ILP_DIV	0xFFFF0000 /* ILP div mask */  #define  BCMA_CC_PMU_CTL_ILP_DIV_SHIFT	16 +#define  BCMA_CC_PMU_CTL_RES		0x00006000 /* reset control mask */ +#define  BCMA_CC_PMU_CTL_RES_SHIFT	13 +#define  BCMA_CC_PMU_CTL_RES_RELOAD	0x2	/* reload POR values */  #define  BCMA_CC_PMU_CTL_PLL_UPD	0x00000400  #define  BCMA_CC_PMU_CTL_NOILPONW	0x00000200 /* No ILP on wait */  #define  BCMA_CC_PMU_CTL_HTREQEN	0x00000100 /* HT req enable */ @@ -607,6 +611,8 @@ void bcma_chipco_bcm4331_ext_pa_lines_ctl(struct bcma_drv_cc *cc, bool enable);  extern u32 bcma_chipco_watchdog_timer_set(struct bcma_drv_cc *cc, u32 ticks); +extern u32 bcma_chipco_get_alp_clock(struct bcma_drv_cc *cc); +  void bcma_chipco_irq_mask(struct bcma_drv_cc *cc, u32 mask, u32 value);  u32 bcma_chipco_irq_status(struct bcma_drv_cc *cc, u32 mask); diff --git a/include/linux/bcma/bcma_regs.h b/include/linux/bcma/bcma_regs.h index 7e8104bb7a7..917dcd7965e 100644 --- a/include/linux/bcma/bcma_regs.h +++ b/include/linux/bcma/bcma_regs.h @@ -37,6 +37,7 @@  #define  BCMA_IOST_BIST_DONE		0x8000  #define BCMA_RESET_CTL			0x0800  #define  BCMA_RESET_CTL_RESET		0x0001 +#define BCMA_RESET_ST			0x0804  /* BCMA PCI config space registers. */  #define BCMA_PCI_PMCSR			0x44  |