From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jaehoon Chung Date: Thu, 28 Jan 2021 20:42:33 +0900 Subject: [PATCH 1/2] board: warp: add power_max77696_init() function In-Reply-To: <20210128114234.20349-1-jh80.chung@samsung.com> References: <20210128114234.20349-1-jh80.chung@samsung.com> Message-ID: <20210128114234.20349-2-jh80.chung@samsung.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Add power_max77696_init() function. Since warp doesn't support DM, the keeping its code in board file is better than maintainig the file of driver. Signed-off-by: Jaehoon Chung --- board/warp/warp.c | 68 +++++++++++++++++++++++++++++++++++++++++- include/configs/warp.h | 1 - 2 files changed, 67 insertions(+), 2 deletions(-) diff --git a/board/warp/warp.c b/board/warp/warp.c index 85da9c1bd435..56c07d862440 100644 --- a/board/warp/warp.c +++ b/board/warp/warp.c @@ -25,7 +25,6 @@ #include #include #include -#include DECLARE_GLOBAL_DATA_PTR; @@ -44,6 +43,53 @@ DECLARE_GLOBAL_DATA_PTR; PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ PAD_CTL_ODE | PAD_CTL_SRE_FAST) +#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, + PMIC_NUM_OF_REGS, +}; + int dram_init(void) { gd->ram_size = imx_ddr_size(); @@ -113,6 +159,26 @@ struct i2c_pads_info i2c_pad_info1 = { }, }; +static 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; +} + int power_init_board(void) { struct pmic *p; diff --git a/include/configs/warp.h b/include/configs/warp.h index f17eea117f3a..0f97804eb29c 100644 --- a/include/configs/warp.h +++ b/include/configs/warp.h @@ -63,7 +63,6 @@ /* PMIC */ #define CONFIG_POWER #define CONFIG_POWER_I2C -#define CONFIG_POWER_MAX77696 #define CONFIG_EXTRA_ENV_SETTINGS \ "script=boot.scr\0" \ -- 2.29.0