board/freescale/vid: Add correction for ltc3882 read error.
Voltage regulator LTC3882 device has 0.5% voltage read error. So for NXP SoC devices this generally equates to 2mV Update set_voltage_to_LTC for below: 1.Add coorection of upto 2mV in voltage comparison to take care of voltage read error of voltage regulator 2.Add loop max count kept as 100 to avoid infinte loop. Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com> Reviewed-by: York Sun <york.sun@nxp.com>
This commit is contained in:
parent
4c9d4a75f1
commit
df182a42a4
1 changed files with 4 additions and 1 deletions
|
@ -318,6 +318,7 @@ static int set_voltage_to_IR(int i2caddress, int vdd)
|
|||
static int set_voltage_to_LTC(int i2caddress, int vdd)
|
||||
{
|
||||
int ret, vdd_last, vdd_target = vdd;
|
||||
int count = 100, temp = 0;
|
||||
|
||||
/* Scale up to the LTC resolution is 1/4096V */
|
||||
vdd = (vdd * 4096) / 1000;
|
||||
|
@ -343,7 +344,9 @@ static int set_voltage_to_LTC(int i2caddress, int vdd)
|
|||
printf("VID: Couldn't read sensor abort VID adjust\n");
|
||||
return -1;
|
||||
}
|
||||
} while (vdd_last != vdd_target);
|
||||
count--;
|
||||
temp = vdd_last - vdd_target;
|
||||
} while ((abs(temp) > 2) && (count > 0));
|
||||
|
||||
return vdd_last;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue