0001
0002
0003
0004
0005
0006
0007 #ifndef __LINUX_MFD_S2MPS14_H
0008 #define __LINUX_MFD_S2MPS14_H
0009
0010
0011 enum s2mps14_reg {
0012 S2MPS14_REG_ID,
0013 S2MPS14_REG_INT1,
0014 S2MPS14_REG_INT2,
0015 S2MPS14_REG_INT3,
0016 S2MPS14_REG_INT1M,
0017 S2MPS14_REG_INT2M,
0018 S2MPS14_REG_INT3M,
0019 S2MPS14_REG_ST1,
0020 S2MPS14_REG_ST2,
0021 S2MPS14_REG_PWRONSRC,
0022 S2MPS14_REG_OFFSRC,
0023 S2MPS14_REG_BU_CHG,
0024 S2MPS14_REG_RTCCTRL,
0025 S2MPS14_REG_CTRL1,
0026 S2MPS14_REG_CTRL2,
0027 S2MPS14_REG_RSVD1,
0028 S2MPS14_REG_RSVD2,
0029 S2MPS14_REG_RSVD3,
0030 S2MPS14_REG_RSVD4,
0031 S2MPS14_REG_RSVD5,
0032 S2MPS14_REG_RSVD6,
0033 S2MPS14_REG_CTRL3,
0034 S2MPS14_REG_RSVD7,
0035 S2MPS14_REG_RSVD8,
0036 S2MPS14_REG_WRSTBI,
0037 S2MPS14_REG_B1CTRL1,
0038 S2MPS14_REG_B1CTRL2,
0039 S2MPS14_REG_B2CTRL1,
0040 S2MPS14_REG_B2CTRL2,
0041 S2MPS14_REG_B3CTRL1,
0042 S2MPS14_REG_B3CTRL2,
0043 S2MPS14_REG_B4CTRL1,
0044 S2MPS14_REG_B4CTRL2,
0045 S2MPS14_REG_B5CTRL1,
0046 S2MPS14_REG_B5CTRL2,
0047 S2MPS14_REG_L1CTRL,
0048 S2MPS14_REG_L2CTRL,
0049 S2MPS14_REG_L3CTRL,
0050 S2MPS14_REG_L4CTRL,
0051 S2MPS14_REG_L5CTRL,
0052 S2MPS14_REG_L6CTRL,
0053 S2MPS14_REG_L7CTRL,
0054 S2MPS14_REG_L8CTRL,
0055 S2MPS14_REG_L9CTRL,
0056 S2MPS14_REG_L10CTRL,
0057 S2MPS14_REG_L11CTRL,
0058 S2MPS14_REG_L12CTRL,
0059 S2MPS14_REG_L13CTRL,
0060 S2MPS14_REG_L14CTRL,
0061 S2MPS14_REG_L15CTRL,
0062 S2MPS14_REG_L16CTRL,
0063 S2MPS14_REG_L17CTRL,
0064 S2MPS14_REG_L18CTRL,
0065 S2MPS14_REG_L19CTRL,
0066 S2MPS14_REG_L20CTRL,
0067 S2MPS14_REG_L21CTRL,
0068 S2MPS14_REG_L22CTRL,
0069 S2MPS14_REG_L23CTRL,
0070 S2MPS14_REG_L24CTRL,
0071 S2MPS14_REG_L25CTRL,
0072 S2MPS14_REG_LDODSCH1,
0073 S2MPS14_REG_LDODSCH2,
0074 S2MPS14_REG_LDODSCH3,
0075 };
0076
0077
0078 enum s2mps14_regulators {
0079 S2MPS14_LDO1,
0080 S2MPS14_LDO2,
0081 S2MPS14_LDO3,
0082 S2MPS14_LDO4,
0083 S2MPS14_LDO5,
0084 S2MPS14_LDO6,
0085 S2MPS14_LDO7,
0086 S2MPS14_LDO8,
0087 S2MPS14_LDO9,
0088 S2MPS14_LDO10,
0089 S2MPS14_LDO11,
0090 S2MPS14_LDO12,
0091 S2MPS14_LDO13,
0092 S2MPS14_LDO14,
0093 S2MPS14_LDO15,
0094 S2MPS14_LDO16,
0095 S2MPS14_LDO17,
0096 S2MPS14_LDO18,
0097 S2MPS14_LDO19,
0098 S2MPS14_LDO20,
0099 S2MPS14_LDO21,
0100 S2MPS14_LDO22,
0101 S2MPS14_LDO23,
0102 S2MPS14_LDO24,
0103 S2MPS14_LDO25,
0104 S2MPS14_BUCK1,
0105 S2MPS14_BUCK2,
0106 S2MPS14_BUCK3,
0107 S2MPS14_BUCK4,
0108 S2MPS14_BUCK5,
0109
0110 S2MPS14_REGULATOR_MAX,
0111 };
0112
0113
0114 #define S2MPS14_BUCK1235_START_SEL 0x20
0115 #define S2MPS14_BUCK4_START_SEL 0x40
0116
0117
0118
0119
0120
0121 #define S2MPS14_BUCK_RAMP_DELAY 12500
0122
0123 #define S2MPS14_LDO_VSEL_MASK 0x3F
0124 #define S2MPS14_BUCK_VSEL_MASK 0xFF
0125 #define S2MPS14_ENABLE_MASK (0x03 << S2MPS14_ENABLE_SHIFT)
0126 #define S2MPS14_ENABLE_SHIFT 6
0127
0128 #define S2MPS14_ENABLE_SUSPEND (0x01 << S2MPS14_ENABLE_SHIFT)
0129
0130 #define S2MPS14_ENABLE_EXT_CONTROL (0x00 << S2MPS14_ENABLE_SHIFT)
0131 #define S2MPS14_LDO_N_VOLTAGES (S2MPS14_LDO_VSEL_MASK + 1)
0132 #define S2MPS14_BUCK_N_VOLTAGES (S2MPS14_BUCK_VSEL_MASK + 1)
0133
0134 #endif