diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2012-12-07 06:56:56 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-12-10 15:47:30 -0500 |
commit | 5b5ac41447de30cb5ed5e72d3d4e1a9e6e12f640 (patch) | |
tree | 9c5ea531adfad60c873281bea03a9d40e76d406a /drivers/bcma | |
parent | 576d28a7c73013717311cfcb514dbcae27c82eeb (diff) |
bcma: unify naming schema for clock functions
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/bcma')
-rw-r--r-- | drivers/bcma/bcma_private.h | 4 | ||||
-rw-r--r-- | drivers/bcma/driver_chipcommon.c | 10 | ||||
-rw-r--r-- | drivers/bcma/driver_chipcommon_pmu.c | 39 | ||||
-rw-r--r-- | drivers/bcma/driver_mips.c | 2 |
4 files changed, 29 insertions, 26 deletions
diff --git a/drivers/bcma/bcma_private.h b/drivers/bcma/bcma_private.h index bcb830ec4bb4..537ae53231cd 100644 --- a/drivers/bcma/bcma_private.h +++ b/drivers/bcma/bcma_private.h | |||
@@ -48,8 +48,8 @@ void bcma_chipco_serial_init(struct bcma_drv_cc *cc); | |||
48 | #endif /* CONFIG_BCMA_DRIVER_MIPS */ | 48 | #endif /* CONFIG_BCMA_DRIVER_MIPS */ |
49 | 49 | ||
50 | /* driver_chipcommon_pmu.c */ | 50 | /* driver_chipcommon_pmu.c */ |
51 | u32 bcma_pmu_alp_clock(struct bcma_drv_cc *cc); | 51 | u32 bcma_pmu_get_alp_clock(struct bcma_drv_cc *cc); |
52 | u32 bcma_pmu_get_clockcpu(struct bcma_drv_cc *cc); | 52 | u32 bcma_pmu_get_cpu_clock(struct bcma_drv_cc *cc); |
53 | 53 | ||
54 | #ifdef CONFIG_BCMA_SFLASH | 54 | #ifdef CONFIG_BCMA_SFLASH |
55 | /* driver_chipcommon_sflash.c */ | 55 | /* driver_chipcommon_sflash.c */ |
diff --git a/drivers/bcma/driver_chipcommon.c b/drivers/bcma/driver_chipcommon.c index d017f2512275..dc96dd8ebff2 100644 --- a/drivers/bcma/driver_chipcommon.c +++ b/drivers/bcma/driver_chipcommon.c | |||
@@ -25,10 +25,10 @@ static inline u32 bcma_cc_write32_masked(struct bcma_drv_cc *cc, u16 offset, | |||
25 | return value; | 25 | return value; |
26 | } | 26 | } |
27 | 27 | ||
28 | static u32 bcma_chipco_alp_clock(struct bcma_drv_cc *cc) | 28 | static u32 bcma_chipco_get_alp_clock(struct bcma_drv_cc *cc) |
29 | { | 29 | { |
30 | if (cc->capabilities & BCMA_CC_CAP_PMU) | 30 | if (cc->capabilities & BCMA_CC_CAP_PMU) |
31 | return bcma_pmu_alp_clock(cc); | 31 | return bcma_pmu_get_alp_clock(cc); |
32 | 32 | ||
33 | return 20000000; | 33 | return 20000000; |
34 | } | 34 | } |
@@ -79,12 +79,12 @@ static int bcma_chipco_watchdog_ticks_per_ms(struct bcma_drv_cc *cc) | |||
79 | if (cc->capabilities & BCMA_CC_CAP_PMU) { | 79 | if (cc->capabilities & BCMA_CC_CAP_PMU) { |
80 | if (bus->chipinfo.id == BCMA_CHIP_ID_BCM4706) | 80 | if (bus->chipinfo.id == BCMA_CHIP_ID_BCM4706) |
81 | /* 4706 CC and PMU watchdogs are clocked at 1/4 of ALP clock */ | 81 | /* 4706 CC and PMU watchdogs are clocked at 1/4 of ALP clock */ |
82 | return bcma_chipco_alp_clock(cc) / 4000; | 82 | return bcma_chipco_get_alp_clock(cc) / 4000; |
83 | else | 83 | else |
84 | /* based on 32KHz ILP clock */ | 84 | /* based on 32KHz ILP clock */ |
85 | return 32; | 85 | return 32; |
86 | } else { | 86 | } else { |
87 | return bcma_chipco_alp_clock(cc) / 1000; | 87 | return bcma_chipco_get_alp_clock(cc) / 1000; |
88 | } | 88 | } |
89 | } | 89 | } |
90 | 90 | ||
@@ -236,7 +236,7 @@ void bcma_chipco_serial_init(struct bcma_drv_cc *cc) | |||
236 | struct bcma_serial_port *ports = cc->serial_ports; | 236 | struct bcma_serial_port *ports = cc->serial_ports; |
237 | 237 | ||
238 | if (ccrev >= 11 && ccrev != 15) { | 238 | if (ccrev >= 11 && ccrev != 15) { |
239 | baud_base = bcma_chipco_alp_clock(cc); | 239 | baud_base = bcma_chipco_get_alp_clock(cc); |
240 | if (ccrev >= 21) { | 240 | if (ccrev >= 21) { |
241 | /* Turn off UART clock before switching clocksource. */ | 241 | /* Turn off UART clock before switching clocksource. */ |
242 | bcma_cc_write32(cc, BCMA_CC_CORECTL, | 242 | bcma_cc_write32(cc, BCMA_CC_CORECTL, |
diff --git a/drivers/bcma/driver_chipcommon_pmu.c b/drivers/bcma/driver_chipcommon_pmu.c index a63ddd9c70eb..e162999bf916 100644 --- a/drivers/bcma/driver_chipcommon_pmu.c +++ b/drivers/bcma/driver_chipcommon_pmu.c | |||
@@ -168,7 +168,7 @@ void bcma_pmu_init(struct bcma_drv_cc *cc) | |||
168 | bcma_pmu_workarounds(cc); | 168 | bcma_pmu_workarounds(cc); |
169 | } | 169 | } |
170 | 170 | ||
171 | u32 bcma_pmu_alp_clock(struct bcma_drv_cc *cc) | 171 | u32 bcma_pmu_get_alp_clock(struct bcma_drv_cc *cc) |
172 | { | 172 | { |
173 | struct bcma_bus *bus = cc->core->bus; | 173 | struct bcma_bus *bus = cc->core->bus; |
174 | 174 | ||
@@ -196,7 +196,7 @@ u32 bcma_pmu_alp_clock(struct bcma_drv_cc *cc) | |||
196 | /* Find the output of the "m" pll divider given pll controls that start with | 196 | /* Find the output of the "m" pll divider given pll controls that start with |
197 | * pllreg "pll0" i.e. 12 for main 6 for phy, 0 for misc. | 197 | * pllreg "pll0" i.e. 12 for main 6 for phy, 0 for misc. |
198 | */ | 198 | */ |
199 | static u32 bcma_pmu_clock(struct bcma_drv_cc *cc, u32 pll0, u32 m) | 199 | static u32 bcma_pmu_pll_clock(struct bcma_drv_cc *cc, u32 pll0, u32 m) |
200 | { | 200 | { |
201 | u32 tmp, div, ndiv, p1, p2, fc; | 201 | u32 tmp, div, ndiv, p1, p2, fc; |
202 | struct bcma_bus *bus = cc->core->bus; | 202 | struct bcma_bus *bus = cc->core->bus; |
@@ -225,14 +225,14 @@ static u32 bcma_pmu_clock(struct bcma_drv_cc *cc, u32 pll0, u32 m) | |||
225 | ndiv = (tmp & BCMA_CC_PPL_NDIV_MASK) >> BCMA_CC_PPL_NDIV_SHIFT; | 225 | ndiv = (tmp & BCMA_CC_PPL_NDIV_MASK) >> BCMA_CC_PPL_NDIV_SHIFT; |
226 | 226 | ||
227 | /* Do calculation in Mhz */ | 227 | /* Do calculation in Mhz */ |
228 | fc = bcma_pmu_alp_clock(cc) / 1000000; | 228 | fc = bcma_pmu_get_alp_clock(cc) / 1000000; |
229 | fc = (p1 * ndiv * fc) / p2; | 229 | fc = (p1 * ndiv * fc) / p2; |
230 | 230 | ||
231 | /* Return clock in Hertz */ | 231 | /* Return clock in Hertz */ |
232 | return (fc / div) * 1000000; | 232 | return (fc / div) * 1000000; |
233 | } | 233 | } |
234 | 234 | ||
235 | static u32 bcma_pmu_clock_bcm4706(struct bcma_drv_cc *cc, u32 pll0, u32 m) | 235 | static u32 bcma_pmu_pll_clock_bcm4706(struct bcma_drv_cc *cc, u32 pll0, u32 m) |
236 | { | 236 | { |
237 | u32 tmp, ndiv, p1div, p2div; | 237 | u32 tmp, ndiv, p1div, p2div; |
238 | u32 clock; | 238 | u32 clock; |
@@ -263,7 +263,7 @@ static u32 bcma_pmu_clock_bcm4706(struct bcma_drv_cc *cc, u32 pll0, u32 m) | |||
263 | } | 263 | } |
264 | 264 | ||
265 | /* query bus clock frequency for PMU-enabled chipcommon */ | 265 | /* query bus clock frequency for PMU-enabled chipcommon */ |
266 | static u32 bcma_pmu_get_clockcontrol(struct bcma_drv_cc *cc) | 266 | static u32 bcma_pmu_get_bus_clock(struct bcma_drv_cc *cc) |
267 | { | 267 | { |
268 | struct bcma_bus *bus = cc->core->bus; | 268 | struct bcma_bus *bus = cc->core->bus; |
269 | 269 | ||
@@ -271,40 +271,42 @@ static u32 bcma_pmu_get_clockcontrol(struct bcma_drv_cc *cc) | |||
271 | case BCMA_CHIP_ID_BCM4716: | 271 | case BCMA_CHIP_ID_BCM4716: |
272 | case BCMA_CHIP_ID_BCM4748: | 272 | case BCMA_CHIP_ID_BCM4748: |
273 | case BCMA_CHIP_ID_BCM47162: | 273 | case BCMA_CHIP_ID_BCM47162: |
274 | return bcma_pmu_clock(cc, BCMA_CC_PMU4716_MAINPLL_PLL0, | 274 | return bcma_pmu_pll_clock(cc, BCMA_CC_PMU4716_MAINPLL_PLL0, |
275 | BCMA_CC_PMU5_MAINPLL_SSB); | 275 | BCMA_CC_PMU5_MAINPLL_SSB); |
276 | case BCMA_CHIP_ID_BCM5356: | 276 | case BCMA_CHIP_ID_BCM5356: |
277 | return bcma_pmu_clock(cc, BCMA_CC_PMU5356_MAINPLL_PLL0, | 277 | return bcma_pmu_pll_clock(cc, BCMA_CC_PMU5356_MAINPLL_PLL0, |
278 | BCMA_CC_PMU5_MAINPLL_SSB); | 278 | BCMA_CC_PMU5_MAINPLL_SSB); |
279 | case BCMA_CHIP_ID_BCM5357: | 279 | case BCMA_CHIP_ID_BCM5357: |
280 | case BCMA_CHIP_ID_BCM4749: | 280 | case BCMA_CHIP_ID_BCM4749: |
281 | return bcma_pmu_clock(cc, BCMA_CC_PMU5357_MAINPLL_PLL0, | 281 | return bcma_pmu_pll_clock(cc, BCMA_CC_PMU5357_MAINPLL_PLL0, |
282 | BCMA_CC_PMU5_MAINPLL_SSB); | 282 | BCMA_CC_PMU5_MAINPLL_SSB); |
283 | case BCMA_CHIP_ID_BCM4706: | 283 | case BCMA_CHIP_ID_BCM4706: |
284 | return bcma_pmu_clock_bcm4706(cc, BCMA_CC_PMU4706_MAINPLL_PLL0, | 284 | return bcma_pmu_pll_clock_bcm4706(cc, |
285 | BCMA_CC_PMU5_MAINPLL_SSB); | 285 | BCMA_CC_PMU4706_MAINPLL_PLL0, |
286 | BCMA_CC_PMU5_MAINPLL_SSB); | ||
286 | case BCMA_CHIP_ID_BCM53572: | 287 | case BCMA_CHIP_ID_BCM53572: |
287 | return 75000000; | 288 | return 75000000; |
288 | default: | 289 | default: |
289 | bcma_warn(bus, "No backplane clock specified for %04X device, pmu rev. %d, using default %d Hz\n", | 290 | bcma_warn(bus, "No bus clock specified for %04X device, pmu rev. %d, using default %d Hz\n", |
290 | bus->chipinfo.id, cc->pmu.rev, BCMA_CC_PMU_HT_CLOCK); | 291 | bus->chipinfo.id, cc->pmu.rev, BCMA_CC_PMU_HT_CLOCK); |
291 | } | 292 | } |
292 | return BCMA_CC_PMU_HT_CLOCK; | 293 | return BCMA_CC_PMU_HT_CLOCK; |
293 | } | 294 | } |
294 | 295 | ||
295 | /* query cpu clock frequency for PMU-enabled chipcommon */ | 296 | /* query cpu clock frequency for PMU-enabled chipcommon */ |
296 | u32 bcma_pmu_get_clockcpu(struct bcma_drv_cc *cc) | 297 | u32 bcma_pmu_get_cpu_clock(struct bcma_drv_cc *cc) |
297 | { | 298 | { |
298 | struct bcma_bus *bus = cc->core->bus; | 299 | struct bcma_bus *bus = cc->core->bus; |
299 | 300 | ||
300 | if (bus->chipinfo.id == BCMA_CHIP_ID_BCM53572) | 301 | if (bus->chipinfo.id == BCMA_CHIP_ID_BCM53572) |
301 | return 300000000; | 302 | return 300000000; |
302 | 303 | ||
304 | /* New PMUs can have different clock for bus and CPU */ | ||
303 | if (cc->pmu.rev >= 5) { | 305 | if (cc->pmu.rev >= 5) { |
304 | u32 pll; | 306 | u32 pll; |
305 | switch (bus->chipinfo.id) { | 307 | switch (bus->chipinfo.id) { |
306 | case BCMA_CHIP_ID_BCM4706: | 308 | case BCMA_CHIP_ID_BCM4706: |
307 | return bcma_pmu_clock_bcm4706(cc, | 309 | return bcma_pmu_pll_clock_bcm4706(cc, |
308 | BCMA_CC_PMU4706_MAINPLL_PLL0, | 310 | BCMA_CC_PMU4706_MAINPLL_PLL0, |
309 | BCMA_CC_PMU5_MAINPLL_CPU); | 311 | BCMA_CC_PMU5_MAINPLL_CPU); |
310 | case BCMA_CHIP_ID_BCM5356: | 312 | case BCMA_CHIP_ID_BCM5356: |
@@ -319,10 +321,11 @@ u32 bcma_pmu_get_clockcpu(struct bcma_drv_cc *cc) | |||
319 | break; | 321 | break; |
320 | } | 322 | } |
321 | 323 | ||
322 | return bcma_pmu_clock(cc, pll, BCMA_CC_PMU5_MAINPLL_CPU); | 324 | return bcma_pmu_pll_clock(cc, pll, BCMA_CC_PMU5_MAINPLL_CPU); |
323 | } | 325 | } |
324 | 326 | ||
325 | return bcma_pmu_get_clockcontrol(cc); | 327 | /* On old PMUs CPU has the same clock as the bus */ |
328 | return bcma_pmu_get_bus_clock(cc); | ||
326 | } | 329 | } |
327 | 330 | ||
328 | static void bcma_pmu_spuravoid_pll_write(struct bcma_drv_cc *cc, u32 offset, | 331 | static void bcma_pmu_spuravoid_pll_write(struct bcma_drv_cc *cc, u32 offset, |
diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c index 170822ea51c7..c45ded8a6963 100644 --- a/drivers/bcma/driver_mips.c +++ b/drivers/bcma/driver_mips.c | |||
@@ -171,7 +171,7 @@ u32 bcma_cpu_clock(struct bcma_drv_mips *mcore) | |||
171 | struct bcma_bus *bus = mcore->core->bus; | 171 | struct bcma_bus *bus = mcore->core->bus; |
172 | 172 | ||
173 | if (bus->drv_cc.capabilities & BCMA_CC_CAP_PMU) | 173 | if (bus->drv_cc.capabilities & BCMA_CC_CAP_PMU) |
174 | return bcma_pmu_get_clockcpu(&bus->drv_cc); | 174 | return bcma_pmu_get_cpu_clock(&bus->drv_cc); |
175 | 175 | ||
176 | bcma_err(bus, "No PMU available, need this to get the cpu clock\n"); | 176 | bcma_err(bus, "No PMU available, need this to get the cpu clock\n"); |
177 | return 0; | 177 | return 0; |