summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2012-10-23 06:34:50 +0000
committerStefano Babic <sbabic@denx.de>2012-10-26 16:28:07 +0200
commit4cfc6c4fa7611e79e6434e97db56b6072ad4d05c (patch)
tree565b8a51b36f1d4f811c47a7383bea249fc7c3b0
parentaf2a4093cb141f9c5ea433c41ab06a528a7792a6 (diff)
downloadblackbird-obmc-uboot-4cfc6c4fa7611e79e6434e97db56b6072ad4d05c.tar.gz
blackbird-obmc-uboot-4cfc6c4fa7611e79e6434e97db56b6072ad4d05c.zip
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 <fabio.estevam@freescale.com>
-rw-r--r--drivers/misc/pmic_fsl.c6
-rw-r--r--include/configs/mx35pdk.h1
-rw-r--r--include/configs/mx53loco.h1
3 files changed, 7 insertions, 1 deletions
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 <pmic.h>
#include <fsl_pmic.h>
+#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
OpenPOWER on IntegriCloud