From: Fabio Estevam Date: Tue, 23 Oct 2012 06:34:50 +0000 (+0000) Subject: pmic_fsl: Introduce FSL_PMIC_I2C_LENGTH X-Git-Tag: v2013.01-rc3~13^2~77 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=4cfc6c4fa7611e79e6434e97db56b6072ad4d05c;p=u-boot pmic_fsl: Introduce FSL_PMIC_I2C_LENGTH Introduce FSL_PMIC_I2C_LENGTH to configure the number of bytes that are used to communicate with the PMIC via I2C. Instead of hardcoding the value, pass the number via a configurable option per PMIC type. This will be useful for adding support for PMIC MC34704 from Freescale, which uses only one byte in its I2C protocol. Signed-off-by: Fabio Estevam --- diff --git a/drivers/misc/pmic_fsl.c b/drivers/misc/pmic_fsl.c index 0ff75ed76e..9d80b55e28 100644 --- a/drivers/misc/pmic_fsl.c +++ b/drivers/misc/pmic_fsl.c @@ -26,6 +26,10 @@ #include #include +#if defined(CONFIG_PMIC_FSL_MC13892) +#define FSL_PMIC_I2C_LENGTH 3 +#endif + #if defined(CONFIG_PMIC_SPI) static u32 pmic_spi_prepare_tx(u32 reg, u32 *val, u32 write) { @@ -53,7 +57,7 @@ int pmic_init(void) #elif defined(CONFIG_PMIC_I2C) p->interface = PMIC_I2C; p->hw.i2c.addr = CONFIG_SYS_FSL_PMIC_I2C_ADDR; - p->hw.i2c.tx_num = 3; + p->hw.i2c.tx_num = FSL_PMIC_I2C_LENGTH; p->bus = I2C_PMIC; #else #error "You must select CONFIG_PMIC_SPI or CONFIG_PMIC_I2C" diff --git a/include/configs/mx35pdk.h b/include/configs/mx35pdk.h index 826c912494..e79f76ed9d 100644 --- a/include/configs/mx35pdk.h +++ b/include/configs/mx35pdk.h @@ -68,6 +68,7 @@ #define CONFIG_PMIC #define CONFIG_PMIC_I2C #define CONFIG_PMIC_FSL +#define CONFIG_PMIC_FSL_MC13892 #define CONFIG_SYS_FSL_PMIC_I2C_ADDR 0x08 #define CONFIG_RTC_MC13XXX diff --git a/include/configs/mx53loco.h b/include/configs/mx53loco.h index 0658dd3003..9e8f5ce3c8 100644 --- a/include/configs/mx53loco.h +++ b/include/configs/mx53loco.h @@ -93,6 +93,7 @@ #define CONFIG_PMIC_I2C #define CONFIG_DIALOG_PMIC #define CONFIG_PMIC_FSL +#define CONFIG_PMIC_FSL_MC13892 #define CONFIG_SYS_DIALOG_PMIC_I2C_ADDR 0x48 #define CONFIG_SYS_FSL_PMIC_I2C_ADDR 0x8