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:
Hung-Te Lin 2019-07-09 16:38:36 +08:00 committed by Martin Roth
parent ff423f749a
commit 447badd1cf
1 changed files with 1 additions and 9 deletions

View File

@ -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;
}