summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/kukui/boardid.c4
-rw-r--r--src/soc/mediatek/common/auxadc.c (renamed from src/soc/mediatek/mt8183/auxadc.c)13
-rw-r--r--src/soc/mediatek/common/include/soc/auxadc_common.h8
-rw-r--r--src/soc/mediatek/mt8183/Makefile.inc8
-rw-r--r--src/soc/mediatek/mt8183/include/soc/auxadc.h6
5 files changed, 24 insertions, 15 deletions
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 <device/i2c_simple.h>
#include <drivers/camera/cros_camera.h>
#include <ec/google/chromeec/ec.h>
-#include <soc/auxadc.h>
+#include <soc/auxadc_common.h>
#include <soc/i2c.h>
#include <soc/pmic_wrap_common.h>
#include <string.h>
@@ -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
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 <device/mmio.h>
#include <assert.h>
#include <delay.h>
+#include <device/mmio.h>
#include <soc/addressmap.h>
#include <soc/auxadc.h>
#include <soc/efuse.h>
-#include <soc/infracfg.h>
#include <timer.h>
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 <soc/auxadc_common.h>
+#include <soc/infracfg.h>
#include <stdint.h>
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