summaryrefslogtreecommitdiff
path: root/src/soc/nvidia/tegra124
diff options
context:
space:
mode:
Diffstat (limited to 'src/soc/nvidia/tegra124')
-rw-r--r--src/soc/nvidia/tegra124/Makefile.inc2
-rw-r--r--src/soc/nvidia/tegra124/i2c.c27
-rw-r--r--src/soc/nvidia/tegra124/include/soc/addressmap.h10
3 files changed, 39 insertions, 0 deletions
diff --git a/src/soc/nvidia/tegra124/Makefile.inc b/src/soc/nvidia/tegra124/Makefile.inc
index 683d940eb4..d4d16fec2c 100644
--- a/src/soc/nvidia/tegra124/Makefile.inc
+++ b/src/soc/nvidia/tegra124/Makefile.inc
@@ -2,8 +2,10 @@ CBOOTIMAGE = cbootimage
bootblock-y += cbfs.c
bootblock-y += clock.c
+bootblock-y += i2c.c
bootblock-y += monotonic_timer.c
bootblock-y += ../tegra/gpio.c
+bootblock-y += ../tegra/i2c.c
bootblock-y += ../tegra/pingroup.c
bootblock-y += ../tegra/pinmux.c
bootblock-y += timer.c
diff --git a/src/soc/nvidia/tegra124/i2c.c b/src/soc/nvidia/tegra124/i2c.c
new file mode 100644
index 0000000000..b54230b171
--- /dev/null
+++ b/src/soc/nvidia/tegra124/i2c.c
@@ -0,0 +1,27 @@
+/*
+ * This file is part of the coreboot project.
+ *
+ * Copyright 2013 Google Inc.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <soc/addressmap.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
+};
diff --git a/src/soc/nvidia/tegra124/include/soc/addressmap.h b/src/soc/nvidia/tegra124/include/soc/addressmap.h
index 2fd607d4ad..bf59d75085 100644
--- a/src/soc/nvidia/tegra124/include/soc/addressmap.h
+++ b/src/soc/nvidia/tegra124/include/soc/addressmap.h
@@ -44,7 +44,13 @@ enum {
TEGRA_APB_UARTD_BASE = TEGRA_APB_MISC_BASE + 0x6300,
TEGRA_APB_UARTE_BASE = TEGRA_APB_MISC_BASE + 0x6400,
TEGRA_NAND_BASE = TEGRA_APB_MISC_BASE + 0x8000,
+ TEGRA_I2C_BASE = TEGRA_APB_MISC_BASE + 0xC000,
TEGRA_SPI_BASE = TEGRA_APB_MISC_BASE + 0xC380,
+ TEGRA_I2C2_BASE = TEGRA_APB_MISC_BASE + 0xC400,
+ TEGRA_I2C3_BASE = TEGRA_APB_MISC_BASE + 0xC500,
+ TEGRA_I2C4_BASE = TEGRA_APB_MISC_BASE + 0xC700,
+ TEGRA_I2C5_BASE = TEGRA_APB_MISC_BASE + 0xD000,
+ TEGRA_I2C6_BASE = TEGRA_APB_MISC_BASE + 0xD100,
TEGRA_SLINK1_BASE = TEGRA_APB_MISC_BASE + 0xD400,
TEGRA_SLINK2_BASE = TEGRA_APB_MISC_BASE + 0xD600,
TEGRA_SLINK3_BASE = TEGRA_APB_MISC_BASE + 0xD800,
@@ -59,4 +65,8 @@ enum {
TEGRA_USB_ADDR_MASK = 0xFFFFC000,
};
+enum {
+ TEGRA_I2C_BASE_COUNT = 6,
+};
+
#endif /* __SOC_NVIDIA_TEGRA124_INCLUDE_SOC_ADDRESS_MAP_H__ */