Lines Matching +full:0 +full:- +full:100

29 #define AXP20X_GPIO0_FUNC_MASK		GENMASK(3, 0)
30 #define AXP20X_GPIO1_FUNC_MASK GENMASK(3, 0)
32 #define AXP20X_IO_ENABLED 0x03
33 #define AXP20X_IO_DISABLED 0x07
38 #define AXP20X_FREQ_DCDC_MASK GENMASK(3, 0)
42 #define AXP20X_DCDC2_V_OUT_MASK GENMASK(5, 0)
43 #define AXP20X_DCDC3_V_OUT_MASK GENMASK(7, 0)
45 #define AXP20X_LDO3_V_OUT_MASK GENMASK(6, 0)
46 #define AXP20X_LDO4_V_OUT_MASK GENMASK(3, 0)
49 #define AXP20X_PWR_OUT_EXTEN_MASK BIT_MASK(0)
56 #define AXP20X_DCDC2_LDO3_V_RAMP_DCDC2_RATE_MASK BIT_MASK(0)
58 ((x) << 0)
67 #define AXP20X_LDO4_V_OUT_1250mV_START 0x0
68 #define AXP20X_LDO4_V_OUT_1250mV_STEPS 0
71 #define AXP20X_LDO4_V_OUT_1300mV_START 0x1
75 #define AXP20X_LDO4_V_OUT_2500mV_START 0x9
76 #define AXP20X_LDO4_V_OUT_2500mV_STEPS 0
79 #define AXP20X_LDO4_V_OUT_2700mV_START 0xa
83 #define AXP20X_LDO4_V_OUT_3000mV_START 0xc
89 #define AXP22X_IO_ENABLED 0x03
90 #define AXP22X_IO_DISABLED 0x04
96 #define AXP22X_DCDC1_V_OUT_MASK GENMASK(4, 0)
97 #define AXP22X_DCDC2_V_OUT_MASK GENMASK(5, 0)
98 #define AXP22X_DCDC3_V_OUT_MASK GENMASK(5, 0)
99 #define AXP22X_DCDC4_V_OUT_MASK GENMASK(5, 0)
100 #define AXP22X_DCDC5_V_OUT_MASK GENMASK(4, 0)
101 #define AXP22X_DC5LDO_V_OUT_MASK GENMASK(2, 0)
102 #define AXP22X_ALDO1_V_OUT_MASK GENMASK(4, 0)
103 #define AXP22X_ALDO2_V_OUT_MASK GENMASK(4, 0)
104 #define AXP22X_ALDO3_V_OUT_MASK GENMASK(4, 0)
105 #define AXP22X_DLDO1_V_OUT_MASK GENMASK(4, 0)
106 #define AXP22X_DLDO2_V_OUT_MASK GENMASK(4, 0)
107 #define AXP22X_DLDO3_V_OUT_MASK GENMASK(4, 0)
108 #define AXP22X_DLDO4_V_OUT_MASK GENMASK(4, 0)
109 #define AXP22X_ELDO1_V_OUT_MASK GENMASK(4, 0)
110 #define AXP22X_ELDO2_V_OUT_MASK GENMASK(4, 0)
111 #define AXP22X_ELDO3_V_OUT_MASK GENMASK(4, 0)
112 #define AXP22X_LDO_IO0_V_OUT_MASK GENMASK(4, 0)
113 #define AXP22X_LDO_IO1_V_OUT_MASK GENMASK(4, 0)
115 #define AXP22X_PWR_OUT_DC5LDO_MASK BIT_MASK(0)
127 #define AXP22X_PWR_OUT_ELDO1_MASK BIT_MASK(0)
138 #define AXP313A_DCDC_V_OUT_MASK GENMASK(6, 0)
139 #define AXP313A_LDO_V_OUT_MASK GENMASK(4, 0)
141 #define AXP803_PWR_OUT_DCDC1_MASK BIT_MASK(0)
151 #define AXP803_DCDC1_V_OUT_MASK GENMASK(4, 0)
152 #define AXP803_DCDC2_V_OUT_MASK GENMASK(6, 0)
153 #define AXP803_DCDC3_V_OUT_MASK GENMASK(6, 0)
154 #define AXP803_DCDC4_V_OUT_MASK GENMASK(6, 0)
155 #define AXP803_DCDC5_V_OUT_MASK GENMASK(6, 0)
156 #define AXP803_DCDC6_V_OUT_MASK GENMASK(6, 0)
158 #define AXP803_FLDO1_V_OUT_MASK GENMASK(3, 0)
159 #define AXP803_FLDO2_V_OUT_MASK GENMASK(3, 0)
164 #define AXP803_DCDC234_500mV_START 0x00
168 #define AXP803_DCDC234_1220mV_START 0x47
174 #define AXP803_DCDC5_800mV_START 0x00
178 #define AXP803_DCDC5_1140mV_START 0x21
184 #define AXP803_DCDC6_600mV_START 0x00
188 #define AXP803_DCDC6_1120mV_START 0x33
194 #define AXP803_DLDO2_700mV_START 0x00
198 #define AXP803_DLDO2_3400mV_START 0x1b
204 #define AXP806_DCDCA_V_CTRL_MASK GENMASK(6, 0)
205 #define AXP806_DCDCB_V_CTRL_MASK GENMASK(4, 0)
206 #define AXP806_DCDCC_V_CTRL_MASK GENMASK(6, 0)
207 #define AXP806_DCDCD_V_CTRL_MASK GENMASK(5, 0)
208 #define AXP806_DCDCE_V_CTRL_MASK GENMASK(4, 0)
209 #define AXP806_ALDO1_V_CTRL_MASK GENMASK(4, 0)
210 #define AXP806_ALDO2_V_CTRL_MASK GENMASK(4, 0)
211 #define AXP806_ALDO3_V_CTRL_MASK GENMASK(4, 0)
212 #define AXP806_BLDO1_V_CTRL_MASK GENMASK(3, 0)
213 #define AXP806_BLDO2_V_CTRL_MASK GENMASK(3, 0)
214 #define AXP806_BLDO3_V_CTRL_MASK GENMASK(3, 0)
215 #define AXP806_BLDO4_V_CTRL_MASK GENMASK(3, 0)
216 #define AXP806_CLDO1_V_CTRL_MASK GENMASK(4, 0)
217 #define AXP806_CLDO2_V_CTRL_MASK GENMASK(4, 0)
218 #define AXP806_CLDO3_V_CTRL_MASK GENMASK(4, 0)
220 #define AXP806_PWR_OUT_DCDCA_MASK BIT_MASK(0)
228 #define AXP806_PWR_OUT_BLDO1_MASK BIT_MASK(0)
237 #define AXP806_DCDCAB_POLYPHASE_DUAL 0x40
238 #define AXP806_DCDCABC_POLYPHASE_TRI 0x80
243 #define AXP806_DCDCA_600mV_START 0x00
247 #define AXP806_DCDCA_1120mV_START 0x33
253 #define AXP806_DCDCD_600mV_START 0x00
257 #define AXP806_DCDCD_1600mV_START 0x2e
263 #define AXP809_DCDC4_600mV_START 0x00
267 #define AXP809_DCDC4_1800mV_START 0x30
273 #define AXP813_DCDC7_V_OUT_MASK GENMASK(6, 0)
277 #define AXP15060_DCDC1_V_CTRL_MASK GENMASK(4, 0)
278 #define AXP15060_DCDC2_V_CTRL_MASK GENMASK(6, 0)
279 #define AXP15060_DCDC3_V_CTRL_MASK GENMASK(6, 0)
280 #define AXP15060_DCDC4_V_CTRL_MASK GENMASK(6, 0)
281 #define AXP15060_DCDC5_V_CTRL_MASK GENMASK(6, 0)
282 #define AXP15060_DCDC6_V_CTRL_MASK GENMASK(4, 0)
283 #define AXP15060_ALDO1_V_CTRL_MASK GENMASK(4, 0)
284 #define AXP15060_ALDO2_V_CTRL_MASK GENMASK(4, 0)
285 #define AXP15060_ALDO3_V_CTRL_MASK GENMASK(4, 0)
286 #define AXP15060_ALDO4_V_CTRL_MASK GENMASK(4, 0)
287 #define AXP15060_ALDO5_V_CTRL_MASK GENMASK(4, 0)
288 #define AXP15060_BLDO1_V_CTRL_MASK GENMASK(4, 0)
289 #define AXP15060_BLDO2_V_CTRL_MASK GENMASK(4, 0)
290 #define AXP15060_BLDO3_V_CTRL_MASK GENMASK(4, 0)
291 #define AXP15060_BLDO4_V_CTRL_MASK GENMASK(4, 0)
292 #define AXP15060_BLDO5_V_CTRL_MASK GENMASK(4, 0)
293 #define AXP15060_CLDO1_V_CTRL_MASK GENMASK(4, 0)
294 #define AXP15060_CLDO2_V_CTRL_MASK GENMASK(4, 0)
295 #define AXP15060_CLDO3_V_CTRL_MASK GENMASK(4, 0)
296 #define AXP15060_CLDO4_V_CTRL_MASK GENMASK(5, 0)
297 #define AXP15060_CPUSLDO_V_CTRL_MASK GENMASK(3, 0)
299 #define AXP15060_PWR_OUT_DCDC1_MASK BIT_MASK(0)
305 #define AXP15060_PWR_OUT_ALDO1_MASK BIT_MASK(0)
313 #define AXP15060_PWR_OUT_BLDO4_MASK BIT_MASK(0)
325 #define AXP15060_DCDC234_500mV_START 0x00
329 #define AXP15060_DCDC234_1220mV_START 0x47
335 #define AXP15060_DCDC5_800mV_START 0x00
339 #define AXP15060_DCDC5_1140mV_START 0x21
354 .n_voltages = (((_max) - (_min)) / (_step) + 1), \
376 .n_voltages = (((_max) - (_min)) / (_step) + 1), \
444 u8 reg, mask, enable, cfg = 0xff; in axp20x_set_ramp_delay()
446 int rate_count = 0; in axp20x_set_ramp_delay()
448 switch (axp20x->variant) { in axp20x_set_ramp_delay()
456 enable = (ramp > 0) ? in axp20x_set_ramp_delay()
457 AXP20X_DCDC2_LDO3_V_RAMP_DCDC2_EN : 0; in axp20x_set_ramp_delay()
467 enable = (ramp > 0) ? in axp20x_set_ramp_delay()
468 AXP20X_DCDC2_LDO3_V_RAMP_LDO3_EN : 0; in axp20x_set_ramp_delay()
472 if (rate_count > 0) in axp20x_set_ramp_delay()
478 return -ENOTSUPP; in axp20x_set_ramp_delay()
481 if (ramp == 0) { in axp20x_set_ramp_delay()
486 for (i = 0; i < rate_count; i++) { in axp20x_set_ramp_delay()
496 if (cfg == 0xff) { in axp20x_set_ramp_delay()
497 dev_err(axp20x->dev, "unsupported ramp value %d", ramp); in axp20x_set_ramp_delay()
498 return -EINVAL; in axp20x_set_ramp_delay()
504 return regmap_update_bits(axp20x->regmap, reg, mask, cfg); in axp20x_set_ramp_delay()
512 switch (axp20x->variant) { in axp20x_regulator_enable_regmap()
515 rdev->constraints && rdev->constraints->soft_start) { in axp20x_regulator_enable_regmap()
530 if (v_out < 0) in axp20x_regulator_enable_regmap()
533 if (v_out == 0) in axp20x_regulator_enable_regmap()
536 ret = regulator_set_voltage_sel_regmap(rdev, 0x00); in axp20x_regulator_enable_regmap()
590 0),
598 0),
617 AXP_DESC(AXP20X, LDO2, "ldo2", "ldo24in", 1800, 3300, 100,
627 AXP_DESC_IO(AXP20X, LDO5, "ldo5", "ldo5in", 1800, 3300, 100,
634 AXP_DESC(AXP22X, DCDC1, "dcdc1", "vin1", 1600, 3400, 100,
653 AXP_DESC(AXP22X, DC5LDO, "dc5ldo", NULL, 700, 1400, 100,
656 AXP_DESC(AXP22X, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
659 AXP_DESC(AXP22X, ALDO2, "aldo2", "aldoin", 700, 3300, 100,
662 AXP_DESC(AXP22X, ALDO3, "aldo3", "aldoin", 700, 3300, 100,
665 AXP_DESC(AXP22X, DLDO1, "dldo1", "dldoin", 700, 3300, 100,
668 AXP_DESC(AXP22X, DLDO2, "dldo2", "dldoin", 700, 3300, 100,
671 AXP_DESC(AXP22X, DLDO3, "dldo3", "dldoin", 700, 3300, 100,
674 AXP_DESC(AXP22X, DLDO4, "dldo4", "dldoin", 700, 3300, 100,
677 AXP_DESC(AXP22X, ELDO1, "eldo1", "eldoin", 700, 3300, 100,
680 AXP_DESC(AXP22X, ELDO2, "eldo2", "eldoin", 700, 3300, 100,
683 AXP_DESC(AXP22X, ELDO3, "eldo3", "eldoin", 700, 3300, 100,
688 AXP_DESC_IO(AXP22X, LDO_IO0, "ldo_io0", "ips", 700, 3800, 100,
694 AXP_DESC_IO(AXP22X, LDO_IO1, "ldo_io1", "ips", 700, 3800, 100,
714 REGULATOR_LINEAR_RANGE(500000, 0, 70, 10000),
720 REGULATOR_LINEAR_RANGE(500000, 0, 70, 10000),
729 REGULATOR_LINEAR_RANGE(500000, 0, 70, 10000),
737 AXP313A_OUTPUT_CONTROL, BIT(0)),
746 AXP_DESC(AXP313A, ALDO1, "aldo1", "vin1", 500, 3500, 100,
749 AXP_DESC(AXP313A, DLDO1, "dldo1", "vin1", 500, 3500, 100,
752 AXP_DESC_FIXED(AXP313A, RTC_LDO, "rtc-ldo", "vin1", 1800),
802 AXP_DESC(AXP803, DCDC1, "dcdc1", "vin1", 1600, 3400, 100,
828 AXP_DESC(AXP803, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
831 AXP_DESC(AXP803, ALDO2, "aldo2", "aldoin", 700, 3300, 100,
834 AXP_DESC(AXP803, ALDO3, "aldo3", "aldoin", 700, 3300, 100,
837 AXP_DESC(AXP803, DLDO1, "dldo1", "dldoin", 700, 3300, 100,
844 AXP_DESC(AXP803, DLDO3, "dldo3", "dldoin", 700, 3300, 100,
847 AXP_DESC(AXP803, DLDO4, "dldo4", "dldoin", 700, 3300, 100,
865 AXP_DESC_IO(AXP803, LDO_IO0, "ldo-io0", "ips", 700, 3300, 100,
869 AXP_DESC_IO(AXP803, LDO_IO1, "ldo-io1", "ips", 700, 3300, 100,
873 AXP_DESC_FIXED(AXP803, RTC_LDO, "rtc-ldo", "ips", 3000),
914 AXP_DESC(AXP806, DCDCE, "dcdce", "vine", 1100, 3400, 100,
917 AXP_DESC(AXP806, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
920 AXP_DESC(AXP806, ALDO2, "aldo2", "aldoin", 700, 3400, 100,
923 AXP_DESC(AXP806, ALDO3, "aldo3", "aldoin", 700, 3300, 100,
926 AXP_DESC(AXP806, BLDO1, "bldo1", "bldoin", 700, 1900, 100,
929 AXP_DESC(AXP806, BLDO2, "bldo2", "bldoin", 700, 1900, 100,
932 AXP_DESC(AXP806, BLDO3, "bldo3", "bldoin", 700, 1900, 100,
935 AXP_DESC(AXP806, BLDO4, "bldo4", "bldoin", 700, 1900, 100,
938 AXP_DESC(AXP806, CLDO1, "cldo1", "cldoin", 700, 3300, 100,
945 AXP_DESC(AXP806, CLDO3, "cldo3", "cldoin", 700, 3300, 100,
964 AXP_DESC(AXP809, DCDC1, "dcdc1", "vin1", 1600, 3400, 100,
984 AXP_DESC(AXP809, DC5LDO, "dc5ldo", NULL, 700, 1400, 100,
987 AXP_DESC(AXP809, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
990 AXP_DESC(AXP809, ALDO2, "aldo2", "aldoin", 700, 3300, 100,
993 AXP_DESC(AXP809, ALDO3, "aldo3", "aldoin", 700, 3300, 100,
1000 AXP_DESC(AXP809, DLDO2, "dldo2", "dldoin", 700, 3300, 100,
1003 AXP_DESC(AXP809, ELDO1, "eldo1", "eldoin", 700, 3300, 100,
1006 AXP_DESC(AXP809, ELDO2, "eldo2", "eldoin", 700, 3300, 100,
1009 AXP_DESC(AXP809, ELDO3, "eldo3", "eldoin", 700, 3300, 100,
1016 AXP_DESC_IO(AXP809, LDO_IO0, "ldo_io0", "ips", 700, 3800, 100,
1024 AXP_DESC_IO(AXP809, LDO_IO1, "ldo_io1", "ips", 700, 3800, 100,
1034 AXP_DESC(AXP813, DCDC1, "dcdc1", "vin1", 1600, 3400, 100,
1061 AXP_DESC(AXP813, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
1064 AXP_DESC(AXP813, ALDO2, "aldo2", "aldoin", 700, 3300, 100,
1067 AXP_DESC(AXP813, ALDO3, "aldo3", "aldoin", 700, 3300, 100,
1070 AXP_DESC(AXP813, DLDO1, "dldo1", "dldoin", 700, 3300, 100,
1077 AXP_DESC(AXP813, DLDO3, "dldo3", "dldoin", 700, 3300, 100,
1080 AXP_DESC(AXP813, DLDO4, "dldo4", "dldoin", 700, 3300, 100,
1105 AXP_DESC_FIXED(AXP813, RTC_LDO, "rtc-ldo", "ips", 1800),
1106 AXP_DESC_IO(AXP813, LDO_IO0, "ldo-io0", "ips", 700, 3300, 100,
1110 AXP_DESC_IO(AXP813, LDO_IO1, "ldo-io1", "ips", 700, 3300, 100,
1141 AXP_DESC(AXP15060, DCDC1, "dcdc1", "vin1", 1500, 3400, 100,
1160 AXP_DESC(AXP15060, DCDC6, "dcdc6", "vin6", 500, 3400, 100,
1163 AXP_DESC(AXP15060, ALDO1, "aldo1", "aldoin", 700, 3300, 100,
1166 AXP_DESC(AXP15060, ALDO2, "aldo2", "aldoin", 700, 3300, 100,
1169 AXP_DESC(AXP15060, ALDO3, "aldo3", "aldoin", 700, 3300, 100,
1172 AXP_DESC(AXP15060, ALDO4, "aldo4", "aldoin", 700, 3300, 100,
1175 AXP_DESC(AXP15060, ALDO5, "aldo5", "aldoin", 700, 3300, 100,
1178 AXP_DESC(AXP15060, BLDO1, "bldo1", "bldoin", 700, 3300, 100,
1181 AXP_DESC(AXP15060, BLDO2, "bldo2", "bldoin", 700, 3300, 100,
1184 AXP_DESC(AXP15060, BLDO3, "bldo3", "bldoin", 700, 3300, 100,
1187 AXP_DESC(AXP15060, BLDO4, "bldo4", "bldoin", 700, 3300, 100,
1190 AXP_DESC(AXP15060, BLDO5, "bldo5", "bldoin", 700, 3300, 100,
1193 AXP_DESC(AXP15060, CLDO1, "cldo1", "cldoin", 700, 3300, 100,
1196 AXP_DESC(AXP15060, CLDO2, "cldo2", "cldoin", 700, 3300, 100,
1199 AXP_DESC(AXP15060, CLDO3, "cldo3", "cldoin", 700, 3300, 100,
1202 AXP_DESC(AXP15060, CLDO4, "cldo4", "cldoin", 700, 4200, 100,
1213 AXP_DESC_FIXED(AXP15060, RTC_LDO, "rtc-ldo", NULL, 1800),
1218 struct axp20x_dev *axp20x = dev_get_drvdata(pdev->dev.parent); in axp20x_set_dcdc_freq()
1222 switch (axp20x->variant) { in axp20x_set_dcdc_freq()
1244 if (axp20x->variant == AXP806_ID) in axp20x_set_dcdc_freq()
1258 if (dcdcfreq != 0) { in axp20x_set_dcdc_freq()
1259 dev_err(&pdev->dev, in axp20x_set_dcdc_freq()
1261 return -EINVAL; in axp20x_set_dcdc_freq()
1264 return 0; in axp20x_set_dcdc_freq()
1266 dev_err(&pdev->dev, in axp20x_set_dcdc_freq()
1268 return -EINVAL; in axp20x_set_dcdc_freq()
1271 if (dcdcfreq == 0) in axp20x_set_dcdc_freq()
1276 dev_warn(&pdev->dev, "DCDC frequency too low. Set to %ukHz\n", in axp20x_set_dcdc_freq()
1282 dev_warn(&pdev->dev, "DCDC frequency too high. Set to %ukHz\n", in axp20x_set_dcdc_freq()
1286 dcdcfreq = (dcdcfreq - min) / step; in axp20x_set_dcdc_freq()
1288 return regmap_update_bits(axp20x->regmap, reg, in axp20x_set_dcdc_freq()
1295 int ret = 0; in axp20x_regulator_parse_dt()
1296 u32 dcdcfreq = 0; in axp20x_regulator_parse_dt()
1298 np = of_node_get(pdev->dev.parent->of_node); in axp20x_regulator_parse_dt()
1300 return 0; in axp20x_regulator_parse_dt()
1304 dev_warn(&pdev->dev, "regulators node not found\n"); in axp20x_regulator_parse_dt()
1306 of_property_read_u32(regulators, "x-powers,dcdc-freq", &dcdcfreq); in axp20x_regulator_parse_dt()
1308 if (ret < 0) { in axp20x_regulator_parse_dt()
1309 dev_err(&pdev->dev, "Error setting dcdc frequency: %d\n", ret); in axp20x_regulator_parse_dt()
1324 switch (axp20x->variant) { in axp20x_set_dcdc_workmode()
1328 return -EINVAL; in axp20x_set_dcdc_workmode()
1334 workmode <<= ffs(mask) - 1; in axp20x_set_dcdc_workmode()
1348 return -EINVAL; in axp20x_set_dcdc_workmode()
1350 mask = AXP22X_WORKMODE_DCDCX_MASK(id - AXP22X_DCDC1); in axp20x_set_dcdc_workmode()
1351 workmode <<= id - AXP22X_DCDC1; in axp20x_set_dcdc_workmode()
1356 return -EINVAL; in axp20x_set_dcdc_workmode()
1358 mask = AXP22X_WORKMODE_DCDCX_MASK(id - AXP803_DCDC1); in axp20x_set_dcdc_workmode()
1359 workmode <<= id - AXP803_DCDC1; in axp20x_set_dcdc_workmode()
1364 return -EINVAL; in axp20x_set_dcdc_workmode()
1366 mask = AXP22X_WORKMODE_DCDCX_MASK(id - AXP813_DCDC1); in axp20x_set_dcdc_workmode()
1367 workmode <<= id - AXP813_DCDC1; in axp20x_set_dcdc_workmode()
1373 return -EINVAL; in axp20x_set_dcdc_workmode()
1375 mask = AXP22X_WORKMODE_DCDCX_MASK(id - AXP15060_DCDC1); in axp20x_set_dcdc_workmode()
1376 workmode <<= id - AXP15060_DCDC1; in axp20x_set_dcdc_workmode()
1382 return -EINVAL; in axp20x_set_dcdc_workmode()
1385 return regmap_update_bits(rdev->regmap, reg, mask, workmode); in axp20x_set_dcdc_workmode()
1389 * This function checks whether a regulator is part of a poly-phase
1394 u32 reg = 0; in axp20x_is_polyphase_slave()
1400 switch (axp20x->variant) { in axp20x_is_polyphase_slave()
1403 regmap_read(axp20x->regmap, AXP803_POLYPHASE_CTRL, &reg); in axp20x_is_polyphase_slave()
1414 regmap_read(axp20x->regmap, AXP806_DCDC_MODE_CTRL2, &reg); in axp20x_is_polyphase_slave()
1431 regmap_read(axp20x->regmap, AXP15060_DCDC_MODE_CTRL1, &reg); in axp20x_is_polyphase_slave()
1451 struct axp20x_dev *axp20x = dev_get_drvdata(pdev->dev.parent); in axp20x_regulator_probe()
1454 .dev = pdev->dev.parent, in axp20x_regulator_probe()
1455 .regmap = axp20x->regmap, in axp20x_regulator_probe()
1465 switch (axp20x->variant) { in axp20x_regulator_probe()
1475 drivevbus = of_property_read_bool(pdev->dev.parent->of_node, in axp20x_regulator_probe()
1476 "x-powers,drive-vbus-en"); in axp20x_regulator_probe()
1485 drivevbus = of_property_read_bool(pdev->dev.parent->of_node, in axp20x_regulator_probe()
1486 "x-powers,drive-vbus-en"); in axp20x_regulator_probe()
1499 drivevbus = of_property_read_bool(pdev->dev.parent->of_node, in axp20x_regulator_probe()
1500 "x-powers,drive-vbus-en"); in axp20x_regulator_probe()
1507 dev_err(&pdev->dev, "Unsupported AXP variant: %ld\n", in axp20x_regulator_probe()
1508 axp20x->variant); in axp20x_regulator_probe()
1509 return -EINVAL; in axp20x_regulator_probe()
1515 for (i = 0; i < nregulators; i++) { in axp20x_regulator_probe()
1520 * If this regulator is a slave in a poly-phase setup, in axp20x_regulator_probe()
1528 if (axp20x->variant == AXP813_ID && i == AXP813_FLDO3) in axp20x_regulator_probe()
1545 new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), in axp20x_regulator_probe()
1548 return -ENOMEM; in axp20x_regulator_probe()
1551 new_desc->supply_name = dcdc1_name; in axp20x_regulator_probe()
1558 new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), in axp20x_regulator_probe()
1561 return -ENOMEM; in axp20x_regulator_probe()
1564 new_desc->supply_name = dcdc5_name; in axp20x_regulator_probe()
1570 new_desc = devm_kzalloc(&pdev->dev, sizeof(*desc), in axp20x_regulator_probe()
1573 return -ENOMEM; in axp20x_regulator_probe()
1576 new_desc->supply_name = aldo1_name; in axp20x_regulator_probe()
1580 rdev = devm_regulator_register(&pdev->dev, desc, &config); in axp20x_regulator_probe()
1582 dev_err(&pdev->dev, "Failed to register %s\n", in axp20x_regulator_probe()
1588 ret = of_property_read_u32(rdev->dev.of_node, in axp20x_regulator_probe()
1589 "x-powers,dcdc-workmode", in axp20x_regulator_probe()
1593 dev_err(&pdev->dev, "Failed to set workmode on %s\n", in axp20x_regulator_probe()
1594 rdev->desc->name); in axp20x_regulator_probe()
1603 of_property_read_string(rdev->dev.of_node, in axp20x_regulator_probe()
1604 "regulator-name", in axp20x_regulator_probe()
1610 of_property_read_string(rdev->dev.of_node, in axp20x_regulator_probe()
1611 "regulator-name", in axp20x_regulator_probe()
1615 of_property_read_string(rdev->dev.of_node, in axp20x_regulator_probe()
1616 "regulator-name", in axp20x_regulator_probe()
1622 regmap_update_bits(axp20x->regmap, AXP20X_OVER_TMP, in axp20x_regulator_probe()
1623 AXP22X_MISC_N_VBUSEN_FUNC, 0); in axp20x_regulator_probe()
1624 rdev = devm_regulator_register(&pdev->dev, in axp20x_regulator_probe()
1628 dev_err(&pdev->dev, "Failed to register drivevbus\n"); in axp20x_regulator_probe()
1633 return 0; in axp20x_regulator_probe()
1639 .name = "axp20x-regulator",
1649 MODULE_ALIAS("platform:axp20x-regulator");