
On 22/07/2015 02:47, Fabio Estevam wrote:
From: Fabio Estevam fabio.estevam@freescale.com
Add support for MAX77696 PMIC.
Signed-off-by: Fabio Estevam fabio.estevam@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@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@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