* [U-Boot] [PATCH 0/4] ventana: Add LTC3676 PMIC support
@ 2014-04-23 4:53 Tim Harvey
2014-04-23 4:53 ` [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics Tim Harvey
` (3 more replies)
0 siblings, 4 replies; 15+ messages in thread
From: Tim Harvey @ 2014-04-23 4:53 UTC (permalink / raw)
To: u-boot
The Gateworks Ventana boards share much in common, but there are two differing
PMIC's used on them. This patch series adds a new PMIC driver for the LTC3676
and supports them both within the common board support file.
Signed-off-By: Tim Harvey <tharvey@gateworks.com>
Tim Harvey (4):
power: make pfuze100 be able to coexist with other pmics
ventana: use non-generic pfuze100 init
power: Add support for LTC3676 PMIC
ventana: Add support for the LTC3676 PMIC
board/gateworks/gw_ventana/gw_ventana.c | 78 ++++++++++++++++++++++++---------
drivers/power/pmic/Makefile | 1 +
drivers/power/pmic/pmic_ltc3676.c | 32 ++++++++++++++
drivers/power/pmic/pmic_pfuze100.c | 2 +-
include/configs/gw_ventana.h | 2 +
include/power/ltc3676_pmic.h | 51 +++++++++++++++++++++
include/power/pfuze100_pmic.h | 1 +
7 files changed, 145 insertions(+), 22 deletions(-)
create mode 100644 drivers/power/pmic/pmic_ltc3676.c
create mode 100644 include/power/ltc3676_pmic.h
--
1.8.3.2
^ permalink raw reply [flat|nested] 15+ messages in thread* [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics 2014-04-23 4:53 [U-Boot] [PATCH 0/4] ventana: Add LTC3676 PMIC support Tim Harvey @ 2014-04-23 4:53 ` Tim Harvey 2014-04-24 8:03 ` Stefano Babic 2014-05-09 12:44 ` Stefano Babic 2014-04-23 4:53 ` [U-Boot] [PATCH 2/4] ventana: use non-generic pfuze100 init Tim Harvey ` (2 subsequent siblings) 3 siblings, 2 replies; 15+ messages in thread From: Tim Harvey @ 2014-04-23 4:53 UTC (permalink / raw) To: u-boot Avoid uding pmic_init() as this forces the model of only allowing a single PMIC driver to be built at a time. Signed-off-by: Tim Harvey <tharvey@gateworks.com> --- drivers/power/pmic/pmic_pfuze100.c | 2 +- include/power/pfuze100_pmic.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/power/pmic/pmic_pfuze100.c b/drivers/power/pmic/pmic_pfuze100.c index 22c1f15..21f12d2 100644 --- a/drivers/power/pmic/pmic_pfuze100.c +++ b/drivers/power/pmic/pmic_pfuze100.c @@ -11,7 +11,7 @@ #include <power/pmic.h> #include <power/pfuze100_pmic.h> -int pmic_init(unsigned char bus) +int power_pfuze100_init(unsigned char bus) { static const char name[] = "PFUZE100_PMIC"; struct pmic *p = pmic_alloc(); diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h index 2a9032a..444aba6 100644 --- a/include/power/pfuze100_pmic.h +++ b/include/power/pfuze100_pmic.h @@ -93,4 +93,5 @@ enum { #define SWBST_MODE_AUTO (2 << 2) #define SWBST_MODE_APS (2 << 3) +int power_pfuze100_init(unsigned char bus); #endif -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics 2014-04-23 4:53 ` [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics Tim Harvey @ 2014-04-24 8:03 ` Stefano Babic 2014-04-24 8:19 ` Tim Harvey 2014-05-09 12:44 ` Stefano Babic 1 sibling, 1 reply; 15+ messages in thread From: Stefano Babic @ 2014-04-24 8:03 UTC (permalink / raw) To: u-boot Hi Tim, On 23/04/2014 06:53, Tim Harvey wrote: > Avoid uding pmic_init() as this forces the model of only allowing a > single PMIC driver to be built at a time. > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- > drivers/power/pmic/pmic_pfuze100.c | 2 +- > include/power/pfuze100_pmic.h | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/power/pmic/pmic_pfuze100.c b/drivers/power/pmic/pmic_pfuze100.c > index 22c1f15..21f12d2 100644 > --- a/drivers/power/pmic/pmic_pfuze100.c > +++ b/drivers/power/pmic/pmic_pfuze100.c > @@ -11,7 +11,7 @@ > #include <power/pmic.h> > #include <power/pfuze100_pmic.h> > > -int pmic_init(unsigned char bus) > +int power_pfuze100_init(unsigned char bus) > { > static const char name[] = "PFUZE100_PMIC"; > struct pmic *p = pmic_alloc(); > diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h > index 2a9032a..444aba6 100644 > --- a/include/power/pfuze100_pmic.h > +++ b/include/power/pfuze100_pmic.h > @@ -93,4 +93,5 @@ enum { > #define SWBST_MODE_AUTO (2 << 2) > #define SWBST_MODE_APS (2 << 3) > > +int power_pfuze100_init(unsigned char bus); This is a change in the PMIC framework API and must be documented. Currently, we support multiple instances of the same PMIC, but not different PMIC on the same board. We could add a CONFIG_MULTIPLE_PMIC, that must be added to the documentation, and each driver will define pmic_init() if it is not define: #ifndef CONFIG_MULTIPLE_PMIC #define pmic_init power_pfuze100_init #endif 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-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics 2014-04-24 8:03 ` Stefano Babic @ 2014-04-24 8:19 ` Tim Harvey 2014-04-24 8:30 ` Stefano Babic 0 siblings, 1 reply; 15+ messages in thread From: Tim Harvey @ 2014-04-24 8:19 UTC (permalink / raw) To: u-boot On Thu, Apr 24, 2014 at 1:03 AM, Stefano Babic <sbabic@denx.de> wrote: > Hi Tim, > > On 23/04/2014 06:53, Tim Harvey wrote: >> Avoid uding pmic_init() as this forces the model of only allowing a >> single PMIC driver to be built at a time. >> >> Signed-off-by: Tim Harvey <tharvey@gateworks.com> >> --- >> drivers/power/pmic/pmic_pfuze100.c | 2 +- >> include/power/pfuze100_pmic.h | 1 + >> 2 files changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/power/pmic/pmic_pfuze100.c b/drivers/power/pmic/pmic_pfuze100.c >> index 22c1f15..21f12d2 100644 >> --- a/drivers/power/pmic/pmic_pfuze100.c >> +++ b/drivers/power/pmic/pmic_pfuze100.c >> @@ -11,7 +11,7 @@ >> #include <power/pmic.h> >> #include <power/pfuze100_pmic.h> >> >> -int pmic_init(unsigned char bus) >> +int power_pfuze100_init(unsigned char bus) >> { >> static const char name[] = "PFUZE100_PMIC"; >> struct pmic *p = pmic_alloc(); >> diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h >> index 2a9032a..444aba6 100644 >> --- a/include/power/pfuze100_pmic.h >> +++ b/include/power/pfuze100_pmic.h >> @@ -93,4 +93,5 @@ enum { >> #define SWBST_MODE_AUTO (2 << 2) >> #define SWBST_MODE_APS (2 << 3) >> >> +int power_pfuze100_init(unsigned char bus); > > This is a change in the PMIC framework API and must be documented. > > Currently, we support multiple instances of the same PMIC, but not > different PMIC on the same board. > Stefano, Hmm... I see several pmic's that use their own namespace for init: grep init include/power/*.h shows a few (power_bat_init, power_fg_init, power_muic_init, pmic_init_max77693). And if you look at trats.c or trats2.c boards you will see how they call several of them. Granted, both of those do also call a generic pmic_init() thats implemented by pmic_max77686 'or' pmic_max8977. So in the case of those two boards, they have several pmic's, one that uses the generic pmic_init() namespace, and 2 others that use their own unique namespace. Regards, Tim > We could add a CONFIG_MULTIPLE_PMIC, that must be added to the > documentation, and each driver will define pmic_init() if it is not define: > > #ifndef CONFIG_MULTIPLE_PMIC > #define pmic_init power_pfuze100_init > #endif > > Best regards, > Stefano Babic > ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics 2014-04-24 8:19 ` Tim Harvey @ 2014-04-24 8:30 ` Stefano Babic 0 siblings, 0 replies; 15+ messages in thread From: Stefano Babic @ 2014-04-24 8:30 UTC (permalink / raw) To: u-boot Hi Tim, On 24/04/2014 10:19, Tim Harvey wrote: >> >> This is a change in the PMIC framework API and must be documented. >> >> Currently, we support multiple instances of the same PMIC, but not >> different PMIC on the same board. >> > > Stefano, > > Hmm... I see several pmic's that use their own namespace for init: > > grep init include/power/*.h shows a few (power_bat_init, > power_fg_init, power_muic_init, pmic_init_max77693). And if you look > at trats.c or trats2.c boards you will see how they call several of > them. Thanks for pointing it out, I have missed them. > Granted, both of those do also call a generic pmic_init() thats > implemented by pmic_max77686 'or' pmic_max8977. So in the case of > those two boards, they have several pmic's, one that uses the generic > pmic_init() namespace, and 2 others that use their own unique > namespace. I see. Please drop my comment. Best regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics 2014-04-23 4:53 ` [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics Tim Harvey 2014-04-24 8:03 ` Stefano Babic @ 2014-05-09 12:44 ` Stefano Babic 1 sibling, 0 replies; 15+ messages in thread From: Stefano Babic @ 2014-05-09 12:44 UTC (permalink / raw) To: u-boot On 23/04/2014 06:53, Tim Harvey wrote: > Avoid uding pmic_init() as this forces the model of only allowing a > single PMIC driver to be built at a time. > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- > drivers/power/pmic/pmic_pfuze100.c | 2 +- > include/power/pfuze100_pmic.h | 1 + > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/power/pmic/pmic_pfuze100.c b/drivers/power/pmic/pmic_pfuze100.c > index 22c1f15..21f12d2 100644 > --- a/drivers/power/pmic/pmic_pfuze100.c > +++ b/drivers/power/pmic/pmic_pfuze100.c > @@ -11,7 +11,7 @@ > #include <power/pmic.h> > #include <power/pfuze100_pmic.h> > > -int pmic_init(unsigned char bus) > +int power_pfuze100_init(unsigned char bus) > { > static const char name[] = "PFUZE100_PMIC"; > struct pmic *p = pmic_alloc(); > diff --git a/include/power/pfuze100_pmic.h b/include/power/pfuze100_pmic.h > index 2a9032a..444aba6 100644 > --- a/include/power/pfuze100_pmic.h > +++ b/include/power/pfuze100_pmic.h > @@ -93,4 +93,5 @@ enum { > #define SWBST_MODE_AUTO (2 << 2) > #define SWBST_MODE_APS (2 << 3) > > +int power_pfuze100_init(unsigned char bus); > #endif > Applied to u-boot-imx, thanks ! 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-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 2/4] ventana: use non-generic pfuze100 init 2014-04-23 4:53 [U-Boot] [PATCH 0/4] ventana: Add LTC3676 PMIC support Tim Harvey 2014-04-23 4:53 ` [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics Tim Harvey @ 2014-04-23 4:53 ` Tim Harvey 2014-05-09 12:44 ` Stefano Babic 2014-04-23 4:53 ` [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC Tim Harvey 2014-04-23 4:53 ` [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the " Tim Harvey 3 siblings, 1 reply; 15+ messages in thread From: Tim Harvey @ 2014-04-23 4:53 UTC (permalink / raw) To: u-boot Signed-off-by: Tim Harvey <tharvey@gateworks.com> --- board/gateworks/gw_ventana/gw_ventana.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c index c130e2c..48e90e0 100644 --- a/board/gateworks/gw_ventana/gw_ventana.c +++ b/board/gateworks/gw_ventana/gw_ventana.c @@ -1077,10 +1077,11 @@ int misc_init_r(void) } /* configure PFUZE100 PMIC (not used on all Ventana baseboards) */ - if ((board_type == GW54xx || board_type == GW54proto) && - !pmic_init(I2C_PMIC)) { + power_pfuze100_init(I2C_PMIC); + if (board_type == GW54xx || board_type == GW54proto) { struct pmic *p = pmic_get("PFUZE100_PMIC"); u32 reg; + if (p && !pmic_probe(p)) { pmic_reg_read(p, PFUZE100_DEVICEID, ®); printf("PMIC: PFUZE100 ID=0x%02x\n", reg); -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 2/4] ventana: use non-generic pfuze100 init 2014-04-23 4:53 ` [U-Boot] [PATCH 2/4] ventana: use non-generic pfuze100 init Tim Harvey @ 2014-05-09 12:44 ` Stefano Babic 0 siblings, 0 replies; 15+ messages in thread From: Stefano Babic @ 2014-05-09 12:44 UTC (permalink / raw) To: u-boot On 23/04/2014 06:53, Tim Harvey wrote: > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- > board/gateworks/gw_ventana/gw_ventana.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c > index c130e2c..48e90e0 100644 > --- a/board/gateworks/gw_ventana/gw_ventana.c > +++ b/board/gateworks/gw_ventana/gw_ventana.c > @@ -1077,10 +1077,11 @@ int misc_init_r(void) > } > > /* configure PFUZE100 PMIC (not used on all Ventana baseboards) */ > - if ((board_type == GW54xx || board_type == GW54proto) && > - !pmic_init(I2C_PMIC)) { > + power_pfuze100_init(I2C_PMIC); > + if (board_type == GW54xx || board_type == GW54proto) { > struct pmic *p = pmic_get("PFUZE100_PMIC"); > u32 reg; > + > if (p && !pmic_probe(p)) { > pmic_reg_read(p, PFUZE100_DEVICEID, ®); > printf("PMIC: PFUZE100 ID=0x%02x\n", reg); > Applied to u-boot-imx, thanks ! 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-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC 2014-04-23 4:53 [U-Boot] [PATCH 0/4] ventana: Add LTC3676 PMIC support Tim Harvey 2014-04-23 4:53 ` [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics Tim Harvey 2014-04-23 4:53 ` [U-Boot] [PATCH 2/4] ventana: use non-generic pfuze100 init Tim Harvey @ 2014-04-23 4:53 ` Tim Harvey 2014-04-24 8:05 ` Stefano Babic 2014-05-09 12:43 ` Stefano Babic 2014-04-23 4:53 ` [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the " Tim Harvey 3 siblings, 2 replies; 15+ messages in thread From: Tim Harvey @ 2014-04-23 4:53 UTC (permalink / raw) To: u-boot The LTC3676 PMIC includes four DC/DC converters, and three 300mA LDO Regulators (two Adjustable). The DC/DC converters are adjustable based on a resistor devider (board-specific). This adds support for the LTC3676 by creating a namespace unique init function that uses the PMIC API to allocate a pmic and defines the registers. Signed-off-by: Tim Harvey <tharvey@gateworks.com> --- drivers/power/pmic/Makefile | 1 + drivers/power/pmic/pmic_ltc3676.c | 32 ++++++++++++++++++++++++ include/power/ltc3676_pmic.h | 51 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 drivers/power/pmic/pmic_ltc3676.c create mode 100644 include/power/ltc3676_pmic.h diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile index 4129bda..920bbdc 100644 --- a/drivers/power/pmic/Makefile +++ b/drivers/power/pmic/Makefile @@ -5,6 +5,7 @@ # SPDX-License-Identifier: GPL-2.0+ # +obj-$(CONFIG_POWER_LTC3676) += pmic_ltc3676.o obj-$(CONFIG_POWER_MAX8998) += pmic_max8998.o obj-$(CONFIG_POWER_MAX8997) += pmic_max8997.o obj-$(CONFIG_POWER_MUIC_MAX8997) += muic_max8997.o diff --git a/drivers/power/pmic/pmic_ltc3676.c b/drivers/power/pmic/pmic_ltc3676.c new file mode 100644 index 0000000..9b874cb --- /dev/null +++ b/drivers/power/pmic/pmic_ltc3676.c @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2014 Gateworks Corporation + * Tim Harvey <tharvey@gateworks.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <errno.h> +#include <i2c.h> +#include <power/pmic.h> +#include <power/ltc3676_pmic.h> + +int power_ltc3676_init(unsigned char bus) +{ + static const char name[] = "LTC3676_PMIC"; + 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 = LTC3676_NUM_OF_REGS; + p->hw.i2c.addr = CONFIG_POWER_LTC3676_I2C_ADDR; + p->hw.i2c.tx_num = 1; + p->bus = bus; + + return 0; +} diff --git a/include/power/ltc3676_pmic.h b/include/power/ltc3676_pmic.h new file mode 100644 index 0000000..dcaa985 --- /dev/null +++ b/include/power/ltc3676_pmic.h @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2014 Gateworks Corporation + * Tim Harvey <tharvey@gateworks.com> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __LTC3676_PMIC_H_ +#define __LTC3676_PMIC_H_ + +/* LTC3676 registers */ +enum { + LTC3676_BUCK1 = 0x01, + LTC3676_BUCK2 = 0x02, + LTC3676_BUCK3 = 0x03, + LTC3676_BUCK4 = 0x04, + LTC3676_LDOA = 0x05, + LTC3676_LDOB = 0x06, + LTC3676_SQD1 = 0x07, + LTC3676_SQD2 = 0x08, + LTC3676_CNTRL = 0x09, + LTC3676_DVB1A = 0x0A, + LTC3676_DVB1B = 0x0B, + LTC3676_DVB2A = 0x0C, + LTC3676_DVB2B = 0x0D, + LTC3676_DVB3A = 0x0E, + LTC3676_DVB3B = 0x0F, + LTC3676_DVB4A = 0x10, + LTC3676_DVB4B = 0x11, + LTC3676_MSKIRQ = 0x12, + LTC3676_MSKPG = 0x13, + LTC3676_USER = 0x14, + LTC3676_HRST = 0x1E, + LTC3676_CLIRQ = 0x1F, + LTC3676_IRQSTAT = 0x15, + LTC3676_PGSTATL = 0x16, + LTC3676_PGSTATR = 0x17, + LTC3676_NUM_OF_REGS = 0x20, +}; + +/* + * SW Configuration + */ + +#define LTC3676_DVB_MASK 0x1f +#define LTC3676_PGOOD_MASK (1<<5) +#define LTC3676_REF_SELA (0<<5) +#define LTC3676_REF_SELB (1<<5) + +int power_ltc3676_init(unsigned char bus); +#endif -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC 2014-04-23 4:53 ` [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC Tim Harvey @ 2014-04-24 8:05 ` Stefano Babic 2014-05-09 12:43 ` Stefano Babic 1 sibling, 0 replies; 15+ messages in thread From: Stefano Babic @ 2014-04-24 8:05 UTC (permalink / raw) To: u-boot Hi Tim, On 23/04/2014 06:53, Tim Harvey wrote: > The LTC3676 PMIC includes four DC/DC converters, and three 300mA > LDO Regulators (two Adjustable). The DC/DC converters are adjustable based > on a resistor devider (board-specific). > > This adds support for the LTC3676 by creating a namespace unique init function > that uses the PMIC API to allocate a pmic and defines the registers. > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- > drivers/power/pmic/Makefile | 1 + > drivers/power/pmic/pmic_ltc3676.c | 32 ++++++++++++++++++++++++ > include/power/ltc3676_pmic.h | 51 +++++++++++++++++++++++++++++++++++++++ > 3 files changed, 84 insertions(+) > create mode 100644 drivers/power/pmic/pmic_ltc3676.c > create mode 100644 include/power/ltc3676_pmic.h > > diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile > index 4129bda..920bbdc 100644 > --- a/drivers/power/pmic/Makefile > +++ b/drivers/power/pmic/Makefile > @@ -5,6 +5,7 @@ > # SPDX-License-Identifier: GPL-2.0+ > # > > +obj-$(CONFIG_POWER_LTC3676) += pmic_ltc3676.o > obj-$(CONFIG_POWER_MAX8998) += pmic_max8998.o > obj-$(CONFIG_POWER_MAX8997) += pmic_max8997.o > obj-$(CONFIG_POWER_MUIC_MAX8997) += muic_max8997.o > diff --git a/drivers/power/pmic/pmic_ltc3676.c b/drivers/power/pmic/pmic_ltc3676.c > new file mode 100644 > index 0000000..9b874cb > --- /dev/null > +++ b/drivers/power/pmic/pmic_ltc3676.c > @@ -0,0 +1,32 @@ > +/* > + * Copyright (C) 2014 Gateworks Corporation > + * Tim Harvey <tharvey@gateworks.com> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include <common.h> > +#include <errno.h> > +#include <i2c.h> > +#include <power/pmic.h> > +#include <power/ltc3676_pmic.h> > + > +int power_ltc3676_init(unsigned char bus) > +{ > + static const char name[] = "LTC3676_PMIC"; > + 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 = LTC3676_NUM_OF_REGS; > + p->hw.i2c.addr = CONFIG_POWER_LTC3676_I2C_ADDR; > + p->hw.i2c.tx_num = 1; > + p->bus = bus; > + > + return 0; > +} > diff --git a/include/power/ltc3676_pmic.h b/include/power/ltc3676_pmic.h > new file mode 100644 > index 0000000..dcaa985 > --- /dev/null > +++ b/include/power/ltc3676_pmic.h > @@ -0,0 +1,51 @@ > +/* > + * Copyright (C) 2014 Gateworks Corporation > + * Tim Harvey <tharvey@gateworks.com> > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#ifndef __LTC3676_PMIC_H_ > +#define __LTC3676_PMIC_H_ > + > +/* LTC3676 registers */ > +enum { > + LTC3676_BUCK1 = 0x01, > + LTC3676_BUCK2 = 0x02, > + LTC3676_BUCK3 = 0x03, > + LTC3676_BUCK4 = 0x04, > + LTC3676_LDOA = 0x05, > + LTC3676_LDOB = 0x06, > + LTC3676_SQD1 = 0x07, > + LTC3676_SQD2 = 0x08, > + LTC3676_CNTRL = 0x09, > + LTC3676_DVB1A = 0x0A, > + LTC3676_DVB1B = 0x0B, > + LTC3676_DVB2A = 0x0C, > + LTC3676_DVB2B = 0x0D, > + LTC3676_DVB3A = 0x0E, > + LTC3676_DVB3B = 0x0F, > + LTC3676_DVB4A = 0x10, > + LTC3676_DVB4B = 0x11, > + LTC3676_MSKIRQ = 0x12, > + LTC3676_MSKPG = 0x13, > + LTC3676_USER = 0x14, > + LTC3676_HRST = 0x1E, > + LTC3676_CLIRQ = 0x1F, > + LTC3676_IRQSTAT = 0x15, > + LTC3676_PGSTATL = 0x16, > + LTC3676_PGSTATR = 0x17, > + LTC3676_NUM_OF_REGS = 0x20, > +}; > + > +/* > + * SW Configuration > + */ > + > +#define LTC3676_DVB_MASK 0x1f > +#define LTC3676_PGOOD_MASK (1<<5) > +#define LTC3676_REF_SELA (0<<5) > +#define LTC3676_REF_SELB (1<<5) > + > +int power_ltc3676_init(unsigned char bus); > +#endif > Acked-by: Stefano Babic <sbabic@denx.de> 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-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC 2014-04-23 4:53 ` [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC Tim Harvey 2014-04-24 8:05 ` Stefano Babic @ 2014-05-09 12:43 ` Stefano Babic 1 sibling, 0 replies; 15+ messages in thread From: Stefano Babic @ 2014-05-09 12:43 UTC (permalink / raw) To: u-boot Hi Tim, On 23/04/2014 06:53, Tim Harvey wrote: > The LTC3676 PMIC includes four DC/DC converters, and three 300mA > LDO Regulators (two Adjustable). The DC/DC converters are adjustable based > on a resistor devider (board-specific). > > This adds support for the LTC3676 by creating a namespace unique init function > that uses the PMIC API to allocate a pmic and defines the registers. > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- Applied to u-boot-imx, thanks ! 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-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the LTC3676 PMIC 2014-04-23 4:53 [U-Boot] [PATCH 0/4] ventana: Add LTC3676 PMIC support Tim Harvey ` (2 preceding siblings ...) 2014-04-23 4:53 ` [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC Tim Harvey @ 2014-04-23 4:53 ` Tim Harvey 2014-04-24 8:08 ` Stefano Babic 3 siblings, 1 reply; 15+ messages in thread From: Tim Harvey @ 2014-04-23 4:53 UTC (permalink / raw) To: u-boot The LTC3676 PMIC is used instead of the PFUZE100 PMIC on the GW51xx/GW52xx/GW53xx Ventana baseboards. In order to support the IMX6Q SoC at 1GHz on those baseboards, we need to adjust the voltage scaling for the SW1 and SW3 DC/DC converters on the LTC3676 for 1225mV. Note that the scalar values for the LTC3676 are board-specific as they relate to a resistor devider chosen by the board design. Signed-off-by: Tim Harvey <tharvey@gateworks.com> --- board/gateworks/gw_ventana/gw_ventana.c | 79 ++++++++++++++++++++++++--------- include/configs/gw_ventana.h | 2 + 2 files changed, 59 insertions(+), 22 deletions(-) diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c index 48e90e0..29fcebe 100644 --- a/board/gateworks/gw_ventana/gw_ventana.c +++ b/board/gateworks/gw_ventana/gw_ventana.c @@ -30,6 +30,7 @@ #include <mtd_node.h> #include <netdev.h> #include <power/pmic.h> +#include <power/ltc3676_pmic.h> #include <power/pfuze100_pmic.h> #include <i2c.h> #include <fdt_support.h> @@ -733,6 +734,60 @@ struct ventana gpio_cfg[] = { }, }; +/* setup board specific PMIC */ +static void setup_board_pmic(int board) +{ + struct pmic *p; + u32 reg; + + /* configure PFUZE100 PMIC */ + if (board_type == GW54xx || board_type == GW54proto) { + power_pfuze100_init(I2C_PMIC); + p = pmic_get("PFUZE100_PMIC"); + if (p && !pmic_probe(p)) { + pmic_reg_read(p, PFUZE100_DEVICEID, ®); + printf("PMIC: PFUZE100 ID=0x%02x\n", reg); + + /* Set VGEN1 to 1.5V and enable */ + pmic_reg_read(p, PFUZE100_VGEN1VOL, ®); + reg &= ~(LDO_VOL_MASK); + reg |= (LDOA_1_50V | LDO_EN); + pmic_reg_write(p, PFUZE100_VGEN1VOL, reg); + + /* Set SWBST to 5.0V and enable */ + pmic_reg_read(p, PFUZE100_SWBSTCON1, ®); + reg &= ~(SWBST_MODE_MASK | SWBST_VOL_MASK); + reg |= (SWBST_5_00V | SWBST_MODE_AUTO); + pmic_reg_write(p, PFUZE100_SWBSTCON1, reg); + } + } + + /* configure LTC3676 PMIC */ + else { + power_ltc3676_init(I2C_PMIC); + p = pmic_get("LTC3676_PMIC"); + if (p && !pmic_probe(p)) { + puts("PMIC: LTC3676\n"); + /* set board-specific scalar to 1225mV for IMX6Q at 1GHz */ + if (is_cpu_type(MXC_CPU_MX6Q)) { + /* mask PGOOD during SW1 transition */ + reg = 0x1d | LTC3676_PGOOD_MASK; + pmic_reg_write(p, LTC3676_DVB1B, reg); + /* set SW1 (VDD_SOC) to 1259mV */ + reg = 0x1d; + pmic_reg_write(p, LTC3676_DVB1A, reg); + + /* mask PGOOD during SW3 transition */ + reg = 0x1d | LTC3676_PGOOD_MASK; + pmic_reg_write(p, LTC3676_DVB3B, reg); + /*set SW3 (VDD_ARM) to 1259mV */ + reg = 0x1d; + pmic_reg_write(p, LTC3676_DVB3A, reg); + } + } + } +} + /* setup GPIO pinmux and default configuration per baseboard */ static void setup_board_gpio(int board) { @@ -1076,29 +1131,9 @@ int misc_init_r(void) setenv("serial#", str); } - /* configure PFUZE100 PMIC (not used on all Ventana baseboards) */ - power_pfuze100_init(I2C_PMIC); - if (board_type == GW54xx || board_type == GW54proto) { - struct pmic *p = pmic_get("PFUZE100_PMIC"); - u32 reg; - - if (p && !pmic_probe(p)) { - pmic_reg_read(p, PFUZE100_DEVICEID, ®); - printf("PMIC: PFUZE100 ID=0x%02x\n", reg); - - /* Set VGEN1 to 1.5V and enable */ - pmic_reg_read(p, PFUZE100_VGEN1VOL, ®); - reg &= ~(LDO_VOL_MASK); - reg |= (LDOA_1_50V | LDO_EN); - pmic_reg_write(p, PFUZE100_VGEN1VOL, reg); - /* Set SWBST to 5.0V and enable */ - pmic_reg_read(p, PFUZE100_SWBSTCON1, ®); - reg &= ~(SWBST_MODE_MASK | SWBST_VOL_MASK); - reg |= (SWBST_5_00V | SWBST_MODE_AUTO); - pmic_reg_write(p, PFUZE100_SWBSTCON1, reg); - } - } + /* setup pmic */ + setup_board_pmic(board_type); /* setup baseboard specific GPIO pinmux and config */ setup_board_gpio(board_type); diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 3398390..b984f27 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -136,6 +136,8 @@ #define CONFIG_POWER_I2C #define CONFIG_POWER_PFUZE100 #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 +#define CONFIG_POWER_LTC3676 +#define CONFIG_POWER_LTC3676_I2C_ADDR 0x3c /* Various command support */ #include <config_cmd_default.h> -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the LTC3676 PMIC 2014-04-23 4:53 ` [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the " Tim Harvey @ 2014-04-24 8:08 ` Stefano Babic 2014-05-05 15:22 ` Tim Harvey 0 siblings, 1 reply; 15+ messages in thread From: Stefano Babic @ 2014-04-24 8:08 UTC (permalink / raw) To: u-boot On 23/04/2014 06:53, Tim Harvey wrote: > The LTC3676 PMIC is used instead of the PFUZE100 PMIC on the > GW51xx/GW52xx/GW53xx Ventana baseboards. In order to support the IMX6Q SoC > at 1GHz on those baseboards, we need to adjust the voltage scaling for the SW1 > and SW3 DC/DC converters on the LTC3676 for 1225mV. Note that the scalar > values for the LTC3676 are board-specific as they relate to a resistor devider > chosen by the board design. > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- > board/gateworks/gw_ventana/gw_ventana.c | 79 ++++++++++++++++++++++++--------- > include/configs/gw_ventana.h | 2 + > 2 files changed, 59 insertions(+), 22 deletions(-) > > diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c > index 48e90e0..29fcebe 100644 > --- a/board/gateworks/gw_ventana/gw_ventana.c > +++ b/board/gateworks/gw_ventana/gw_ventana.c > @@ -30,6 +30,7 @@ > #include <mtd_node.h> > #include <netdev.h> > #include <power/pmic.h> > +#include <power/ltc3676_pmic.h> > #include <power/pfuze100_pmic.h> > #include <i2c.h> > #include <fdt_support.h> > @@ -733,6 +734,60 @@ struct ventana gpio_cfg[] = { > }, > }; > > +/* setup board specific PMIC */ > +static void setup_board_pmic(int board) > +{ > + struct pmic *p; > + u32 reg; > + > + /* configure PFUZE100 PMIC */ > + if (board_type == GW54xx || board_type == GW54proto) { > + power_pfuze100_init(I2C_PMIC); > + p = pmic_get("PFUZE100_PMIC"); > + if (p && !pmic_probe(p)) { > + pmic_reg_read(p, PFUZE100_DEVICEID, ®); > + printf("PMIC: PFUZE100 ID=0x%02x\n", reg); > + > + /* Set VGEN1 to 1.5V and enable */ > + pmic_reg_read(p, PFUZE100_VGEN1VOL, ®); > + reg &= ~(LDO_VOL_MASK); > + reg |= (LDOA_1_50V | LDO_EN); > + pmic_reg_write(p, PFUZE100_VGEN1VOL, reg); > + > + /* Set SWBST to 5.0V and enable */ > + pmic_reg_read(p, PFUZE100_SWBSTCON1, ®); > + reg &= ~(SWBST_MODE_MASK | SWBST_VOL_MASK); > + reg |= (SWBST_5_00V | SWBST_MODE_AUTO); > + pmic_reg_write(p, PFUZE100_SWBSTCON1, reg); > + } > + } > + > + /* configure LTC3676 PMIC */ > + else { > + power_ltc3676_init(I2C_PMIC); > + p = pmic_get("LTC3676_PMIC"); > + if (p && !pmic_probe(p)) { > + puts("PMIC: LTC3676\n"); > + /* set board-specific scalar to 1225mV for IMX6Q at 1GHz */ > + if (is_cpu_type(MXC_CPU_MX6Q)) { > + /* mask PGOOD during SW1 transition */ > + reg = 0x1d | LTC3676_PGOOD_MASK; > + pmic_reg_write(p, LTC3676_DVB1B, reg); > + /* set SW1 (VDD_SOC) to 1259mV */ > + reg = 0x1d; > + pmic_reg_write(p, LTC3676_DVB1A, reg); > + > + /* mask PGOOD during SW3 transition */ > + reg = 0x1d | LTC3676_PGOOD_MASK; > + pmic_reg_write(p, LTC3676_DVB3B, reg); > + /*set SW3 (VDD_ARM) to 1259mV */ > + reg = 0x1d; > + pmic_reg_write(p, LTC3676_DVB3A, reg); > + } > + } > + } > +} There is already a power_init_board(), defined as __weak, that you can use here. > + > /* setup GPIO pinmux and default configuration per baseboard */ > static void setup_board_gpio(int board) > { > @@ -1076,29 +1131,9 @@ int misc_init_r(void) > setenv("serial#", str); > } > > - /* configure PFUZE100 PMIC (not used on all Ventana baseboards) */ > - power_pfuze100_init(I2C_PMIC); > - if (board_type == GW54xx || board_type == GW54proto) { > - struct pmic *p = pmic_get("PFUZE100_PMIC"); > - u32 reg; > - > - if (p && !pmic_probe(p)) { > - pmic_reg_read(p, PFUZE100_DEVICEID, ®); > - printf("PMIC: PFUZE100 ID=0x%02x\n", reg); > - > - /* Set VGEN1 to 1.5V and enable */ > - pmic_reg_read(p, PFUZE100_VGEN1VOL, ®); > - reg &= ~(LDO_VOL_MASK); > - reg |= (LDOA_1_50V | LDO_EN); > - pmic_reg_write(p, PFUZE100_VGEN1VOL, reg); > > - /* Set SWBST to 5.0V and enable */ > - pmic_reg_read(p, PFUZE100_SWBSTCON1, ®); > - reg &= ~(SWBST_MODE_MASK | SWBST_VOL_MASK); > - reg |= (SWBST_5_00V | SWBST_MODE_AUTO); > - pmic_reg_write(p, PFUZE100_SWBSTCON1, reg); > - } > - } > + /* setup pmic */ > + setup_board_pmic(board_type); > > /* setup baseboard specific GPIO pinmux and config */ > setup_board_gpio(board_type); > diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h > index 3398390..b984f27 100644 > --- a/include/configs/gw_ventana.h > +++ b/include/configs/gw_ventana.h > @@ -136,6 +136,8 @@ > #define CONFIG_POWER_I2C > #define CONFIG_POWER_PFUZE100 > #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 > +#define CONFIG_POWER_LTC3676 > +#define CONFIG_POWER_LTC3676_I2C_ADDR 0x3c > > /* Various command support */ > #include <config_cmd_default.h> > 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-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the LTC3676 PMIC 2014-04-24 8:08 ` Stefano Babic @ 2014-05-05 15:22 ` Tim Harvey 2014-05-09 12:42 ` Stefano Babic 0 siblings, 1 reply; 15+ messages in thread From: Tim Harvey @ 2014-05-05 15:22 UTC (permalink / raw) To: u-boot The LTC3676 PMIC is used instead of the PFUZE100 PMIC on the GW51xx/GW52xx/GW53xx Ventana baseboards. In order to support the IMX6Q SoC at 1GHz on those baseboards, we need to adjust the voltage scaling for the SW1 and SW3 DC/DC converters on the LTC3676 for 1225mV. Note that the scalar values for the LTC3676 are board-specific as they relate to a resistor devider chosen by the board design. Signed-off-by: Tim Harvey <tharvey@gateworks.com> --- board/gateworks/gw_ventana/gw_ventana.c | 78 +++++++++++++++++++++++---------- include/configs/gw_ventana.h | 2 + 2 files changed, 57 insertions(+), 23 deletions(-) diff --git a/board/gateworks/gw_ventana/gw_ventana.c b/board/gateworks/gw_ventana/gw_ventana.c index 48e90e0..cf42fcf 100644 --- a/board/gateworks/gw_ventana/gw_ventana.c +++ b/board/gateworks/gw_ventana/gw_ventana.c @@ -30,6 +30,7 @@ #include <mtd_node.h> #include <netdev.h> #include <power/pmic.h> +#include <power/ltc3676_pmic.h> #include <power/pfuze100_pmic.h> #include <i2c.h> #include <fdt_support.h> @@ -733,6 +734,60 @@ struct ventana gpio_cfg[] = { }, }; +/* setup board specific PMIC */ +int power_init_board(void) +{ + struct pmic *p; + u32 reg; + + /* configure PFUZE100 PMIC */ + if (board_type == GW54xx || board_type == GW54proto) { + power_pfuze100_init(I2C_PMIC); + p = pmic_get("PFUZE100_PMIC"); + if (p && !pmic_probe(p)) { + pmic_reg_read(p, PFUZE100_DEVICEID, ®); + printf("PMIC: PFUZE100 ID=0x%02x\n", reg); + + /* Set VGEN1 to 1.5V and enable */ + pmic_reg_read(p, PFUZE100_VGEN1VOL, ®); + reg &= ~(LDO_VOL_MASK); + reg |= (LDOA_1_50V | LDO_EN); + pmic_reg_write(p, PFUZE100_VGEN1VOL, reg); + + /* Set SWBST to 5.0V and enable */ + pmic_reg_read(p, PFUZE100_SWBSTCON1, ®); + reg &= ~(SWBST_MODE_MASK | SWBST_VOL_MASK); + reg |= (SWBST_5_00V | SWBST_MODE_AUTO); + pmic_reg_write(p, PFUZE100_SWBSTCON1, reg); + } + } + + /* configure LTC3676 PMIC */ + else { + power_ltc3676_init(I2C_PMIC); + p = pmic_get("LTC3676_PMIC"); + if (p && !pmic_probe(p)) { + puts("PMIC: LTC3676\n"); + /* set board-specific scalar to 1225mV for IMX6Q at 1GHz */ + if (is_cpu_type(MXC_CPU_MX6Q)) { + /* mask PGOOD during SW1 transition */ + reg = 0x1d | LTC3676_PGOOD_MASK; + pmic_reg_write(p, LTC3676_DVB1B, reg); + /* set SW1 (VDD_SOC) to 1259mV */ + reg = 0x1d; + pmic_reg_write(p, LTC3676_DVB1A, reg); + + /* mask PGOOD during SW3 transition */ + reg = 0x1d | LTC3676_PGOOD_MASK; + pmic_reg_write(p, LTC3676_DVB3B, reg); + /*set SW3 (VDD_ARM) to 1259mV */ + reg = 0x1d; + pmic_reg_write(p, LTC3676_DVB3A, reg); + } + } + } +} + /* setup GPIO pinmux and default configuration per baseboard */ static void setup_board_gpio(int board) { @@ -1076,29 +1131,6 @@ int misc_init_r(void) setenv("serial#", str); } - /* configure PFUZE100 PMIC (not used on all Ventana baseboards) */ - power_pfuze100_init(I2C_PMIC); - if (board_type == GW54xx || board_type == GW54proto) { - struct pmic *p = pmic_get("PFUZE100_PMIC"); - u32 reg; - - if (p && !pmic_probe(p)) { - pmic_reg_read(p, PFUZE100_DEVICEID, ®); - printf("PMIC: PFUZE100 ID=0x%02x\n", reg); - - /* Set VGEN1 to 1.5V and enable */ - pmic_reg_read(p, PFUZE100_VGEN1VOL, ®); - reg &= ~(LDO_VOL_MASK); - reg |= (LDOA_1_50V | LDO_EN); - pmic_reg_write(p, PFUZE100_VGEN1VOL, reg); - - /* Set SWBST to 5.0V and enable */ - pmic_reg_read(p, PFUZE100_SWBSTCON1, ®); - reg &= ~(SWBST_MODE_MASK | SWBST_VOL_MASK); - reg |= (SWBST_5_00V | SWBST_MODE_AUTO); - pmic_reg_write(p, PFUZE100_SWBSTCON1, reg); - } - } /* setup baseboard specific GPIO pinmux and config */ setup_board_gpio(board_type); diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h index 3398390..b984f27 100644 --- a/include/configs/gw_ventana.h +++ b/include/configs/gw_ventana.h @@ -136,6 +136,8 @@ #define CONFIG_POWER_I2C #define CONFIG_POWER_PFUZE100 #define CONFIG_POWER_PFUZE100_I2C_ADDR 0x08 +#define CONFIG_POWER_LTC3676 +#define CONFIG_POWER_LTC3676_I2C_ADDR 0x3c /* Various command support */ #include <config_cmd_default.h> -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the LTC3676 PMIC 2014-05-05 15:22 ` Tim Harvey @ 2014-05-09 12:42 ` Stefano Babic 0 siblings, 0 replies; 15+ messages in thread From: Stefano Babic @ 2014-05-09 12:42 UTC (permalink / raw) To: u-boot On 05/05/2014 17:22, Tim Harvey wrote: > The LTC3676 PMIC is used instead of the PFUZE100 PMIC on the > GW51xx/GW52xx/GW53xx Ventana baseboards. In order to support the IMX6Q SoC > at 1GHz on those baseboards, we need to adjust the voltage scaling for the SW1 > and SW3 DC/DC converters on the LTC3676 for 1225mV. Note that the scalar > values for the LTC3676 are board-specific as they relate to a resistor devider > chosen by the board design. > > Signed-off-by: Tim Harvey <tharvey@gateworks.com> > --- Applied after fixing: board/gateworks/gw_ventana/gw_ventana.c: In function 'power_init_board': board/gateworks/gw_ventana/gw_ventana.c:788:1: warning: control reaches end of non-void function [-Wreturn-type] 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-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de ===================================================================== ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-05-09 12:44 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-04-23 4:53 [U-Boot] [PATCH 0/4] ventana: Add LTC3676 PMIC support Tim Harvey 2014-04-23 4:53 ` [U-Boot] [PATCH 1/4] power: make pfuze100 be able to coexist with other pmics Tim Harvey 2014-04-24 8:03 ` Stefano Babic 2014-04-24 8:19 ` Tim Harvey 2014-04-24 8:30 ` Stefano Babic 2014-05-09 12:44 ` Stefano Babic 2014-04-23 4:53 ` [U-Boot] [PATCH 2/4] ventana: use non-generic pfuze100 init Tim Harvey 2014-05-09 12:44 ` Stefano Babic 2014-04-23 4:53 ` [U-Boot] [PATCH 3/4] power: Add support for LTC3676 PMIC Tim Harvey 2014-04-24 8:05 ` Stefano Babic 2014-05-09 12:43 ` Stefano Babic 2014-04-23 4:53 ` [U-Boot] [PATCH 4/4] [PATCH] ventana: Add support for the " Tim Harvey 2014-04-24 8:08 ` Stefano Babic 2014-05-05 15:22 ` Tim Harvey 2014-05-09 12:42 ` Stefano Babic
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox