aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/bcma/bcma_driver_chipcommon.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/bcma/bcma_driver_chipcommon.h')
-rw-r--r--include/linux/bcma/bcma_driver_chipcommon.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h
index 8bbfe31fbac8..fbd0d49dc4d2 100644
--- a/include/linux/bcma/bcma_driver_chipcommon.h
+++ b/include/linux/bcma/bcma_driver_chipcommon.h
@@ -88,6 +88,11 @@
88#define BCMA_CC_CHIPST_4313_OTP_PRESENT 2 88#define BCMA_CC_CHIPST_4313_OTP_PRESENT 2
89#define BCMA_CC_CHIPST_4331_SPROM_PRESENT 2 89#define BCMA_CC_CHIPST_4331_SPROM_PRESENT 2
90#define BCMA_CC_CHIPST_4331_OTP_PRESENT 4 90#define BCMA_CC_CHIPST_4331_OTP_PRESENT 4
91#define BCMA_CC_CHIPST_4706_PKG_OPTION BIT(0) /* 0: full-featured package 1: low-cost package */
92#define BCMA_CC_CHIPST_4706_SFLASH_PRESENT BIT(1) /* 0: parallel, 1: serial flash is present */
93#define BCMA_CC_CHIPST_4706_SFLASH_TYPE BIT(2) /* 0: 8b-p/ST-s flash, 1: 16b-p/Atmal-s flash */
94#define BCMA_CC_CHIPST_4706_MIPS_BENDIAN BIT(3) /* 0: little, 1: big endian */
95#define BCMA_CC_CHIPST_4706_PCIE1_DISABLE BIT(5) /* PCIE1 enable strap pin */
91#define BCMA_CC_JCMD 0x0030 /* Rev >= 10 only */ 96#define BCMA_CC_JCMD 0x0030 /* Rev >= 10 only */
92#define BCMA_CC_JCMD_START 0x80000000 97#define BCMA_CC_JCMD_START 0x80000000
93#define BCMA_CC_JCMD_BUSY 0x80000000 98#define BCMA_CC_JCMD_BUSY 0x80000000
@@ -280,6 +285,15 @@
280 285
281/* 4706 PMU */ 286/* 4706 PMU */
282#define BCMA_CC_PMU4706_MAINPLL_PLL0 0 287#define BCMA_CC_PMU4706_MAINPLL_PLL0 0
288#define BCMA_CC_PMU6_4706_PROCPLL_OFF 4 /* The CPU PLL */
289#define BCMA_CC_PMU6_4706_PROC_P2DIV_MASK 0x000f0000
290#define BCMA_CC_PMU6_4706_PROC_P2DIV_SHIFT 16
291#define BCMA_CC_PMU6_4706_PROC_P1DIV_MASK 0x0000f000
292#define BCMA_CC_PMU6_4706_PROC_P1DIV_SHIFT 12
293#define BCMA_CC_PMU6_4706_PROC_NDIV_INT_MASK 0x00000ff8
294#define BCMA_CC_PMU6_4706_PROC_NDIV_INT_SHIFT 3
295#define BCMA_CC_PMU6_4706_PROC_NDIV_MODE_MASK 0x00000007
296#define BCMA_CC_PMU6_4706_PROC_NDIV_MODE_SHIFT 0
283 297
284/* ALP clock on pre-PMU chips */ 298/* ALP clock on pre-PMU chips */
285#define BCMA_CC_PMU_ALP_CLOCK 20000000 299#define BCMA_CC_PMU_ALP_CLOCK 20000000
@@ -308,6 +322,19 @@
308#define BCMA_CC_PPL_PCHI_OFF 5 322#define BCMA_CC_PPL_PCHI_OFF 5
309#define BCMA_CC_PPL_PCHI_MASK 0x0000003f 323#define BCMA_CC_PPL_PCHI_MASK 0x0000003f
310 324
325#define BCMA_CC_PMU_PLL_CTL0 0
326#define BCMA_CC_PMU_PLL_CTL1 1
327#define BCMA_CC_PMU_PLL_CTL2 2
328#define BCMA_CC_PMU_PLL_CTL3 3
329#define BCMA_CC_PMU_PLL_CTL4 4
330#define BCMA_CC_PMU_PLL_CTL5 5
331
332#define BCMA_CC_PMU1_PLL0_PC0_P1DIV_MASK 0x00f00000
333#define BCMA_CC_PMU1_PLL0_PC0_P1DIV_SHIFT 20
334
335#define BCMA_CC_PMU1_PLL0_PC2_NDIV_INT_MASK 0x1ff00000
336#define BCMA_CC_PMU1_PLL0_PC2_NDIV_INT_SHIFT 20
337
311/* BCM4331 ChipControl numbers. */ 338/* BCM4331 ChipControl numbers. */
312#define BCMA_CHIPCTL_4331_BT_COEXIST BIT(0) /* 0 disable */ 339#define BCMA_CHIPCTL_4331_BT_COEXIST BIT(0) /* 0 disable */
313#define BCMA_CHIPCTL_4331_SECI BIT(1) /* 0 SECI is disabled (JATG functional) */ 340#define BCMA_CHIPCTL_4331_SECI BIT(1) /* 0 SECI is disabled (JATG functional) */
@@ -321,9 +348,18 @@
321#define BCMA_CHIPCTL_4331_OVR_PIPEAUXPWRDOWN BIT(9) /* override core control on pipe_AuxPowerDown */ 348#define BCMA_CHIPCTL_4331_OVR_PIPEAUXPWRDOWN BIT(9) /* override core control on pipe_AuxPowerDown */
322#define BCMA_CHIPCTL_4331_PCIE_AUXCLKEN BIT(10) /* pcie_auxclkenable */ 349#define BCMA_CHIPCTL_4331_PCIE_AUXCLKEN BIT(10) /* pcie_auxclkenable */
323#define BCMA_CHIPCTL_4331_PCIE_PIPE_PLLDOWN BIT(11) /* pcie_pipe_pllpowerdown */ 350#define BCMA_CHIPCTL_4331_PCIE_PIPE_PLLDOWN BIT(11) /* pcie_pipe_pllpowerdown */
351#define BCMA_CHIPCTL_4331_EXTPA_EN2 BIT(12) /* 0 ext pa disable, 1 ext pa enabled */
324#define BCMA_CHIPCTL_4331_BT_SHD0_ON_GPIO4 BIT(16) /* enable bt_shd0 at gpio4 */ 352#define BCMA_CHIPCTL_4331_BT_SHD0_ON_GPIO4 BIT(16) /* enable bt_shd0 at gpio4 */
325#define BCMA_CHIPCTL_4331_BT_SHD1_ON_GPIO5 BIT(17) /* enable bt_shd1 at gpio5 */ 353#define BCMA_CHIPCTL_4331_BT_SHD1_ON_GPIO5 BIT(17) /* enable bt_shd1 at gpio5 */
326 354
355/* 43224 chip-specific ChipControl register bits */
356#define BCMA_CCTRL_43224_GPIO_TOGGLE 0x8000 /* gpio[3:0] pins as btcoex or s/w gpio */
357#define BCMA_CCTRL_43224A0_12MA_LED_DRIVE 0x00F000F0 /* 12 mA drive strength */
358#define BCMA_CCTRL_43224B0_12MA_LED_DRIVE 0xF0 /* 12 mA drive strength for later 43224s */
359
360/* 4313 Chip specific ChipControl register bits */
361#define BCMA_CCTRL_4313_12MA_LED_DRIVE 0x00000007 /* 12 mA drive strengh for later 4313 */
362
327/* Data for the PMU, if available. 363/* Data for the PMU, if available.
328 * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU) 364 * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU)
329 */ 365 */
@@ -411,5 +447,6 @@ extern void bcma_chipco_chipctl_maskset(struct bcma_drv_cc *cc,
411 u32 offset, u32 mask, u32 set); 447 u32 offset, u32 mask, u32 set);
412extern void bcma_chipco_regctl_maskset(struct bcma_drv_cc *cc, 448extern void bcma_chipco_regctl_maskset(struct bcma_drv_cc *cc,
413 u32 offset, u32 mask, u32 set); 449 u32 offset, u32 mask, u32 set);
450extern void bcma_pmu_spuravoid_pllupdate(struct bcma_drv_cc *cc, int spuravoid);
414 451
415#endif /* LINUX_BCMA_DRIVER_CC_H_ */ 452#endif /* LINUX_BCMA_DRIVER_CC_H_ */