aboutsummaryrefslogtreecommitdiff
path: root/src/soc/nvidia/tegra124/i2c.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/nvidia/tegra124/i2c.c')
-rw-r--r--src/soc/nvidia/tegra124/i2c.c36
1 files changed, 32 insertions, 4 deletions
diff --git a/src/soc/nvidia/tegra124/i2c.c b/src/soc/nvidia/tegra124/i2c.c
index b54230b171..a7eee686b0 100644
--- a/src/soc/nvidia/tegra124/i2c.c
+++ b/src/soc/nvidia/tegra124/i2c.c
@@ -18,10 +18,38 @@
*/
#include <soc/addressmap.h>
+#include <soc/clock.h>
#include <soc/nvidia/tegra/i2c.h>
-void * const tegra_i2c_bases[TEGRA_I2C_BASE_COUNT] = {
- (void *)TEGRA_I2C_BASE, (void *)TEGRA_I2C2_BASE,
- (void *)TEGRA_I2C3_BASE, (void *)TEGRA_I2C4_BASE,
- (void *)TEGRA_I2C5_BASE, (void *)TEGRA_I2C6_BASE
+struct tegra_i2c_bus_info tegra_i2c_info[] = {
+ {
+ .base = (void *)TEGRA_I2C_BASE,
+ .reset_bit = CLK_L_I2C1,
+ .reset_func = &clock_reset_l
+ },
+ {
+ .base = (void *)TEGRA_I2C2_BASE,
+ .reset_bit = CLK_H_I2C2,
+ .reset_func = &clock_reset_h
+ },
+ {
+ .base = (void *)TEGRA_I2C3_BASE,
+ .reset_bit = CLK_U_I2C3,
+ .reset_func = &clock_reset_u
+ },
+ {
+ .base = (void *)TEGRA_I2C4_BASE,
+ .reset_bit = CLK_V_I2C4,
+ .reset_func = &clock_reset_v
+ },
+ {
+ .base = (void *)TEGRA_I2C5_BASE,
+ .reset_bit = CLK_H_I2C5,
+ .reset_func = &clock_reset_h
+ },
+ {
+ .base = (void *)TEGRA_I2C6_BASE,
+ .reset_bit = CLK_X_I2C6,
+ .reset_func = &clock_reset_x
+ }
};