1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * (C) Copyright 2015 Hans de Goede <hdegoede@redhat.com> 4 * 5 * X-Powers AX Power Management IC support header 6 */ 7 #ifndef _AXP_PMIC_H_ 8 #define _AXP_PMIC_H_ 9 10 #include <stdbool.h> 11 12 #include <axp152.h> 13 #include <axp209.h> 14 #include <axp221.h> 15 #include <axp305.h> 16 #include <axp809.h> 17 #include <axp818.h> 18 19 #define AXP_PMIC_MODE_REG 0x3e 20 #define AXP_PMIC_MODE_I2C 0x00 21 #define AXP_PMIC_MODE_P2WI 0x3e 22 #define AXP_PMIC_MODE_RSB 0x7c 23 24 #define AXP_PMIC_PRI_DEVICE_ADDR 0x3a3 25 #define AXP_PMIC_PRI_RUNTIME_ADDR 0x2d 26 #define AXP_PMIC_SEC_DEVICE_ADDR 0x745 27 #define AXP_PMIC_SEC_RUNTIME_ADDR 0x3a 28 29 enum { 30 AXP152_ID, 31 AXP202_ID, 32 AXP209_ID, 33 AXP221_ID, 34 AXP223_ID, 35 AXP803_ID, 36 AXP806_ID, 37 AXP809_ID, 38 AXP813_ID, 39 }; 40 41 int axp_set_dcdc1(unsigned int mvolt); 42 int axp_set_dcdc2(unsigned int mvolt); 43 int axp_set_dcdc3(unsigned int mvolt); 44 int axp_set_dcdc4(unsigned int mvolt); 45 int axp_set_dcdc5(unsigned int mvolt); 46 int axp_set_aldo1(unsigned int mvolt); 47 int axp_set_aldo2(unsigned int mvolt); 48 int axp_set_aldo3(unsigned int mvolt); 49 int axp_set_aldo4(unsigned int mvolt); 50 int axp_set_dldo(int dldo_num, unsigned int mvolt); 51 int axp_set_eldo(int eldo_num, unsigned int mvolt); 52 int axp_set_fldo(int fldo_num, unsigned int mvolt); 53 int axp_set_sw(bool on); 54 int axp_init(void); 55 int axp_get_sid(unsigned int *sid); 56 57 #endif 58