diff options
Diffstat (limited to 'board/ti/am335x')
-rw-r--r-- | board/ti/am335x/evm.c | 7 | ||||
-rw-r--r-- | board/ti/am335x/mux.c | 13 |
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); +} |