[U-Boot] [PATCH v2 3/5] pmic_fsl: Introduce CONFIG_SYS_FSL_PMIC_I2C_LENGTH
Lukasz Majewski
l.majewski at samsung.com
Tue Oct 16 18:12:08 CEST 2012
Hi Stefano,
> Am 16/10/2012 01:32, schrieb Fabio Estevam:
> > From: Fabio Estevam <fabio.estevam at freescale.com>
> >
> > Introduce CONFIG_SYS_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 config
> > option.
> >
> > 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 at freescale.com>
> > ---
>
> Hi Fabio,
>
> > Changes since v2:
> > - No changes. Newly introduced in this series
> >
> > drivers/misc/pmic_fsl.c | 2 +-
> > include/configs/mx35pdk.h | 1 +
> > include/configs/mx53evk.h | 1 +
> > include/configs/mx53loco.h | 1 +
> > 4 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/misc/pmic_fsl.c b/drivers/misc/pmic_fsl.c
> > index 0ff75ed..40c448b 100644
> > --- a/drivers/misc/pmic_fsl.c
> > +++ b/drivers/misc/pmic_fsl.c
> > @@ -53,7 +53,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 = CONFIG_SYS_FSL_PMIC_I2C_LENGTH;
>
> The bad thing with it is that it seems that each board can have a
> different value. However, this is bound to the selected pmic and not
> to the board. So IMHO it should not go into the board configuration
> file, but in the pmic specific initialization.
>
> We share the same general code for all FSL PMIcs, so I am not sure
> which is the best way to do. Maybe at the pmic initialization ?
>
> I added Lucasz in CC, because he is working on the PMIC framework
> making it more flexible and with the possibility to have multiple
> PMIC (he has a board with more as one PMIC, even if they are
> integrated in teh same chip).
>
> Lucasz changed (not yet merged) the pmic startup passing the number of
> I2C bus. So with the new interface, we could have something like:
I'm going to post another version of the patch in a few days.
>
> pmic_init(I2C_PMIC);
> if (pmic_detect()) {
> p = pmic_get("FSL_PMIC");
>
> The question is if it makes sense to pass also the tx_num to the init
> function, and moving to a
> pmic_init(i2cbus, txnum);
I'd like to avoid passing more data than necessary for the pmic_init.
I will investigate how it can be solved.
>
> or is there a more elegant way ?
>
> Best regards,
> Stefano
>
--
Best regards,
Lukasz Majewski
Samsung Poland R&D Center | Linux Platform Group
More information about the U-Boot
mailing list