diff --git a/src/mainboard/google/kukui/boardid.c b/src/mainboard/google/kukui/boardid.c index 6c7547c21a..04ae7db8f9 100644 --- a/src/mainboard/google/kukui/boardid.c +++ b/src/mainboard/google/kukui/boardid.c @@ -13,7 +13,7 @@ #include #include #include -#include +#include #include #include #include @@ -69,7 +69,7 @@ static const int *adc_voltages[] = { static uint32_t get_adc_index(unsigned int channel) { - int value = auxadc_get_voltage(channel); + int value = auxadc_get_voltage_uv(channel); assert(channel < ARRAY_SIZE(adc_voltages)); const int *voltages = adc_voltages[channel]; diff --git a/src/soc/mediatek/mt8183/auxadc.c b/src/soc/mediatek/common/auxadc.c similarity index 86% rename from src/soc/mediatek/mt8183/auxadc.c rename to src/soc/mediatek/common/auxadc.c index 19c994872f..6dbf12bbe9 100644 --- a/src/soc/mediatek/mt8183/auxadc.c +++ b/src/soc/mediatek/common/auxadc.c @@ -1,12 +1,11 @@ /* SPDX-License-Identifier: GPL-2.0-only */ -#include #include #include +#include #include #include #include -#include #include static struct mtk_auxadc_regs *const mtk_auxadc = (void *)AUXADC_BASE; @@ -36,9 +35,10 @@ static void mt_auxadc_update_cali(void) cali_oe = cali_oe_a - 512; } } + static uint32_t auxadc_get_rawdata(int channel) { - setbits32(&mt8183_infracfg->module_sw_cg_1_clr, 1 << 10); + setbits32(&mtk_infracfg->module_sw_cg_1_clr, 1 << 10); assert(wait_ms(300, !(read32(&mtk_auxadc->con2) & 0x1))); clrbits32(&mtk_auxadc->con1, 1 << channel); @@ -50,12 +50,12 @@ static uint32_t auxadc_get_rawdata(int channel) uint32_t value = read32(&mtk_auxadc->data[channel]) & 0x0FFF; - setbits32(&mt8183_infracfg->module_sw_cg_1_set, 1 << 10); + setbits32(&mtk_infracfg->module_sw_cg_1_set, 1 << 10); return value; } -int auxadc_get_voltage(unsigned int channel) +unsigned int auxadc_get_voltage_uv(unsigned int channel) { uint32_t raw_value; assert(channel < 16); @@ -67,7 +67,6 @@ int auxadc_get_voltage(unsigned int channel) /* 1.5V in 4096 steps */ raw_value = auxadc_get_rawdata(channel); - raw_value = raw_value - cali_oe; - return (int)((int64_t)raw_value * 1500000 / (4096 + cali_ge)); + return (unsigned int)((int64_t)raw_value * 1500000 / (4096 + cali_ge)); } diff --git a/src/soc/mediatek/common/include/soc/auxadc_common.h b/src/soc/mediatek/common/include/soc/auxadc_common.h new file mode 100644 index 0000000000..de2408fef1 --- /dev/null +++ b/src/soc/mediatek/common/include/soc/auxadc_common.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#ifndef _MTK_ADC_COMMON_H +#define _MTK_ADC_COMMON_H + +/* Return voltage in uVolt */ +unsigned int auxadc_get_voltage_uv(unsigned int channel); +#endif diff --git a/src/soc/mediatek/mt8183/Makefile.inc b/src/soc/mediatek/mt8183/Makefile.inc index b0dd48f7a4..43893c363d 100644 --- a/src/soc/mediatek/mt8183/Makefile.inc +++ b/src/soc/mediatek/mt8183/Makefile.inc @@ -1,7 +1,7 @@ ifeq ($(CONFIG_SOC_MEDIATEK_MT8183),y) -bootblock-y += auxadc.c bootblock-y += bootblock.c +bootblock-y += ../common/auxadc.c bootblock-y += ../common/gpio.c gpio.c bootblock-y += ../common/pll.c pll.c bootblock-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c @@ -15,7 +15,7 @@ decompressor-y += decompressor.c decompressor-y += ../common/mmu_operations.c decompressor-y += ../common/timer.c -verstage-y += auxadc.c +verstage-y += ../common/auxadc.c verstage-y += ../common/gpio.c gpio.c verstage-$(CONFIG_SPI_FLASH) += ../common/spi.c spi.c verstage-y += mt8183.c @@ -24,7 +24,7 @@ verstage-y += ../common/timer.c verstage-y += ../common/uart.c verstage-y += ../common/wdt.c -romstage-y += auxadc.c +romstage-y += ../common/auxadc.c romstage-y += ../common/cbmem.c emi.c romstage-y += dramc_init_setting.c romstage-y += dramc_param.c @@ -44,8 +44,8 @@ romstage-y += ../common/timer.c romstage-y += ../common/uart.c romstage-y += ../common/wdt.c -ramstage-y += auxadc.c ramstage-y += emi.c +ramstage-y += ../common/auxadc.c ramstage-y += ../common/ddp.c ddp.c ramstage-y += ../common/dsi.c dsi.c ramstage-y += ../common/gpio.c gpio.c diff --git a/src/soc/mediatek/mt8183/include/soc/auxadc.h b/src/soc/mediatek/mt8183/include/soc/auxadc.h index 18350d63f0..0e07de073c 100644 --- a/src/soc/mediatek/mt8183/include/soc/auxadc.h +++ b/src/soc/mediatek/mt8183/include/soc/auxadc.h @@ -3,6 +3,8 @@ #ifndef _MTK_ADC_H #define _MTK_ADC_H +#include +#include #include typedef struct mtk_auxadc_regs { @@ -16,6 +18,6 @@ typedef struct mtk_auxadc_regs { uint32_t misc; } mtk_auxadc_regs; -/* Return voltage in uVolt */ -int auxadc_get_voltage(unsigned int channel); +static struct mt8183_infracfg_regs *const mtk_infracfg = mt8183_infracfg; + #endif