13 #include <linux/export.h>
14 #include <linux/pci.h>
60 if (ccdev->
id.revision < 6)
64 if (ccdev->
id.revision >= 10)
77 if (ccdev->
id.revision < 10) {
91 if (ccdev->
id.revision < 10) {
122 if (cc->
dev->id.revision < 6) {
133 if (cc->
dev->id.revision < 10) {
148 static int chipco_pctl_clockfreqlimit(
struct ssb_chipcommon *cc,
int get_max)
155 clocksrc = chipco_pctl_get_slowclksrc(cc);
156 if (cc->
dev->id.revision < 6) {
167 }
else if (cc->
dev->id.revision < 10) {
174 divisor = (tmp >> 16) + 1;
180 divisor = (tmp >> 16) + 1;
223 if (cc->
dev->id.revision >= 10) {
227 0x0000FFFF) | 0x00040000);
231 maxfreq = chipco_pctl_clockfreqlimit(cc, 1);
233 (maxfreq * 150 + 999999) / 1000000);
235 (maxfreq * 15 + 999999) / 1000000);
275 minfreq = chipco_pctl_clockfreqlimit(cc, 0);
277 tmp = (((pll_on_delay + 2) * 1000000) + (minfreq - 1)) / minfreq;
287 if (cc->
dev->id.revision >= 11)
291 if (cc->
dev->id.revision >= 20) {
297 chipco_powercontrol_init(cc);
299 calc_fast_powerup_delay(cc);
313 chipco_powercontrol_init(cc);
351 if (cc->
dev->bus->chip_id != 0x5365) {
379 if ((bus->
chip_id == 0x5365) ||
380 (dev->
id.revision < 9))
382 if ((bus->
chip_id == 0x5365) ||
383 (dev->
id.revision < 9) ||
445 #ifdef CONFIG_SSB_SERIAL
447 struct ssb_serial_port *ports)
455 unsigned int ccrev = cc->
dev->id.revision;
469 baud_base = 25000000;
475 }
else if ((ccrev >= 11) && (ccrev != 15)) {
477 baud_base = 20000000;
499 }
else if (ccrev >= 3) {
506 baud_base = 88000000;
526 for (i = 0; i <
n; i++) {
534 uart_regs += (i * 8);
536 uart_regs += (i * 256);
541 ports[
i].baud_base = baud_base;
542 ports[
i].reg_shift = 0;