[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