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>
This commit is contained in:
Fabio Estevam 2012-10-23 06:34:50 +00:00 committed by Stefano Babic
parent af2a4093cb
commit 4cfc6c4fa7
3 changed files with 7 additions and 1 deletions

View File

@ -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"

View File

@ -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

View File

@ -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