[U-Boot] [PATCH v2 1/2] power: pmic: Add support for MAX77696 PMIC
Stefano Babic
sbabic at denx.de
Sun Jul 26 12:13:53 CEST 2015
On 22/07/2015 02:47, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam at freescale.com>
>
> Add support for MAX77696 PMIC.
>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> ---
> 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 <fabio.estevam at freescale.com>
> + *
> + * SPDX-License-Identifier: GPL-2.0+
> + */
> +
> +#include <common.h>
> +#include <errno.h>
> +#include <i2c.h>
> +#include <power/pmic.h>
> +#include <power/max77696_pmic.h>
> +
> +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 <fabio.estevam at freescale.com>
> + *
> + * 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
=====================================================================
More information about the U-Boot
mailing list