diff mbox

[U-Boot,1/2] ot1200: setup i2c bus in board_early_init_f(..)

Message ID 1433324003-6884-1-git-send-email-christian.gmeiner@gmail.com
State Awaiting Upstream
Delegated to: Stefano Babic
Headers show

Commit Message

Christian Gmeiner June 3, 2015, 9:33 a.m. UTC
Make it possible to use the i2c bus in SPL.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
---
 board/bachmann/ot1200/ot1200.c | 40 ++++++++++++++++++++++------------------
 1 file changed, 22 insertions(+), 18 deletions(-)

Comments

Stefano Babic June 8, 2015, 6:50 a.m. UTC | #1
On 03/06/2015 11:33, Christian Gmeiner wrote:
> Make it possible to use the i2c bus in SPL.
> 
> Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
> ---
>  board/bachmann/ot1200/ot1200.c | 40 ++++++++++++++++++++++------------------
>  1 file changed, 22 insertions(+), 18 deletions(-)
> 
> diff --git a/board/bachmann/ot1200/ot1200.c b/board/bachmann/ot1200/ot1200.c
> index e434ed9..a33d496 100644
> --- a/board/bachmann/ot1200/ot1200.c
> +++ b/board/bachmann/ot1200/ot1200.c
> @@ -120,6 +120,27 @@ static void setup_iomux_features(void)
>  		ARRAY_SIZE(feature_pads));
>  }
>  
> +#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
> +
> +/* I2C3 - IO expander  */
> +static struct i2c_pads_info i2c_pad_info2 = {
> +	.scl = {
> +		.i2c_mode = MX6_PAD_EIM_D17__I2C3_SCL | PC,
> +		.gpio_mode = MX6_PAD_EIM_D17__GPIO3_IO17 | PC,
> +		.gp = IMX_GPIO_NR(3, 17)
> +	},
> +	.sda = {
> +		.i2c_mode = MX6_PAD_EIM_D18__I2C3_SDA | PC,
> +		.gpio_mode = MX6_PAD_EIM_D18__GPIO3_IO18 | PC,
> +		.gp = IMX_GPIO_NR(3, 18)
> +	}
> +};
> +
> +static void setup_iomux_i2c(void)
> +{
> +	setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info2);
> +}
> +
>  static void ccgr_init(void)
>  {
>  	struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
> @@ -151,6 +172,7 @@ int board_early_init_f(void)
>  
>  	setup_iomux_uart();
>  	setup_iomux_spi();
> +	setup_iomux_i2c();
>  	setup_iomux_features();
>  
>  	return 0;
> @@ -236,22 +258,6 @@ int board_mmc_init(bd_t *bis)
>  	return 0;
>  }
>  
> -#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
> -
> -/* I2C3 - IO expander  */
> -static struct i2c_pads_info i2c_pad_info2 = {
> -	.scl = {
> -		.i2c_mode = MX6_PAD_EIM_D17__I2C3_SCL | PC,
> -		.gpio_mode = MX6_PAD_EIM_D17__GPIO3_IO17 | PC,
> -		.gp = IMX_GPIO_NR(3, 17)
> -	},
> -	.sda = {
> -		.i2c_mode = MX6_PAD_EIM_D18__I2C3_SDA | PC,
> -		.gpio_mode = MX6_PAD_EIM_D18__GPIO3_IO18 | PC,
> -		.gp = IMX_GPIO_NR(3, 18)
> -	}
> -};
> -
>  static iomux_v3_cfg_t const pwm_pad[] = {
>  	MX6_PAD_SD1_CMD__PWM4_OUT | MUX_PAD_CTRL(OUTPUT_40OHM),
>  };
> @@ -315,8 +321,6 @@ int board_init(void)
>  
>  	backlight_lcd_off();
>  
> -	setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info2);
> -
>  	leds_on();
>  
>  #ifdef CONFIG_CMD_SATA
> 
Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic
diff mbox

Patch

diff --git a/board/bachmann/ot1200/ot1200.c b/board/bachmann/ot1200/ot1200.c
index e434ed9..a33d496 100644
--- a/board/bachmann/ot1200/ot1200.c
+++ b/board/bachmann/ot1200/ot1200.c
@@ -120,6 +120,27 @@  static void setup_iomux_features(void)
 		ARRAY_SIZE(feature_pads));
 }
 
+#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
+
+/* I2C3 - IO expander  */
+static struct i2c_pads_info i2c_pad_info2 = {
+	.scl = {
+		.i2c_mode = MX6_PAD_EIM_D17__I2C3_SCL | PC,
+		.gpio_mode = MX6_PAD_EIM_D17__GPIO3_IO17 | PC,
+		.gp = IMX_GPIO_NR(3, 17)
+	},
+	.sda = {
+		.i2c_mode = MX6_PAD_EIM_D18__I2C3_SDA | PC,
+		.gpio_mode = MX6_PAD_EIM_D18__GPIO3_IO18 | PC,
+		.gp = IMX_GPIO_NR(3, 18)
+	}
+};
+
+static void setup_iomux_i2c(void)
+{
+	setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info2);
+}
+
 static void ccgr_init(void)
 {
 	struct mxc_ccm_reg *ccm = (struct mxc_ccm_reg *)CCM_BASE_ADDR;
@@ -151,6 +172,7 @@  int board_early_init_f(void)
 
 	setup_iomux_uart();
 	setup_iomux_spi();
+	setup_iomux_i2c();
 	setup_iomux_features();
 
 	return 0;
@@ -236,22 +258,6 @@  int board_mmc_init(bd_t *bis)
 	return 0;
 }
 
-#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
-
-/* I2C3 - IO expander  */
-static struct i2c_pads_info i2c_pad_info2 = {
-	.scl = {
-		.i2c_mode = MX6_PAD_EIM_D17__I2C3_SCL | PC,
-		.gpio_mode = MX6_PAD_EIM_D17__GPIO3_IO17 | PC,
-		.gp = IMX_GPIO_NR(3, 17)
-	},
-	.sda = {
-		.i2c_mode = MX6_PAD_EIM_D18__I2C3_SDA | PC,
-		.gpio_mode = MX6_PAD_EIM_D18__GPIO3_IO18 | PC,
-		.gp = IMX_GPIO_NR(3, 18)
-	}
-};
-
 static iomux_v3_cfg_t const pwm_pad[] = {
 	MX6_PAD_SD1_CMD__PWM4_OUT | MUX_PAD_CTRL(OUTPUT_40OHM),
 };
@@ -315,8 +321,6 @@  int board_init(void)
 
 	backlight_lcd_off();
 
-	setup_i2c(2, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info2);
-
 	leds_on();
 
 #ifdef CONFIG_CMD_SATA