aboutsummaryrefslogtreecommitdiff
path: root/board/ti
diff options
context:
space:
mode:
authorPatil, Rachna <rachna@ti.com>2012-01-22 23:47:01 +0000
committerHeiko Schocher <hs@denx.de>2012-01-23 11:57:31 +0100
commitb4116ede36da628a517a94d6cba9dba4a02104a4 (patch)
tree3f38815b07fed2a404115186ba60f61a45d940d3 /board/ti
parent498cbdfe62a8330f6c89765bdd15e60328a26511 (diff)
ARM: AM33XX: Add i2c support
Add i2c driver board hookup for AM335X EVM Signed-off-by: Chandan Nath <chandan.nath@ti.com> Signed-off-by: Patil, Rachna <rachna@ti.com>
Diffstat (limited to 'board/ti')
-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 6a9f78829..13dc60361 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 4cb0cdf36..9ccb43642 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);
+}