From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Sun, 26 Jul 2015 12:13:53 +0200 Subject: [U-Boot] [PATCH v2 1/2] power: pmic: Add support for MAX77696 PMIC In-Reply-To: <1437526042-15118-1-git-send-email-festevam@gmail.com> References: <1437526042-15118-1-git-send-email-festevam@gmail.com> Message-ID: <55B4B2E1.8070303@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On 22/07/2015 02:47, Fabio Estevam wrote: > From: Fabio Estevam > > Add support for MAX77696 PMIC. > > Signed-off-by: Fabio Estevam > --- > Changes since v1: > - Fix the range of PMIC registers > > drivers/power/pmic/Makefile | 1 + > drivers/power/pmic/pmic_max77696.c | 32 ++++++++++++++++++++ > include/power/max77696_pmic.h | 61 ++++++++++++++++++++++++++++++++++++++ > 3 files changed, 94 insertions(+) > create mode 100644 drivers/power/pmic/pmic_max77696.c > create mode 100644 include/power/max77696_pmic.h > > diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile > index ae86f04..4ad6df3 100644 > --- a/drivers/power/pmic/Makefile > +++ b/drivers/power/pmic/Makefile > @@ -9,6 +9,7 @@ obj-$(CONFIG_DM_PMIC) += pmic-uclass.o > obj-$(CONFIG_DM_PMIC_MAX77686) += max77686.o > obj-$(CONFIG_DM_PMIC_SANDBOX) += sandbox.o i2c_pmic_emul.o > obj-$(CONFIG_POWER_LTC3676) += pmic_ltc3676.o > +obj-$(CONFIG_POWER_MAX77696) += pmic_max77696.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_max77696.c b/drivers/power/pmic/pmic_max77696.c > new file mode 100644 > index 0000000..93d92f5 > --- /dev/null > +++ b/drivers/power/pmic/pmic_max77696.c > @@ -0,0 +1,32 @@ > +/* > + * Copyright (C) 2015 Freescale Semiconductor, Inc. > + * Fabio Estevam > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +int power_max77696_init(unsigned char bus) > +{ > + static const char name[] = "MAX77696"; > + 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 = PMIC_NUM_OF_REGS; > + p->hw.i2c.addr = CONFIG_POWER_MAX77696_I2C_ADDR; > + p->hw.i2c.tx_num = 1; > + p->bus = bus; > + > + return 0; > +} > diff --git a/include/power/max77696_pmic.h b/include/power/max77696_pmic.h > new file mode 100644 > index 0000000..58f295c > --- /dev/null > +++ b/include/power/max77696_pmic.h > @@ -0,0 +1,61 @@ > +/* > + * Copyright (C) 2015 Freescale Semiconductor, Inc. > + * Fabio Estevam > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#ifndef __MAX77696_PMIC_H__ > +#define __MAX77696_PMIC_H__ > + > +#define CONFIG_POWER_MAX77696_I2C_ADDR 0x3C > + > +enum { > + L01_CNFG1 = 0x43, > + L01_CNFG2, > + L02_CNFG1, > + L02_CNFG2, > + L03_CNFG1, > + L03_CNFG2, > + L04_CNFG1, > + L04_CNFG2, > + L05_CNFG1, > + L05_CNFG2, > + L06_CNFG1, > + L06_CNFG2, > + L07_CNFG1, > + L07_CNFG2, > + L08_CNFG1, > + L08_CNFG2, > + L09_CNFG1, > + L09_CNFG2, > + L10_CNFG1, > + L10_CNFG2, > + LDO_INT1, > + LDO_INT2, > + LDO_INT1M, > + LDO_INT2M, > + LDO_CNFG3, > + SW1_CNTRL, > + SW2_CNTRL, > + SW3_CNTRL, > + SW4_CNTRL, > + EPDCNFG, > + EPDINTS, > + EPDINT, > + EPDINTM, > + EPDVCOM, > + EPDVEE, > + EPDVNEG, > + EPDVPOS, > + EPDVDDH, > + EPDSEQ, > + EPDOKINTS, > + CID = 0x9c, > + EPDDIS = 0xb5, > + PMIC_NUM_OF_REGS, > +}; > + > +int power_max77696_init(unsigned char bus); > + > +#endif > Applied to u-boot-imx, thanks ! Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk 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 =====================================================================