board/kukui: Remove ADC tolerance from boardid
The tolerance of ADC is +-10mV, but the resistors may also introduce 1% variation, and causing the final measured voltage to vary around 5%. By the advisory from hardware team, checking the tolerance seems not really solving or helping anything so we should just ignore that and try to find best matched ID (this also aligns to what Gru did). BUG=b:136990271 TEST=Booted on Krane and no longer seeing ADC out of range BRANCH=None Change-Id: Ie02ca5aaafbcfa8f411d973ad0266eee385d6878 Signed-off-by: Hung-Te Lin <hungte@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/34161 Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Julius Werner <jwerner@chromium.org> Reviewed-by: Yu-Ping Wu <yupingso@google.com> Reviewed-by: You-Cheng Syu <youcheng@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
ff423f749a
commit
447badd1cf
|
@ -82,15 +82,7 @@ static uint32_t get_adc_index(unsigned int channel)
|
|||
for (id = 0; id < ADC_LEVELS - 1; id++)
|
||||
if (value < (voltages[id] + voltages[id + 1]) / 2)
|
||||
break;
|
||||
|
||||
/* The last level is NC and may be larger than standard tolerance. */
|
||||
const int tolerance = 10000; /* 10,000 uV */
|
||||
if (id < ADC_LEVELS - 1 && ABS(value - voltages[id]) > tolerance) {
|
||||
printk(BIOS_ERR, "ADC channel %u value out of range: %d\n",
|
||||
channel, value);
|
||||
assert(0);
|
||||
}
|
||||
|
||||
printk(BIOS_DEBUG, "ADC[%d]: Raw value=%d ID=%d\n", channel, value, id);
|
||||
return id;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue