From 2b5b2be5e9444688e5d8bd0e2d263fccd1f2eee4 Mon Sep 17 00:00:00 2001 From: Hannes Petermaier Date: Thu, 19 Mar 2015 10:43:15 +0100 Subject: [PATCH] board/BuR/common: move I2C initialization from common part to board-specific At this time I2C and responsible pin-mux is setup during PMIC initialziation within common.c, this is possible because today PMIC is always connected on I2C0. In Future this will be changed, PMIC isn't anymore connected to bus0 in call cases. So we do following: - rename enable_i2c_pin_mux0 to enable_i2c_pin_mux to be generic for enabling pin-mux on different or more busses. - move the call to i2c_pin_mux and i2c_init from common.c to the specific board.c Signed-off-by: Hannes Petermaier Signed-off-by: Hannes Petermaier --- board/BuR/common/bur_common.h | 2 +- board/BuR/common/common.c | 4 ---- board/BuR/kwb/board.c | 3 ++- board/BuR/kwb/mux.c | 2 +- board/BuR/tseries/board.c | 4 ++++ board/BuR/tseries/mux.c | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/board/BuR/common/bur_common.h b/board/BuR/common/bur_common.h index 39afbba7db..3061e4ca00 100644 --- a/board/BuR/common/bur_common.h +++ b/board/BuR/common/bur_common.h @@ -19,7 +19,7 @@ void br_summaryscreen(void); void blink(u32 blinks, u32 intervall, u32 pin); void pmicsetup(u32 mpupll); void enable_uart0_pin_mux(void); -void enable_i2c0_pin_mux(void); +void enable_i2c_pin_mux(void); void enable_board_pin_mux(void); int board_eth_init(bd_t *bis); diff --git a/board/BuR/common/common.c b/board/BuR/common/common.c index 5ff8a7e0ae..91834eb756 100644 --- a/board/BuR/common/common.c +++ b/board/BuR/common/common.c @@ -461,10 +461,6 @@ void pmicsetup(u32 mpupll) int mpu_vdd; int usb_cur_lim; - /* setup I2C */ - enable_i2c0_pin_mux(); - i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); - if (i2c_probe(TPS65217_CHIP_PM)) { puts("PMIC (0x24) not found! skip further initalization.\n"); return; diff --git a/board/BuR/kwb/board.c b/board/BuR/kwb/board.c index 892311e6ee..6eed7e0d7f 100644 --- a/board/BuR/kwb/board.c +++ b/board/BuR/kwb/board.c @@ -124,7 +124,8 @@ void am33xx_spl_board_init(void) gpio_direction_output(LCD_PWR, 0); /* setup I2C */ - enable_i2c0_pin_mux(); + enable_i2c_pin_mux(); + i2c_set_bus_num(0); i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); /* power-ON 3V3 via Resetcontroller */ diff --git a/board/BuR/kwb/mux.c b/board/BuR/kwb/mux.c index 9f89b5e53d..2b1d8d3b1d 100644 --- a/board/BuR/kwb/mux.c +++ b/board/BuR/kwb/mux.c @@ -180,7 +180,7 @@ void enable_uart0_pin_mux(void) configure_module_pin_mux(uart0_pin_mux); } -void enable_i2c0_pin_mux(void) +void enable_i2c_pin_mux(void) { configure_module_pin_mux(i2c0_pin_mux); } diff --git a/board/BuR/tseries/board.c b/board/BuR/tseries/board.c index 9402aa4205..89e989f246 100644 --- a/board/BuR/tseries/board.c +++ b/board/BuR/tseries/board.c @@ -123,6 +123,10 @@ void am33xx_spl_board_init(void) /* setup LCD-Pixel Clock */ writel(0x2, &cmdpll->clklcdcpixelclk); /* clock comes from perPLL M2 */ + /* setup I2C */ + enable_i2c_pin_mux(); + i2c_set_bus_num(0); + i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); pmicsetup(0); } diff --git a/board/BuR/tseries/mux.c b/board/BuR/tseries/mux.c index 2c87a63b85..ac7e885f61 100644 --- a/board/BuR/tseries/mux.c +++ b/board/BuR/tseries/mux.c @@ -226,7 +226,7 @@ void enable_uart0_pin_mux(void) configure_module_pin_mux(uart0_pin_mux); } -void enable_i2c0_pin_mux(void) +void enable_i2c_pin_mux(void) { configure_module_pin_mux(i2c0_pin_mux); } -- 2.39.5