On 10/19/2011 06:48 PM, Helmut Raiger wrote: > This fixes write access to PMIC registers, the bug was > introduced partly in commit 64aac65099 and in commit c9fe76dd91. > It was tested on an i.mx31 with a mc13783. > > Signed-off-by: Helmut Raiger <helmut.rai...@hale.at> > --- > drivers/misc/pmic_fsl.c | 5 +---- > drivers/misc/pmic_spi.c | 1 - > 2 files changed, 1 insertions(+), 5 deletions(-) > > diff --git a/drivers/misc/pmic_fsl.c b/drivers/misc/pmic_fsl.c > index b6e809a..0ff75ed 100644
Hi Helmut, > --- a/drivers/misc/pmic_fsl.c > +++ b/drivers/misc/pmic_fsl.c > @@ -29,10 +29,7 @@ > #if defined(CONFIG_PMIC_SPI) > static u32 pmic_spi_prepare_tx(u32 reg, u32 *val, u32 write) > { > - if ((val == NULL) && (write)) > - return *val & ~(1 << 31); > - else > - return (write << 31) | (reg << 25) | (*val & 0x00FFFFFF); > + return (write << 31) | (reg << 25) | (*val & 0x00FFFFFF); > } > #endif > > diff --git a/drivers/misc/pmic_spi.c b/drivers/misc/pmic_spi.c > index ff35377..e772884 100644 > --- a/drivers/misc/pmic_spi.c > +++ b/drivers/misc/pmic_spi.c > @@ -76,7 +76,6 @@ static u32 pmic_reg(struct pmic *p, u32 reg, u32 *val, u32 > write) > } > > if (write) { > - pmic_tx = p->hw.spi.prepare_tx(0, NULL, write); > pmic_tx &= ~(1 << 31); This fixes the issue with the Freescale PMIC, but... The new driver introduces a level of abstraction to make easier to introduce other PMICs that are driven with SPI / I2C. For this reason, PMIC specific code must be inside the specific driver (pmic_fsl.c) and not in the general (pmic_core.c and pmic_spi.c). And clearing the MSB is part of the Freescale's protocol, and for this reason should be moved inside the prepare function. Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: off...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot