summaryrefslogtreecommitdiff
path: root/board/ti/am335x
diff options
context:
space:
mode:
Diffstat (limited to 'board/ti/am335x')
-rw-r--r--board/ti/am335x/evm.c7
-rw-r--r--board/ti/am335x/mux.c13
2 files changed, 20 insertions, 0 deletions
diff --git a/board/ti/am335x/evm.c b/board/ti/am335x/evm.c
index 6a9f788..13dc603 100644
--- a/board/ti/am335x/evm.c
+++ b/board/ti/am335x/evm.c
@@ -18,6 +18,7 @@
#include <asm/arch/hardware.h>
#include <asm/arch/common_def.h>
#include <serial.h>
+#include <i2c.h>
DECLARE_GLOBAL_DATA_PTR;
@@ -42,6 +43,12 @@ int init_basic_setup(void)
int board_init(void)
{
enable_uart0_pin_mux();
+
+#ifdef CONFIG_I2C
+ enable_i2c0_pin_mux();
+ i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+#endif
+
init_basic_setup();
return 0;
diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c
index 4cb0cdf..9ccb436 100644
--- a/board/ti/am335x/mux.c
+++ b/board/ti/am335x/mux.c
@@ -272,6 +272,14 @@ static struct module_pin_mux mmc0_pin_mux[] = {
};
#endif
+static struct module_pin_mux i2c0_pin_mux[] = {
+ {OFFSET(i2c0_sda), (MODE(0) | RXACTIVE |
+ PULLUDEN | SLEWCTRL)}, /* I2C_DATA */
+ {OFFSET(i2c0_scl), (MODE(0) | RXACTIVE |
+ PULLUDEN | SLEWCTRL)}, /* I2C_SCLK */
+ {-1},
+};
+
/*
* Configure the pin mux for the module
*/
@@ -297,3 +305,8 @@ void enable_mmc0_pin_mux(void)
configure_module_pin_mux(mmc0_pin_mux);
}
#endif
+
+void enable_i2c0_pin_mux(void)
+{
+ configure_module_pin_mux(i2c0_pin_mux);
+}