diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2013-06-26 04:02:11 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-06-27 13:42:16 -0400 |
commit | 88f9b65d444794bb607f71644362ba0642585206 (patch) | |
tree | 79b35a37ff7dbff438e572ce39b0aa8c43b2ff24 | |
parent | 8960400eeefa73e7fe32dc2b6b5ac529d43a9593 (diff) |
bcma: add support for BCM43142
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/bcma/bcma_private.h | 2 | ||||
-rw-r--r-- | drivers/bcma/driver_chipcommon.c | 11 | ||||
-rw-r--r-- | drivers/bcma/driver_chipcommon_pmu.c | 123 | ||||
-rw-r--r-- | drivers/bcma/host_pci.c | 1 | ||||
-rw-r--r-- | drivers/bcma/main.c | 19 | ||||
-rw-r--r-- | drivers/bcma/sprom.c | 1 | ||||
-rw-r--r-- | include/linux/bcma/bcma.h | 1 | ||||
-rw-r--r-- | include/linux/bcma/bcma_driver_chipcommon.h | 55 |
8 files changed, 211 insertions, 2 deletions
diff --git a/drivers/bcma/bcma_private.h b/drivers/bcma/bcma_private.h index 79595a001204..0215f9ad755c 100644 --- a/drivers/bcma/bcma_private.h +++ b/drivers/bcma/bcma_private.h | |||
@@ -22,6 +22,8 @@ | |||
22 | struct bcma_bus; | 22 | struct bcma_bus; |
23 | 23 | ||
24 | /* main.c */ | 24 | /* main.c */ |
25 | bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value, | ||
26 | int timeout); | ||
25 | int bcma_bus_register(struct bcma_bus *bus); | 27 | int bcma_bus_register(struct bcma_bus *bus); |
26 | void bcma_bus_unregister(struct bcma_bus *bus); | 28 | void bcma_bus_unregister(struct bcma_bus *bus); |
27 | int __init bcma_bus_early_register(struct bcma_bus *bus, | 29 | int __init bcma_bus_early_register(struct bcma_bus *bus, |
diff --git a/drivers/bcma/driver_chipcommon.c b/drivers/bcma/driver_chipcommon.c index 036c6744b39b..b068f98920a8 100644 --- a/drivers/bcma/driver_chipcommon.c +++ b/drivers/bcma/driver_chipcommon.c | |||
@@ -140,8 +140,15 @@ void bcma_core_chipcommon_init(struct bcma_drv_cc *cc) | |||
140 | bcma_core_chipcommon_early_init(cc); | 140 | bcma_core_chipcommon_early_init(cc); |
141 | 141 | ||
142 | if (cc->core->id.rev >= 20) { | 142 | if (cc->core->id.rev >= 20) { |
143 | bcma_cc_write32(cc, BCMA_CC_GPIOPULLUP, 0); | 143 | u32 pullup = 0, pulldown = 0; |
144 | bcma_cc_write32(cc, BCMA_CC_GPIOPULLDOWN, 0); | 144 | |
145 | if (cc->core->bus->chipinfo.id == BCMA_CHIP_ID_BCM43142) { | ||
146 | pullup = 0x402e0; | ||
147 | pulldown = 0x20500; | ||
148 | } | ||
149 | |||
150 | bcma_cc_write32(cc, BCMA_CC_GPIOPULLUP, pullup); | ||
151 | bcma_cc_write32(cc, BCMA_CC_GPIOPULLDOWN, pulldown); | ||
145 | } | 152 | } |
146 | 153 | ||
147 | if (cc->capabilities & BCMA_CC_CAP_PMU) | 154 | if (cc->capabilities & BCMA_CC_CAP_PMU) |
diff --git a/drivers/bcma/driver_chipcommon_pmu.c b/drivers/bcma/driver_chipcommon_pmu.c index edca73af3cc0..5081a8c439cc 100644 --- a/drivers/bcma/driver_chipcommon_pmu.c +++ b/drivers/bcma/driver_chipcommon_pmu.c | |||
@@ -56,6 +56,109 @@ void bcma_chipco_regctl_maskset(struct bcma_drv_cc *cc, u32 offset, u32 mask, | |||
56 | } | 56 | } |
57 | EXPORT_SYMBOL_GPL(bcma_chipco_regctl_maskset); | 57 | EXPORT_SYMBOL_GPL(bcma_chipco_regctl_maskset); |
58 | 58 | ||
59 | static u32 bcma_pmu_xtalfreq(struct bcma_drv_cc *cc) | ||
60 | { | ||
61 | u32 ilp_ctl, alp_hz; | ||
62 | |||
63 | if (!(bcma_cc_read32(cc, BCMA_CC_PMU_STAT) & | ||
64 | BCMA_CC_PMU_STAT_EXT_LPO_AVAIL)) | ||
65 | return 0; | ||
66 | |||
67 | bcma_cc_write32(cc, BCMA_CC_PMU_XTAL_FREQ, | ||
68 | BIT(BCMA_CC_PMU_XTAL_FREQ_MEASURE_SHIFT)); | ||
69 | usleep_range(1000, 2000); | ||
70 | |||
71 | ilp_ctl = bcma_cc_read32(cc, BCMA_CC_PMU_XTAL_FREQ); | ||
72 | ilp_ctl &= BCMA_CC_PMU_XTAL_FREQ_ILPCTL_MASK; | ||
73 | |||
74 | bcma_cc_write32(cc, BCMA_CC_PMU_XTAL_FREQ, 0); | ||
75 | |||
76 | alp_hz = ilp_ctl * 32768 / 4; | ||
77 | return (alp_hz + 50000) / 100000 * 100; | ||
78 | } | ||
79 | |||
80 | static void bcma_pmu2_pll_init0(struct bcma_drv_cc *cc, u32 xtalfreq) | ||
81 | { | ||
82 | struct bcma_bus *bus = cc->core->bus; | ||
83 | u32 freq_tgt_target = 0, freq_tgt_current; | ||
84 | u32 pll0, mask; | ||
85 | |||
86 | switch (bus->chipinfo.id) { | ||
87 | case BCMA_CHIP_ID_BCM43142: | ||
88 | /* pmu2_xtaltab0_adfll_485 */ | ||
89 | switch (xtalfreq) { | ||
90 | case 12000: | ||
91 | freq_tgt_target = 0x50D52; | ||
92 | break; | ||
93 | case 20000: | ||
94 | freq_tgt_target = 0x307FE; | ||
95 | break; | ||
96 | case 26000: | ||
97 | freq_tgt_target = 0x254EA; | ||
98 | break; | ||
99 | case 37400: | ||
100 | freq_tgt_target = 0x19EF8; | ||
101 | break; | ||
102 | case 52000: | ||
103 | freq_tgt_target = 0x12A75; | ||
104 | break; | ||
105 | } | ||
106 | break; | ||
107 | } | ||
108 | |||
109 | if (!freq_tgt_target) { | ||
110 | bcma_err(bus, "Unknown TGT frequency for xtalfreq %d\n", | ||
111 | xtalfreq); | ||
112 | return; | ||
113 | } | ||
114 | |||
115 | pll0 = bcma_chipco_pll_read(cc, BCMA_CC_PMU15_PLL_PLLCTL0); | ||
116 | freq_tgt_current = (pll0 & BCMA_CC_PMU15_PLL_PC0_FREQTGT_MASK) >> | ||
117 | BCMA_CC_PMU15_PLL_PC0_FREQTGT_SHIFT; | ||
118 | |||
119 | if (freq_tgt_current == freq_tgt_target) { | ||
120 | bcma_debug(bus, "Target TGT frequency already set\n"); | ||
121 | return; | ||
122 | } | ||
123 | |||
124 | /* Turn off PLL */ | ||
125 | switch (bus->chipinfo.id) { | ||
126 | case BCMA_CHIP_ID_BCM43142: | ||
127 | mask = (u32)~(BCMA_RES_4314_HT_AVAIL | | ||
128 | BCMA_RES_4314_MACPHY_CLK_AVAIL); | ||
129 | |||
130 | bcma_cc_mask32(cc, BCMA_CC_PMU_MINRES_MSK, mask); | ||
131 | bcma_cc_mask32(cc, BCMA_CC_PMU_MAXRES_MSK, mask); | ||
132 | bcma_wait_value(cc->core, BCMA_CLKCTLST, | ||
133 | BCMA_CLKCTLST_HAVEHT, 0, 20000); | ||
134 | break; | ||
135 | } | ||
136 | |||
137 | pll0 &= ~BCMA_CC_PMU15_PLL_PC0_FREQTGT_MASK; | ||
138 | pll0 |= freq_tgt_target << BCMA_CC_PMU15_PLL_PC0_FREQTGT_SHIFT; | ||
139 | bcma_chipco_pll_write(cc, BCMA_CC_PMU15_PLL_PLLCTL0, pll0); | ||
140 | |||
141 | /* Flush */ | ||
142 | if (cc->pmu.rev >= 2) | ||
143 | bcma_cc_set32(cc, BCMA_CC_PMU_CTL, BCMA_CC_PMU_CTL_PLL_UPD); | ||
144 | |||
145 | /* TODO: Do we need to update OTP? */ | ||
146 | } | ||
147 | |||
148 | static void bcma_pmu_pll_init(struct bcma_drv_cc *cc) | ||
149 | { | ||
150 | struct bcma_bus *bus = cc->core->bus; | ||
151 | u32 xtalfreq = bcma_pmu_xtalfreq(cc); | ||
152 | |||
153 | switch (bus->chipinfo.id) { | ||
154 | case BCMA_CHIP_ID_BCM43142: | ||
155 | if (xtalfreq == 0) | ||
156 | xtalfreq = 20000; | ||
157 | bcma_pmu2_pll_init0(cc, xtalfreq); | ||
158 | break; | ||
159 | } | ||
160 | } | ||
161 | |||
59 | static void bcma_pmu_resources_init(struct bcma_drv_cc *cc) | 162 | static void bcma_pmu_resources_init(struct bcma_drv_cc *cc) |
60 | { | 163 | { |
61 | struct bcma_bus *bus = cc->core->bus; | 164 | struct bcma_bus *bus = cc->core->bus; |
@@ -66,6 +169,25 @@ static void bcma_pmu_resources_init(struct bcma_drv_cc *cc) | |||
66 | min_msk = 0x200D; | 169 | min_msk = 0x200D; |
67 | max_msk = 0xFFFF; | 170 | max_msk = 0xFFFF; |
68 | break; | 171 | break; |
172 | case BCMA_CHIP_ID_BCM43142: | ||
173 | min_msk = BCMA_RES_4314_LPLDO_PU | | ||
174 | BCMA_RES_4314_PMU_SLEEP_DIS | | ||
175 | BCMA_RES_4314_PMU_BG_PU | | ||
176 | BCMA_RES_4314_CBUCK_LPOM_PU | | ||
177 | BCMA_RES_4314_CBUCK_PFM_PU | | ||
178 | BCMA_RES_4314_CLDO_PU | | ||
179 | BCMA_RES_4314_LPLDO2_LVM | | ||
180 | BCMA_RES_4314_WL_PMU_PU | | ||
181 | BCMA_RES_4314_LDO3P3_PU | | ||
182 | BCMA_RES_4314_OTP_PU | | ||
183 | BCMA_RES_4314_WL_PWRSW_PU | | ||
184 | BCMA_RES_4314_LQ_AVAIL | | ||
185 | BCMA_RES_4314_LOGIC_RET | | ||
186 | BCMA_RES_4314_MEM_SLEEP | | ||
187 | BCMA_RES_4314_MACPHY_RET | | ||
188 | BCMA_RES_4314_WL_CORE_READY; | ||
189 | max_msk = 0x3FFFFFFF; | ||
190 | break; | ||
69 | default: | 191 | default: |
70 | bcma_debug(bus, "PMU resource config unknown or not needed for device 0x%04X\n", | 192 | bcma_debug(bus, "PMU resource config unknown or not needed for device 0x%04X\n", |
71 | bus->chipinfo.id); | 193 | bus->chipinfo.id); |
@@ -165,6 +287,7 @@ void bcma_pmu_init(struct bcma_drv_cc *cc) | |||
165 | bcma_cc_set32(cc, BCMA_CC_PMU_CTL, | 287 | bcma_cc_set32(cc, BCMA_CC_PMU_CTL, |
166 | BCMA_CC_PMU_CTL_NOILPONW); | 288 | BCMA_CC_PMU_CTL_NOILPONW); |
167 | 289 | ||
290 | bcma_pmu_pll_init(cc); | ||
168 | bcma_pmu_resources_init(cc); | 291 | bcma_pmu_resources_init(cc); |
169 | bcma_pmu_workarounds(cc); | 292 | bcma_pmu_workarounds(cc); |
170 | } | 293 | } |
diff --git a/drivers/bcma/host_pci.c b/drivers/bcma/host_pci.c index fbf2759e7e4e..a355e63a3838 100644 --- a/drivers/bcma/host_pci.c +++ b/drivers/bcma/host_pci.c | |||
@@ -275,6 +275,7 @@ static DEFINE_PCI_DEVICE_TABLE(bcma_pci_bridge_tbl) = { | |||
275 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4357) }, | 275 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4357) }, |
276 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4358) }, | 276 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4358) }, |
277 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4359) }, | 277 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4359) }, |
278 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4365) }, | ||
278 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) }, | 279 | { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, 0x4727) }, |
279 | { 0, }, | 280 | { 0, }, |
280 | }; | 281 | }; |
diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c index f72f52b4b1dd..0067422ec17d 100644 --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c | |||
@@ -93,6 +93,25 @@ struct bcma_device *bcma_find_core_unit(struct bcma_bus *bus, u16 coreid, | |||
93 | return NULL; | 93 | return NULL; |
94 | } | 94 | } |
95 | 95 | ||
96 | bool bcma_wait_value(struct bcma_device *core, u16 reg, u32 mask, u32 value, | ||
97 | int timeout) | ||
98 | { | ||
99 | unsigned long deadline = jiffies + timeout; | ||
100 | u32 val; | ||
101 | |||
102 | do { | ||
103 | val = bcma_read32(core, reg); | ||
104 | if ((val & mask) == value) | ||
105 | return true; | ||
106 | cpu_relax(); | ||
107 | udelay(10); | ||
108 | } while (!time_after_eq(jiffies, deadline)); | ||
109 | |||
110 | bcma_warn(core->bus, "Timeout waiting for register 0x%04X!\n", reg); | ||
111 | |||
112 | return false; | ||
113 | } | ||
114 | |||
96 | static void bcma_release_core_dev(struct device *dev) | 115 | static void bcma_release_core_dev(struct device *dev) |
97 | { | 116 | { |
98 | struct bcma_device *core = container_of(dev, struct bcma_device, dev); | 117 | struct bcma_device *core = container_of(dev, struct bcma_device, dev); |
diff --git a/drivers/bcma/sprom.c b/drivers/bcma/sprom.c index de15b4f4b237..72bf4540f565 100644 --- a/drivers/bcma/sprom.c +++ b/drivers/bcma/sprom.c | |||
@@ -503,6 +503,7 @@ static bool bcma_sprom_onchip_available(struct bcma_bus *bus) | |||
503 | case BCMA_CHIP_ID_BCM4331: | 503 | case BCMA_CHIP_ID_BCM4331: |
504 | present = chip_status & BCMA_CC_CHIPST_4331_OTP_PRESENT; | 504 | present = chip_status & BCMA_CC_CHIPST_4331_OTP_PRESENT; |
505 | break; | 505 | break; |
506 | case BCMA_CHIP_ID_BCM43142: | ||
506 | case BCMA_CHIP_ID_BCM43224: | 507 | case BCMA_CHIP_ID_BCM43224: |
507 | case BCMA_CHIP_ID_BCM43225: | 508 | case BCMA_CHIP_ID_BCM43225: |
508 | /* for these chips OTP is always available */ | 509 | /* for these chips OTP is always available */ |
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h index 2e34db82a643..622fc505d3e1 100644 --- a/include/linux/bcma/bcma.h +++ b/include/linux/bcma/bcma.h | |||
@@ -144,6 +144,7 @@ struct bcma_host_ops { | |||
144 | 144 | ||
145 | /* Chip IDs of PCIe devices */ | 145 | /* Chip IDs of PCIe devices */ |
146 | #define BCMA_CHIP_ID_BCM4313 0x4313 | 146 | #define BCMA_CHIP_ID_BCM4313 0x4313 |
147 | #define BCMA_CHIP_ID_BCM43142 43142 | ||
147 | #define BCMA_CHIP_ID_BCM43224 43224 | 148 | #define BCMA_CHIP_ID_BCM43224 43224 |
148 | #define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8 | 149 | #define BCMA_PKG_ID_BCM43224_FAB_CSM 0x8 |
149 | #define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa | 150 | #define BCMA_PKG_ID_BCM43224_FAB_SMIC 0xa |
diff --git a/include/linux/bcma/bcma_driver_chipcommon.h b/include/linux/bcma/bcma_driver_chipcommon.h index b8b09eac60a4..c49e1a159e6e 100644 --- a/include/linux/bcma/bcma_driver_chipcommon.h +++ b/include/linux/bcma/bcma_driver_chipcommon.h | |||
@@ -330,6 +330,8 @@ | |||
330 | #define BCMA_CC_PMU_CAP 0x0604 /* PMU capabilities */ | 330 | #define BCMA_CC_PMU_CAP 0x0604 /* PMU capabilities */ |
331 | #define BCMA_CC_PMU_CAP_REVISION 0x000000FF /* Revision mask */ | 331 | #define BCMA_CC_PMU_CAP_REVISION 0x000000FF /* Revision mask */ |
332 | #define BCMA_CC_PMU_STAT 0x0608 /* PMU status */ | 332 | #define BCMA_CC_PMU_STAT 0x0608 /* PMU status */ |
333 | #define BCMA_CC_PMU_STAT_EXT_LPO_AVAIL 0x00000100 | ||
334 | #define BCMA_CC_PMU_STAT_WDRESET 0x00000080 | ||
333 | #define BCMA_CC_PMU_STAT_INTPEND 0x00000040 /* Interrupt pending */ | 335 | #define BCMA_CC_PMU_STAT_INTPEND 0x00000040 /* Interrupt pending */ |
334 | #define BCMA_CC_PMU_STAT_SBCLKST 0x00000030 /* Backplane clock status? */ | 336 | #define BCMA_CC_PMU_STAT_SBCLKST 0x00000030 /* Backplane clock status? */ |
335 | #define BCMA_CC_PMU_STAT_HAVEALP 0x00000008 /* ALP available */ | 337 | #define BCMA_CC_PMU_STAT_HAVEALP 0x00000008 /* ALP available */ |
@@ -355,6 +357,11 @@ | |||
355 | #define BCMA_CC_REGCTL_DATA 0x065C | 357 | #define BCMA_CC_REGCTL_DATA 0x065C |
356 | #define BCMA_CC_PLLCTL_ADDR 0x0660 | 358 | #define BCMA_CC_PLLCTL_ADDR 0x0660 |
357 | #define BCMA_CC_PLLCTL_DATA 0x0664 | 359 | #define BCMA_CC_PLLCTL_DATA 0x0664 |
360 | #define BCMA_CC_PMU_STRAPOPT 0x0668 /* (corerev >= 28) */ | ||
361 | #define BCMA_CC_PMU_XTAL_FREQ 0x066C /* (pmurev >= 10) */ | ||
362 | #define BCMA_CC_PMU_XTAL_FREQ_ILPCTL_MASK 0x00001FFF | ||
363 | #define BCMA_CC_PMU_XTAL_FREQ_MEASURE_MASK 0x80000000 | ||
364 | #define BCMA_CC_PMU_XTAL_FREQ_MEASURE_SHIFT 31 | ||
358 | #define BCMA_CC_SPROM 0x0800 /* SPROM beginning */ | 365 | #define BCMA_CC_SPROM 0x0800 /* SPROM beginning */ |
359 | /* NAND flash MLC controller registers (corerev >= 38) */ | 366 | /* NAND flash MLC controller registers (corerev >= 38) */ |
360 | #define BCMA_CC_NAND_REVISION 0x0C00 | 367 | #define BCMA_CC_NAND_REVISION 0x0C00 |
@@ -435,6 +442,23 @@ | |||
435 | #define BCMA_CC_PMU6_4706_PROC_NDIV_MODE_MASK 0x00000007 | 442 | #define BCMA_CC_PMU6_4706_PROC_NDIV_MODE_MASK 0x00000007 |
436 | #define BCMA_CC_PMU6_4706_PROC_NDIV_MODE_SHIFT 0 | 443 | #define BCMA_CC_PMU6_4706_PROC_NDIV_MODE_SHIFT 0 |
437 | 444 | ||
445 | /* PMU rev 15 */ | ||
446 | #define BCMA_CC_PMU15_PLL_PLLCTL0 0 | ||
447 | #define BCMA_CC_PMU15_PLL_PC0_CLKSEL_MASK 0x00000003 | ||
448 | #define BCMA_CC_PMU15_PLL_PC0_CLKSEL_SHIFT 0 | ||
449 | #define BCMA_CC_PMU15_PLL_PC0_FREQTGT_MASK 0x003FFFFC | ||
450 | #define BCMA_CC_PMU15_PLL_PC0_FREQTGT_SHIFT 2 | ||
451 | #define BCMA_CC_PMU15_PLL_PC0_PRESCALE_MASK 0x00C00000 | ||
452 | #define BCMA_CC_PMU15_PLL_PC0_PRESCALE_SHIFT 22 | ||
453 | #define BCMA_CC_PMU15_PLL_PC0_KPCTRL_MASK 0x07000000 | ||
454 | #define BCMA_CC_PMU15_PLL_PC0_KPCTRL_SHIFT 24 | ||
455 | #define BCMA_CC_PMU15_PLL_PC0_FCNTCTRL_MASK 0x38000000 | ||
456 | #define BCMA_CC_PMU15_PLL_PC0_FCNTCTRL_SHIFT 27 | ||
457 | #define BCMA_CC_PMU15_PLL_PC0_FDCMODE_MASK 0x40000000 | ||
458 | #define BCMA_CC_PMU15_PLL_PC0_FDCMODE_SHIFT 30 | ||
459 | #define BCMA_CC_PMU15_PLL_PC0_CTRLBIAS_MASK 0x80000000 | ||
460 | #define BCMA_CC_PMU15_PLL_PC0_CTRLBIAS_SHIFT 31 | ||
461 | |||
438 | /* ALP clock on pre-PMU chips */ | 462 | /* ALP clock on pre-PMU chips */ |
439 | #define BCMA_CC_PMU_ALP_CLOCK 20000000 | 463 | #define BCMA_CC_PMU_ALP_CLOCK 20000000 |
440 | /* HT clock for systems with PMU-enabled chipcommon */ | 464 | /* HT clock for systems with PMU-enabled chipcommon */ |
@@ -507,6 +531,37 @@ | |||
507 | #define BCMA_CHIPCTL_5357_I2S_PINS_ENABLE BIT(18) | 531 | #define BCMA_CHIPCTL_5357_I2S_PINS_ENABLE BIT(18) |
508 | #define BCMA_CHIPCTL_5357_I2CSPI_PINS_ENABLE BIT(19) | 532 | #define BCMA_CHIPCTL_5357_I2CSPI_PINS_ENABLE BIT(19) |
509 | 533 | ||
534 | #define BCMA_RES_4314_LPLDO_PU BIT(0) | ||
535 | #define BCMA_RES_4314_PMU_SLEEP_DIS BIT(1) | ||
536 | #define BCMA_RES_4314_PMU_BG_PU BIT(2) | ||
537 | #define BCMA_RES_4314_CBUCK_LPOM_PU BIT(3) | ||
538 | #define BCMA_RES_4314_CBUCK_PFM_PU BIT(4) | ||
539 | #define BCMA_RES_4314_CLDO_PU BIT(5) | ||
540 | #define BCMA_RES_4314_LPLDO2_LVM BIT(6) | ||
541 | #define BCMA_RES_4314_WL_PMU_PU BIT(7) | ||
542 | #define BCMA_RES_4314_LNLDO_PU BIT(8) | ||
543 | #define BCMA_RES_4314_LDO3P3_PU BIT(9) | ||
544 | #define BCMA_RES_4314_OTP_PU BIT(10) | ||
545 | #define BCMA_RES_4314_XTAL_PU BIT(11) | ||
546 | #define BCMA_RES_4314_WL_PWRSW_PU BIT(12) | ||
547 | #define BCMA_RES_4314_LQ_AVAIL BIT(13) | ||
548 | #define BCMA_RES_4314_LOGIC_RET BIT(14) | ||
549 | #define BCMA_RES_4314_MEM_SLEEP BIT(15) | ||
550 | #define BCMA_RES_4314_MACPHY_RET BIT(16) | ||
551 | #define BCMA_RES_4314_WL_CORE_READY BIT(17) | ||
552 | #define BCMA_RES_4314_ILP_REQ BIT(18) | ||
553 | #define BCMA_RES_4314_ALP_AVAIL BIT(19) | ||
554 | #define BCMA_RES_4314_MISC_PWRSW_PU BIT(20) | ||
555 | #define BCMA_RES_4314_SYNTH_PWRSW_PU BIT(21) | ||
556 | #define BCMA_RES_4314_RX_PWRSW_PU BIT(22) | ||
557 | #define BCMA_RES_4314_RADIO_PU BIT(23) | ||
558 | #define BCMA_RES_4314_VCO_LDO_PU BIT(24) | ||
559 | #define BCMA_RES_4314_AFE_LDO_PU BIT(25) | ||
560 | #define BCMA_RES_4314_RX_LDO_PU BIT(26) | ||
561 | #define BCMA_RES_4314_TX_LDO_PU BIT(27) | ||
562 | #define BCMA_RES_4314_HT_AVAIL BIT(28) | ||
563 | #define BCMA_RES_4314_MACPHY_CLK_AVAIL BIT(29) | ||
564 | |||
510 | /* Data for the PMU, if available. | 565 | /* Data for the PMU, if available. |
511 | * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU) | 566 | * Check availability with ((struct bcma_chipcommon)->capabilities & BCMA_CC_CAP_PMU) |
512 | */ | 567 | */ |