summaryrefslogtreecommitdiff
path: root/src/soc/mediatek/mt8173
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/mediatek/mt8173')
-rw-r--r--src/soc/mediatek/mt8173/i2c.c6
-rw-r--r--src/soc/mediatek/mt8173/include/soc/i2c.h5
2 files changed, 8 insertions, 3 deletions
diff --git a/src/soc/mediatek/mt8173/i2c.c b/src/soc/mediatek/mt8173/i2c.c
index ff803c3d3b..dd4629d909 100644
--- a/src/soc/mediatek/mt8173/i2c.c
+++ b/src/soc/mediatek/mt8173/i2c.c
@@ -6,9 +6,6 @@
#include <device/mmio.h>
#include <soc/addressmap.h>
#include <soc/i2c.h>
-#include <soc/pll.h>
-
-#define I2C_CLK_HZ (AXI_HZ / 16)
struct mtk_i2c mtk_i2c_bus_controller[7] = {
/* i2c0 setting */
@@ -52,6 +49,9 @@ struct mtk_i2c mtk_i2c_bus_controller[7] = {
}
};
+_Static_assert(ARRAY_SIZE(mtk_i2c_bus_controller) == I2C_BUS_NUMBER,
+ "Wrong size of mtk_i2c_bus_controller");
+
#define I2CTAG "[I2C][PL] "
#if CONFIG(DEBUG_I2C)
diff --git a/src/soc/mediatek/mt8173/include/soc/i2c.h b/src/soc/mediatek/mt8173/include/soc/i2c.h
index e6f0140367..02a21817d9 100644
--- a/src/soc/mediatek/mt8173/include/soc/i2c.h
+++ b/src/soc/mediatek/mt8173/include/soc/i2c.h
@@ -4,6 +4,7 @@
#define SOC_MEDIATEK_MT8173_I2C_H
#include <soc/i2c_common.h>
+#include <soc/pll.h>
/* I2C Register */
struct mt_i2c_regs {
@@ -35,6 +36,10 @@ struct mt_i2c_regs {
uint32_t transfer_aux_len;
};
+#define I2C_CLK_HZ (AXI_HZ / 16)
+#define I2C_BUS_NUMBER 7
+#define MAX_CLOCK_DIV 32
+
check_member(mt_i2c_regs, debug_stat, 0x64);
void mtk_i2c_bus_init(uint8_t bus);