| /* SPDX-License-Identifier: GPL-2.0-or-later */ |
| /* Copyright (C) 2018 ROHM Semiconductors */ |
| |
| #ifndef BD718XX_H_ |
| #define BD718XX_H_ |
| |
| #define BD718XX_REGULATOR_DRIVER "bd718x7_regulator" |
| |
| enum { |
| ROHM_CHIP_TYPE_BD71837 = 0, |
| ROHM_CHIP_TYPE_BD71847, |
| ROHM_CHIP_TYPE_BD70528, |
| ROHM_CHIP_TYPE_AMOUNT |
| }; |
| |
| enum { |
| BD718XX_REV = 0x00, |
| BD718XX_SWRESET = 0x01, |
| BD718XX_I2C_DEV = 0x02, |
| BD718XX_PWRCTRL0 = 0x03, |
| BD718XX_PWRCTRL1 = 0x04, |
| BD718XX_BUCK1_CTRL = 0x05, |
| BD718XX_BUCK2_CTRL = 0x06, |
| BD71837_BUCK3_CTRL = 0x07, |
| BD71837_BUCK4_CTRL = 0x08, |
| BD718XX_1ST_NODVS_BUCK_CTRL = 0x09, |
| BD718XX_2ND_NODVS_BUCK_CTRL = 0x0a, |
| BD718XX_3RD_NODVS_BUCK_CTRL = 0x0b, |
| BD718XX_4TH_NODVS_BUCK_CTRL = 0x0c, |
| BD718XX_BUCK1_VOLT_RUN = 0x0d, |
| BD718XX_BUCK1_VOLT_IDLE = 0x0e, |
| BD718XX_BUCK1_VOLT_SUSP = 0x0f, |
| BD718XX_BUCK2_VOLT_RUN = 0x10, |
| BD718XX_BUCK2_VOLT_IDLE = 0x11, |
| BD71837_BUCK3_VOLT_RUN = 0x12, |
| BD71837_BUCK4_VOLT_RUN = 0x13, |
| BD718XX_1ST_NODVS_BUCK_VOLT = 0x14, |
| BD718XX_2ND_NODVS_BUCK_VOLT = 0x15, |
| BD718XX_3RD_NODVS_BUCK_VOLT = 0x16, |
| BD718XX_4TH_NODVS_BUCK_VOLT = 0x17, |
| BD718XX_LDO1_VOLT = 0x18, |
| BD718XX_LDO2_VOLT = 0x19, |
| BD718XX_LDO3_VOLT = 0x1a, |
| BD718XX_LDO4_VOLT = 0x1b, |
| BD718XX_LDO5_VOLT = 0x1c, |
| BD718XX_LDO6_VOLT = 0x1d, |
| BD71837_LDO7_VOLT = 0x1e, |
| BD718XX_TRANS_COND0 = 0x1f, |
| BD718XX_TRANS_COND1 = 0x20, |
| BD718XX_VRFAULTEN = 0x21, |
| BD718XX_MVRFLTMASK0 = 0x22, |
| BD718XX_MVRFLTMASK1 = 0x23, |
| BD718XX_MVRFLTMASK2 = 0x24, |
| BD718XX_RCVCFG = 0x25, |
| BD718XX_RCVNUM = 0x26, |
| BD718XX_PWRONCONFIG0 = 0x27, |
| BD718XX_PWRONCONFIG1 = 0x28, |
| BD718XX_RESETSRC = 0x29, |
| BD718XX_MIRQ = 0x2a, |
| BD718XX_IRQ = 0x2b, |
| BD718XX_IN_MON = 0x2c, |
| BD718XX_POW_STATE = 0x2d, |
| BD718XX_OUT32K = 0x2e, |
| BD718XX_REGLOCK = 0x2f, |
| BD718XX_MUXSW_EN = 0x30, |
| BD718XX_REG_OTPVER = 0xff, |
| BD718XX_MAX_REGISTER = 0x100, |
| }; |
| |
| #define BD718XX_REGLOCK_PWRSEQ 0x1 |
| #define BD718XX_REGLOCK_VREG 0x10 |
| |
| #define BD718XX_BUCK_EN 0x01 |
| #define BD718XX_LDO_EN 0x40 |
| #define BD718XX_BUCK_SEL 0x02 |
| #define BD718XX_LDO_SEL 0x80 |
| |
| #define DVS_BUCK_RUN_MASK 0x3f |
| #define BD718XX_1ST_NODVS_BUCK_MASK 0x07 |
| #define BD718XX_3RD_NODVS_BUCK_MASK 0x07 |
| #define BD718XX_4TH_NODVS_BUCK_MASK 0x3f |
| |
| #define BD71847_BUCK3_MASK 0x07 |
| #define BD71847_BUCK3_RANGE_MASK 0xc0 |
| #define BD71847_BUCK4_MASK 0x03 |
| #define BD71847_BUCK4_RANGE_MASK 0x40 |
| |
| #define BD71837_BUCK5_RANGE_MASK 0x80 |
| #define BD71837_BUCK6_MASK 0x03 |
| |
| #define BD718XX_LDO1_MASK 0x03 |
| #define BD718XX_LDO1_RANGE_MASK 0x20 |
| #define BD718XX_LDO2_MASK 0x20 |
| #define BD718XX_LDO3_MASK 0x0f |
| #define BD718XX_LDO4_MASK 0x0f |
| #define BD718XX_LDO6_MASK 0x0f |
| |
| #define BD71837_LDO5_MASK 0x0f |
| #define BD71847_LDO5_MASK 0x0f |
| #define BD71847_LDO5_RANGE_MASK 0x20 |
| #define BD71837_LDO7_MASK 0x0f |
| |
| #endif |