Don't apply 5V when we want 3.3V.
Kludge around the case where the PCIC refuses to use 5V because it knows better than us.
This commit is contained in:
parent
c5318f2363
commit
0084fb021b
@ -948,7 +948,7 @@ pcic_power(struct slot *slotp)
|
||||
reg |= PCIC_VCC_5V_KING;
|
||||
break;
|
||||
}
|
||||
reg |= PCIC_VCC_5V;
|
||||
reg |= PCIC_VCC_3V;
|
||||
if ((sp->controller == PCIC_VG468)||
|
||||
(sp->controller == PCIC_VG469))
|
||||
setb(sp, 0x2f, 0x03) ;
|
||||
@ -977,6 +977,14 @@ pcic_power(struct slot *slotp)
|
||||
sp->putb (sp, PCIC_POWER, reg);
|
||||
DELAY (100*1000);
|
||||
}
|
||||
/* Some chips are smarter than us it seems, so if we weren't
|
||||
* allowed to use 5V, try 3.3 instead
|
||||
*/
|
||||
if (!(sp->getb(sp, PCIC_STATUS) & 0x40) && slotp->pwr.vcc == 50) {
|
||||
slotp->pwr.vcc = 33;
|
||||
slotp->pwr.vpp = 0;
|
||||
return (pcic_power(slotp));
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user