diff options
author | Jaehoon Chung <jh80.chung@samsung.com> | 2021-01-28 20:42:33 +0900 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-04-12 14:24:33 -0400 |
commit | e316aa5858b2acc3cfd5f2fc1d263f32e21d09c3 (patch) | |
tree | 5faf0f00b4129b1ee862e19f3b2296265dfeaebc /board/warp | |
parent | 3b676a1662ac6b54d1e97ea40a0c41ee0925ffe3 (diff) |
board: warp: add power_max77696_init() function
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 <jh80.chung@samsung.com>
Diffstat (limited to 'board/warp')
-rw-r--r-- | board/warp/warp.c | 68 |
1 files changed, 67 insertions, 1 deletions
diff --git a/board/warp/warp.c b/board/warp/warp.c index 0f1d038fabd..c03b6488507 100644 --- a/board/warp/warp.c +++ b/board/warp/warp.c @@ -26,7 +26,6 @@ #include <mmc.h> #include <usb.h> #include <power/pmic.h> -#include <power/max77696_pmic.h> DECLARE_GLOBAL_DATA_PTR; @@ -45,6 +44,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(); @@ -114,6 +160,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; |