[U-Boot] [PATCH] power: pmic: Let PFUZE3000 see all 256 registers
Fabio Estevam
festevam at gmail.com
Wed Jun 27 01:37:15 UTC 2018
Hi Stefano,
Could you please consider this one for 2018.07?
Thanks
On Wed, Apr 25, 2018 at 2:06 PM, Trent Piepho <tpiepho at impinj.com> wrote:
> The PFUZE3000 uses registers addresses up to 0xff.
>
> The DM pfuze100 driver supports both pfuze100 and pfuze3000. Allow it
> to use the device type to return the correct number of registers.
>
> Also rename the too generic PMIC_NUM_OF_REGS enumeration value for
> pfuze3000 to match the other "PFUZE3000_" prefixed enumerations and the
> pfuze100 enumeration value PFUZE100_NUM_OF_REGS.
>
> Cc: Peng Fan <Peng.Fan at freescale.com>
> Cc: Jaehoon Chung <jh80.chung at samsung.com>
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> Signed-off-by: Trent Piepho <tpiepho at impinj.com>
> ---
> drivers/power/pmic/pfuze100.c | 3 ++-
> drivers/power/pmic/pmic_pfuze3000.c | 2 +-
> include/power/pfuze3000_pmic.h | 2 +-
> 3 files changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/power/pmic/pfuze100.c b/drivers/power/pmic/pfuze100.c
> index a06cbc07d4..f85ad25981 100644
> --- a/drivers/power/pmic/pfuze100.c
> +++ b/drivers/power/pmic/pfuze100.c
> @@ -13,6 +13,7 @@
> #include <power/pmic.h>
> #include <power/regulator.h>
> #include <power/pfuze100_pmic.h>
> +#include <power/pfuze3000_pmic.h>
>
> DECLARE_GLOBAL_DATA_PTR;
>
> @@ -26,7 +27,7 @@ static const struct pmic_child_info pmic_children_info[] = {
>
> static int pfuze100_reg_count(struct udevice *dev)
> {
> - return PFUZE100_NUM_OF_REGS;
> + return dev->driver_data == PFUZE3000 ? PFUZE3000_NUM_OF_REGS : PFUZE100_NUM_OF_REGS;
> }
>
> static int pfuze100_write(struct udevice *dev, uint reg, const uint8_t *buff,
> diff --git a/drivers/power/pmic/pmic_pfuze3000.c b/drivers/power/pmic/pmic_pfuze3000.c
> index ac807a801f..d0f358f808 100644
> --- a/drivers/power/pmic/pmic_pfuze3000.c
> +++ b/drivers/power/pmic/pmic_pfuze3000.c
> @@ -23,7 +23,7 @@ int power_pfuze3000_init(unsigned char bus)
>
> p->name = name;
> p->interface = PMIC_I2C;
> - p->number_of_regs = PMIC_NUM_OF_REGS;
> + p->number_of_regs = PFUZE3000_NUM_OF_REGS;
> p->hw.i2c.addr = CONFIG_POWER_PFUZE3000_I2C_ADDR;
> p->hw.i2c.tx_num = 1;
> p->bus = bus;
> diff --git a/include/power/pfuze3000_pmic.h b/include/power/pfuze3000_pmic.h
> index 7d66ba48d4..94946e9594 100644
> --- a/include/power/pfuze3000_pmic.h
> +++ b/include/power/pfuze3000_pmic.h
> @@ -70,7 +70,7 @@ enum {
> PFUZE3000_VLDO3CTL = 0x70,
> PFUZE3000_VLD4CTL = 0x71,
>
> - PMIC_NUM_OF_REGS = 0x7F,
> + PFUZE3000_NUM_OF_REGS = 0x100,
> };
>
> int power_pfuze3000_init(unsigned char bus);
> --
> 2.14.3
>
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> https://lists.denx.de/listinfo/u-boot
More information about the U-Boot
mailing list