Re: [U-Boot] [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
On 12/09/2016 12:22 AM, Zhiqiang Hou wrote: > From: Hou Zhiqiang> > This patch adds a simple pmic driver for the mc34vr500 pmic which > is used in conjunction with the fsl T1 and LS1 series SoC. > > Signed-off-by: Hou Zhiqiang > --- This set is applied to fsl-qoriq master, awaiting upstream. Thanks. York ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
Hi Jaehoon, Thanks a lot for your review! > -Original Message- > From: Jaehoon Chung [mailto:jh80.ch...@samsung.com] > Sent: 2017年1月5日 9:46 > To: york sun; Z.Q. Hou > Cc: u-boot@lists.denx.de; s...@chromium.org; Prabhakar Kushwaha > ; Shengzhou Liu ; > Priyanka Jain ; Mingkai Hu > Subject: Re: [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the > mc34vr500 pmic > > Hi, > > On 01/05/2017 05:33 AM, york sun wrote: > > +Jaehoon to comment on the driver > > > > On 12/09/2016 12:22 AM, Zhiqiang Hou wrote: > >> From: Hou Zhiqiang > >> > >> This patch adds a simple pmic driver for the mc34vr500 pmic which is > >> used in conjunction with the fsl T1 and LS1 series SoC. > >> > >> Signed-off-by: Hou Zhiqiang > >> --- > >> drivers/power/pmic/Kconfig | 7 ++ > >> drivers/power/pmic/Makefile | 1 + > >> drivers/power/pmic/pmic_mc34vr500.c | 32 +++ > >> include/power/mc34vr500_pmic.h | 166 > > >> 4 files changed, 206 insertions(+) > >> create mode 100644 drivers/power/pmic/pmic_mc34vr500.c > >> create mode 100644 include/power/mc34vr500_pmic.h > >> > > [snip] > > >> +int power_mc34vr500_init(unsigned char bus); #endif /* > >> +__MC34VR500_PMIC_H_ */ > >> > > > > Zhiqiang, > > > > I'd like to hear from Jaehoon before taking an action. > > I hope that this driver will change to Driver model. Yes, totally agree, but the DM PMIC framework depends on DM I2C. Once the Layerscape I2C DM driver is ready, I will send out the DM based MC34VR500 driver. > Otherwise, there is no objection. > > For PATCH[1/5]~[2/5], > > Reviewed-by: Jaehoon Chung > Thanks, Zhiqiang ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
Hi, On 01/05/2017 05:33 AM, york sun wrote: > +Jaehoon to comment on the driver > > On 12/09/2016 12:22 AM, Zhiqiang Hou wrote: >> From: Hou Zhiqiang>> >> This patch adds a simple pmic driver for the mc34vr500 pmic which >> is used in conjunction with the fsl T1 and LS1 series SoC. >> >> Signed-off-by: Hou Zhiqiang >> --- >> drivers/power/pmic/Kconfig | 7 ++ >> drivers/power/pmic/Makefile | 1 + >> drivers/power/pmic/pmic_mc34vr500.c | 32 +++ >> include/power/mc34vr500_pmic.h | 166 >> >> 4 files changed, 206 insertions(+) >> create mode 100644 drivers/power/pmic/pmic_mc34vr500.c >> create mode 100644 include/power/mc34vr500_pmic.h >> [snip] >> +int power_mc34vr500_init(unsigned char bus); >> +#endif /* __MC34VR500_PMIC_H_ */ >> > > Zhiqiang, > > I'd like to hear from Jaehoon before taking an action. I hope that this driver will change to Driver model. Otherwise, there is no objection. For PATCH[1/5]~[2/5], Reviewed-by: Jaehoon Chung Best Regards, Jaehoon Chung > > York > > > ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
+Jaehoon to comment on the driver On 12/09/2016 12:22 AM, Zhiqiang Hou wrote: > From: Hou Zhiqiang> > This patch adds a simple pmic driver for the mc34vr500 pmic which > is used in conjunction with the fsl T1 and LS1 series SoC. > > Signed-off-by: Hou Zhiqiang > --- > drivers/power/pmic/Kconfig | 7 ++ > drivers/power/pmic/Makefile | 1 + > drivers/power/pmic/pmic_mc34vr500.c | 32 +++ > include/power/mc34vr500_pmic.h | 166 > > 4 files changed, 206 insertions(+) > create mode 100644 drivers/power/pmic/pmic_mc34vr500.c > create mode 100644 include/power/mc34vr500_pmic.h > > diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig > index ce204b3..73e1d53 100644 > --- a/drivers/power/pmic/Kconfig > +++ b/drivers/power/pmic/Kconfig > @@ -157,3 +157,10 @@ config PMIC_LP873X > ---help--- > The LP873X is a PMIC containing couple of LDOs and couple of SMPS. > This driver binds the pmic children. > + > +config POWER_MC34VR500 > + bool "Enable driver for Freescale MC34VR500 PMIC" > + ---help--- > + The MC34VR500 is used in conjunction with the FSL T1 and LS1 series > + SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed > + via an I2C interface. > diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile > index cd1c694..58d0241 100644 > --- a/drivers/power/pmic/Makefile > +++ b/drivers/power/pmic/Makefile > @@ -32,3 +32,4 @@ obj-$(CONFIG_POWER_TPS65218) += pmic_tps62362.o > obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o > obj-$(CONFIG_POWER_TPS65910) += pmic_tps65910.o > obj-$(CONFIG_POWER_HI6553) += pmic_hi6553.o > +obj-$(CONFIG_POWER_MC34VR500) += pmic_mc34vr500.o > diff --git a/drivers/power/pmic/pmic_mc34vr500.c > b/drivers/power/pmic/pmic_mc34vr500.c > new file mode 100644 > index 000..db9e210 > --- /dev/null > +++ b/drivers/power/pmic/pmic_mc34vr500.c > @@ -0,0 +1,32 @@ > +/* > + * Copyright 2016 Freescale Semiconductor, Inc. > + * Hou Zhiqiang > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +int power_mc34vr500_init(unsigned char bus) > +{ > + static const char name[] = "MC34VR500"; > + struct pmic *p = pmic_alloc(); > + > + if (!p) { > + printf("%s: POWER allocation error!\n", __func__); > + return -ENOMEM; > + } > + > + p->name = name; > + p->interface = PMIC_I2C; > + p->number_of_regs = MC34VR500_NUM_OF_REGS; > + p->hw.i2c.addr = MC34VR500_I2C_ADDR; > + p->hw.i2c.tx_num = 1; > + p->bus = bus; > + > + return 0; > +} > diff --git a/include/power/mc34vr500_pmic.h b/include/power/mc34vr500_pmic.h > new file mode 100644 > index 000..df4985a > --- /dev/null > +++ b/include/power/mc34vr500_pmic.h > @@ -0,0 +1,166 @@ > +/* > + * Copyright 2016 Freescale Semiconductor, Inc. > + * Hou Zhiqiang > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#ifndef __MC34VR500_H_ > +#define __MC34VR500_H_ > + > +#include > + > +#define MC34VR500_I2C_ADDR 0x08 > + > +/* Drivers name */ > +#define MC34VR500_REGULATOR_DRIVER "mc34vr500_regulator" > + > +/* Register map */ > +enum { > + MC34VR500_DEVICEID = 0x00, > + > + MC34VR500_SILICONREVID = 0x03, > + MC34VR500_FABID, > + MC34VR500_INTSTAT0, > + MC34VR500_INTMASK0, > + MC34VR500_INTSENSE0, > + MC34VR500_INTSTAT1, > + MC34VR500_INTMASK1, > + MC34VR500_INTSENSE1, > + > + MC34VR500_INTSTAT4 = 0x11, > + MC34VR500_INTMASK4, > + MC34VR500_INTSENSE4, > + > + MC34VR500_PWRCTL= 0x1B, > + > + MC34VR500_SW1VOLT = 0x2E, > + MC34VR500_SW1STBY, > + MC34VR500_SW1OFF, > + MC34VR500_SW1MODE, > + MC34VR500_SW1CONF, > + MC34VR500_SW2VOLT, > + MC34VR500_SW2STBY, > + MC34VR500_SW2OFF, > + MC34VR500_SW2MODE, > + MC34VR500_SW2CONF, > + > + MC34VR500_SW3VOLT = 0x3C, > + MC34VR500_SW3STBY, > + MC34VR500_SW3OFF, > + MC34VR500_SW3MODE, > + MC34VR500_SW3CONF, > + > + MC34VR500_SW4VOLT = 0x4A, > + MC34VR500_SW4STBY, > + MC34VR500_SW4OFF, > + MC34VR500_SW4MODE, > + MC34VR500_SW4CONF, > + > + MC34VR500_REFOUTCRTRL = 0x6A, > + > + MC34VR500_LDO1CTL = 0x6D, > + MC34VR500_LDO2CTL, > + MC34VR500_LDO3CTL, > + MC34VR500_LDO4CTL, > + MC34VR500_LDO5CTL, > + > + MC34VR500_PAGE_REGISTER = 0x7F, > + > + /* Internal RAM */ > + MC34VR500_SW1_VOLT = 0xA8, > + MC34VR500_SW1_SEQ, > + MC34VR500_SW1_CONFIG, > + > + MC34VR500_SW2_VOLT = 0xAC, > + MC34VR500_SW2_SEQ, > + MC34VR500_SW2_CONFIG, > + > + MC34VR500_SW3_VOLT = 0xB0, > +
Re: [U-Boot] [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
Hi Simon, Thanks a lot for your comments! > -Original Message- > From: s...@google.com [mailto:s...@google.com] On Behalf Of Simon Glass > Sent: 2016年12月12日 4:28 > To: Z.Q. Hou> Cc: U-Boot Mailing List ; york sun > ; Prabhakar Kushwaha ; > Shengzhou Liu ; Priyanka Jain > ; Mingkai Hu > Subject: Re: [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the > mc34vr500 pmic > > Hi, > > On 9 December 2016 at 03:08, Zhiqiang Hou wrote: > > From: Hou Zhiqiang > > > > This patch adds a simple pmic driver for the mc34vr500 pmic which is > > used in conjunction with the fsl T1 and LS1 series SoC. > > > > Signed-off-by: Hou Zhiqiang > > --- > > drivers/power/pmic/Kconfig | 7 ++ > > drivers/power/pmic/Makefile | 1 + > > drivers/power/pmic/pmic_mc34vr500.c | 32 +++ > > include/power/mc34vr500_pmic.h | 166 > > > 4 files changed, 206 insertions(+) > > create mode 100644 drivers/power/pmic/pmic_mc34vr500.c > > create mode 100644 include/power/mc34vr500_pmic.h > > > > diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig > > index ce204b3..73e1d53 100644 > > --- a/drivers/power/pmic/Kconfig > > +++ b/drivers/power/pmic/Kconfig > > @@ -157,3 +157,10 @@ config PMIC_LP873X > > ---help--- > > The LP873X is a PMIC containing couple of LDOs and couple of > SMPS. > > This driver binds the pmic children. > > + > > +config POWER_MC34VR500 > > + bool "Enable driver for Freescale MC34VR500 PMIC" > > + ---help--- > > + The MC34VR500 is used in conjunction with the FSL T1 and LS1 > series > > + SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is > accessed > > + via an I2C interface. > > diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile > > index cd1c694..58d0241 100644 > > --- a/drivers/power/pmic/Makefile > > +++ b/drivers/power/pmic/Makefile > > @@ -32,3 +32,4 @@ obj-$(CONFIG_POWER_TPS65218) += pmic_tps62362.o > > obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o > > obj-$(CONFIG_POWER_TPS65910) += pmic_tps65910.o > > obj-$(CONFIG_POWER_HI6553) += pmic_hi6553.o > > +obj-$(CONFIG_POWER_MC34VR500) += pmic_mc34vr500.o > > diff --git a/drivers/power/pmic/pmic_mc34vr500.c > > b/drivers/power/pmic/pmic_mc34vr500.c > > new file mode 100644 > > index 000..db9e210 > > --- /dev/null > > +++ b/drivers/power/pmic/pmic_mc34vr500.c > > @@ -0,0 +1,32 @@ > > +/* > > + * Copyright 2016 Freescale Semiconductor, Inc. > > + * Hou Zhiqiang > > + * > > + * SPDX-License-Identifier:GPL-2.0+ > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > + > > +int power_mc34vr500_init(unsigned char bus) { > > + static const char name[] = "MC34VR500"; > > + struct pmic *p = pmic_alloc(); > > We have a driver-model PMIC framework now so can you please convert this > to use that? We should move towards removing the old framework. Yes, I know. Actually, I have written the driver based on driver-model PMIC framework, but it depends on DM_I2C, while the DM_I2C isn't ready on Layerscape SoCs. I will send the DM PMIC based MC34VR500 driver once the DM_I2C ready. Thanks, Zhiqiang ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
Hi, On 9 December 2016 at 03:08, Zhiqiang Houwrote: > From: Hou Zhiqiang > > This patch adds a simple pmic driver for the mc34vr500 pmic which > is used in conjunction with the fsl T1 and LS1 series SoC. > > Signed-off-by: Hou Zhiqiang > --- > drivers/power/pmic/Kconfig | 7 ++ > drivers/power/pmic/Makefile | 1 + > drivers/power/pmic/pmic_mc34vr500.c | 32 +++ > include/power/mc34vr500_pmic.h | 166 > > 4 files changed, 206 insertions(+) > create mode 100644 drivers/power/pmic/pmic_mc34vr500.c > create mode 100644 include/power/mc34vr500_pmic.h > > diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig > index ce204b3..73e1d53 100644 > --- a/drivers/power/pmic/Kconfig > +++ b/drivers/power/pmic/Kconfig > @@ -157,3 +157,10 @@ config PMIC_LP873X > ---help--- > The LP873X is a PMIC containing couple of LDOs and couple of SMPS. > This driver binds the pmic children. > + > +config POWER_MC34VR500 > + bool "Enable driver for Freescale MC34VR500 PMIC" > + ---help--- > + The MC34VR500 is used in conjunction with the FSL T1 and LS1 series > + SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is > accessed > + via an I2C interface. > diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile > index cd1c694..58d0241 100644 > --- a/drivers/power/pmic/Makefile > +++ b/drivers/power/pmic/Makefile > @@ -32,3 +32,4 @@ obj-$(CONFIG_POWER_TPS65218) += pmic_tps62362.o > obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o > obj-$(CONFIG_POWER_TPS65910) += pmic_tps65910.o > obj-$(CONFIG_POWER_HI6553) += pmic_hi6553.o > +obj-$(CONFIG_POWER_MC34VR500) += pmic_mc34vr500.o > diff --git a/drivers/power/pmic/pmic_mc34vr500.c > b/drivers/power/pmic/pmic_mc34vr500.c > new file mode 100644 > index 000..db9e210 > --- /dev/null > +++ b/drivers/power/pmic/pmic_mc34vr500.c > @@ -0,0 +1,32 @@ > +/* > + * Copyright 2016 Freescale Semiconductor, Inc. > + * Hou Zhiqiang > + * > + * SPDX-License-Identifier:GPL-2.0+ > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +int power_mc34vr500_init(unsigned char bus) > +{ > + static const char name[] = "MC34VR500"; > + struct pmic *p = pmic_alloc(); We have a driver-model PMIC framework now so can you please convert this to use that? We should move towards removing the old framework. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
[U-Boot] [PATCH 1/5] pmic: pmic_mc34vr500: Add a driver for the mc34vr500 pmic
From: Hou ZhiqiangThis patch adds a simple pmic driver for the mc34vr500 pmic which is used in conjunction with the fsl T1 and LS1 series SoC. Signed-off-by: Hou Zhiqiang --- drivers/power/pmic/Kconfig | 7 ++ drivers/power/pmic/Makefile | 1 + drivers/power/pmic/pmic_mc34vr500.c | 32 +++ include/power/mc34vr500_pmic.h | 166 4 files changed, 206 insertions(+) create mode 100644 drivers/power/pmic/pmic_mc34vr500.c create mode 100644 include/power/mc34vr500_pmic.h diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig index ce204b3..73e1d53 100644 --- a/drivers/power/pmic/Kconfig +++ b/drivers/power/pmic/Kconfig @@ -157,3 +157,10 @@ config PMIC_LP873X ---help--- The LP873X is a PMIC containing couple of LDOs and couple of SMPS. This driver binds the pmic children. + +config POWER_MC34VR500 + bool "Enable driver for Freescale MC34VR500 PMIC" + ---help--- + The MC34VR500 is used in conjunction with the FSL T1 and LS1 series + SoC. It provides 4 buck DC-DC convertors and 5 LDOs, and it is accessed + via an I2C interface. diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile index cd1c694..58d0241 100644 --- a/drivers/power/pmic/Makefile +++ b/drivers/power/pmic/Makefile @@ -32,3 +32,4 @@ obj-$(CONFIG_POWER_TPS65218) += pmic_tps62362.o obj-$(CONFIG_POWER_TPS65218) += pmic_tps65218.o obj-$(CONFIG_POWER_TPS65910) += pmic_tps65910.o obj-$(CONFIG_POWER_HI6553) += pmic_hi6553.o +obj-$(CONFIG_POWER_MC34VR500) += pmic_mc34vr500.o diff --git a/drivers/power/pmic/pmic_mc34vr500.c b/drivers/power/pmic/pmic_mc34vr500.c new file mode 100644 index 000..db9e210 --- /dev/null +++ b/drivers/power/pmic/pmic_mc34vr500.c @@ -0,0 +1,32 @@ +/* + * Copyright 2016 Freescale Semiconductor, Inc. + * Hou Zhiqiang + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#include +#include +#include +#include +#include + +int power_mc34vr500_init(unsigned char bus) +{ + static const char name[] = "MC34VR500"; + struct pmic *p = pmic_alloc(); + + if (!p) { + printf("%s: POWER allocation error!\n", __func__); + return -ENOMEM; + } + + p->name = name; + p->interface = PMIC_I2C; + p->number_of_regs = MC34VR500_NUM_OF_REGS; + p->hw.i2c.addr = MC34VR500_I2C_ADDR; + p->hw.i2c.tx_num = 1; + p->bus = bus; + + return 0; +} diff --git a/include/power/mc34vr500_pmic.h b/include/power/mc34vr500_pmic.h new file mode 100644 index 000..df4985a --- /dev/null +++ b/include/power/mc34vr500_pmic.h @@ -0,0 +1,166 @@ +/* + * Copyright 2016 Freescale Semiconductor, Inc. + * Hou Zhiqiang + * + * SPDX-License-Identifier:GPL-2.0+ + */ + +#ifndef __MC34VR500_H_ +#define __MC34VR500_H_ + +#include + +#define MC34VR500_I2C_ADDR 0x08 + +/* Drivers name */ +#define MC34VR500_REGULATOR_DRIVER "mc34vr500_regulator" + +/* Register map */ +enum { + MC34VR500_DEVICEID = 0x00, + + MC34VR500_SILICONREVID = 0x03, + MC34VR500_FABID, + MC34VR500_INTSTAT0, + MC34VR500_INTMASK0, + MC34VR500_INTSENSE0, + MC34VR500_INTSTAT1, + MC34VR500_INTMASK1, + MC34VR500_INTSENSE1, + + MC34VR500_INTSTAT4 = 0x11, + MC34VR500_INTMASK4, + MC34VR500_INTSENSE4, + + MC34VR500_PWRCTL= 0x1B, + + MC34VR500_SW1VOLT = 0x2E, + MC34VR500_SW1STBY, + MC34VR500_SW1OFF, + MC34VR500_SW1MODE, + MC34VR500_SW1CONF, + MC34VR500_SW2VOLT, + MC34VR500_SW2STBY, + MC34VR500_SW2OFF, + MC34VR500_SW2MODE, + MC34VR500_SW2CONF, + + MC34VR500_SW3VOLT = 0x3C, + MC34VR500_SW3STBY, + MC34VR500_SW3OFF, + MC34VR500_SW3MODE, + MC34VR500_SW3CONF, + + MC34VR500_SW4VOLT = 0x4A, + MC34VR500_SW4STBY, + MC34VR500_SW4OFF, + MC34VR500_SW4MODE, + MC34VR500_SW4CONF, + + MC34VR500_REFOUTCRTRL = 0x6A, + + MC34VR500_LDO1CTL = 0x6D, + MC34VR500_LDO2CTL, + MC34VR500_LDO3CTL, + MC34VR500_LDO4CTL, + MC34VR500_LDO5CTL, + + MC34VR500_PAGE_REGISTER = 0x7F, + + /* Internal RAM */ + MC34VR500_SW1_VOLT = 0xA8, + MC34VR500_SW1_SEQ, + MC34VR500_SW1_CONFIG, + + MC34VR500_SW2_VOLT = 0xAC, + MC34VR500_SW2_SEQ, + MC34VR500_SW2_CONFIG, + + MC34VR500_SW3_VOLT = 0xB0, + MC34VR500_SW3_SEQ, + MC34VR500_SW3_CONFIG, + + MC34VR500_SW4_VOLT = 0xB8, + MC34VR500_SW4_SEQ, + MC34VR500_SW4_CONFIG, + + MC34VR500_REFOUT_SEQ= 0xC4, + + MC34VR500_LDO1_VOLT = 0xCC, +