[U-Boot] [PATCH v5 11/33] ARM: i.MX6: sabresd: Enable DM_I2C and DM_PMIC

Jagan Teki jagan at openedev.com
Thu May 4 15:11:20 UTC 2017


From: Jagan Teki <jagan at amarulasolutions.com>

Enable DM_I2C, DM_PMIC and DM_PMIC_PFUZE100 for dt
supported sabresd config board

I2C Log:
--------
=> i2c bus
Bus 0:  i2c at 021a0000
Bus 1:  i2c at 021a4000
   08: pfuze100 at 08, offset len 1, flags 0
Bus 2:  i2c at 021a8000
=> i2c dev 1
Setting bus to 1
=> i2c speed 100000
Setting bus speed to 100000 Hz
=> i2c probe
Valid chip addresses: 08 48
=> i2c md 08 0x0 0x20
0000: 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10    ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
=> i2c md 48 0x0 0x20
0000: 00 f0 00 00 00 00 00 00 00 00 00 80 70 41 41 41    ............pAAA
0010: 00 00 00 80 70 41 41 41 41 41 41 41 41 41 41 41    ....pAAAAAAAAAAA

Cc: Stefano Babic <sbabic at denx.de>
Cc: Fabio Estevam <fabio.estevam at nxp.com>
Cc: Michael Trimarchi <michael at amarulasolutions.com>
Signed-off-by: Jagan Teki <jagan at amarulasolutions.com>
---
 board/freescale/mx6sabresd/mx6sabresd.c | 7 ++++++-
 configs/imx6qdl_sabresd_spl_defconfig   | 3 +++
 include/configs/mx6sabresd.h            | 4 +++-
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/board/freescale/mx6sabresd/mx6sabresd.c b/board/freescale/mx6sabresd/mx6sabresd.c
index f7a89bc..f832697 100644
--- a/board/freescale/mx6sabresd/mx6sabresd.c
+++ b/board/freescale/mx6sabresd/mx6sabresd.c
@@ -202,6 +202,7 @@ static void enable_lvds(struct display_info_t const *dev)
 	enable_backlight();
 }
 
+#ifndef CONFIG_DM_I2C
 static struct i2c_pads_info i2c_pad_info1 = {
 	.scl = {
 		.i2c_mode = MX6_PAD_KEY_COL3__I2C2_SCL | I2C_PAD,
@@ -214,6 +215,7 @@ static struct i2c_pads_info i2c_pad_info1 = {
 		.gp = IMX_GPIO_NR(4, 13)
 	}
 };
+#endif
 
 static void setup_spi(void)
 {
@@ -594,8 +596,9 @@ int board_init(void)
 #ifdef CONFIG_MXC_SPI
 	setup_spi();
 #endif
+#ifndef CONFIG_DM_I2C
 	setup_i2c(1, CONFIG_SYS_I2C_SPEED, 0x7f, &i2c_pad_info1);
-
+#endif
 #ifdef CONFIG_USB_EHCI_MX6
 	setup_usb();
 #endif
@@ -603,6 +606,7 @@ int board_init(void)
 	return 0;
 }
 
+#ifndef CONFIG_DM_PMIC
 int power_init_board(void)
 {
 	struct pmic *p;
@@ -631,6 +635,7 @@ int power_init_board(void)
 
 	return 0;
 }
+#endif
 
 #ifdef CONFIG_MXC_SPI
 int board_spi_cs_gpio(unsigned bus, unsigned cs)
diff --git a/configs/imx6qdl_sabresd_spl_defconfig b/configs/imx6qdl_sabresd_spl_defconfig
index dc06b50..14021db 100644
--- a/configs/imx6qdl_sabresd_spl_defconfig
+++ b/configs/imx6qdl_sabresd_spl_defconfig
@@ -54,10 +54,13 @@ CONFIG_G_DNL_PRODUCT_NUM=0xa4a5
 # CONFIG_VIDEO_SW_CURSOR is not set
 CONFIG_OF_LIBFDT=y
 CONFIG_OF_CONTROL=y
+CONFIG_DM_I2C=y
 CONFIG_DM_GPIO=y
 CONFIG_DM_MMC=y
+CONFIG_DM_PMIC=y
 # CONFIG_BLK is not set
 # CONFIG_DM_MMC_OPS is not set
+CONFIG_DM_PMIC_PFUZE100=y
 CONFIG_SYS_I2C_MXC=y
 CONFIG_PINCTRL=y
 CONFIG_PINCTRL_IMX6=y
diff --git a/include/configs/mx6sabresd.h b/include/configs/mx6sabresd.h
index 7c0e7a5..6ece575 100644
--- a/include/configs/mx6sabresd.h
+++ b/include/configs/mx6sabresd.h
@@ -52,7 +52,7 @@
 #endif
 
 /* I2C Configs */
-#ifdef CONFIG_SYS_I2C_MXC
+#if defined(CONFIG_SYS_I2C_MXC) && !defined(CONFIG_DM_I2C)
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_MXC_I2C1		/* enable I2C bus 1 */
 #define CONFIG_SYS_I2C_MXC_I2C2		/* enable I2C bus 2 */
@@ -61,10 +61,12 @@
 #endif
 
 /* PMIC */
+#ifndef CONFIG_DM_PMIC_PFUZE100
 #define CONFIG_POWER
 #define CONFIG_POWER_I2C
 #define CONFIG_POWER_PFUZE100
 #define CONFIG_POWER_PFUZE100_I2C_ADDR	0x08
+#endif
 
 /* USB Configs */
 #ifdef CONFIG_CMD_USB
-- 
1.9.1



More information about the U-Boot mailing list