[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