diff options
Diffstat (limited to 'include/axp_pmic.h')
-rw-r--r-- | include/axp_pmic.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/include/axp_pmic.h b/include/axp_pmic.h new file mode 100644 index 00000000000..1806a7270a0 --- /dev/null +++ b/include/axp_pmic.h @@ -0,0 +1,60 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * (C) Copyright 2015 Hans de Goede <hdegoede@redhat.com> + * + * X-Powers AX Power Management IC support header + */ +#ifndef _AXP_PMIC_H_ +#define _AXP_PMIC_H_ + +#include <stdbool.h> + +#include <axp152.h> +#include <axp209.h> +#include <axp221.h> +#include <axp305.h> +#include <axp809.h> +#include <axp818.h> + +#define AXP_PMIC_MODE_REG 0x3e +#define AXP_PMIC_MODE_I2C 0x00 +#define AXP_PMIC_MODE_P2WI 0x3e +#define AXP_PMIC_MODE_RSB 0x7c + +#define AXP_PMIC_PRI_DEVICE_ADDR 0x3a3 +#define AXP_PMIC_PRI_RUNTIME_ADDR 0x2d +#define AXP_PMIC_SEC_DEVICE_ADDR 0x745 +#define AXP_PMIC_SEC_RUNTIME_ADDR 0x3a + +enum { + AXP152_ID, + AXP202_ID, + AXP209_ID, + AXP221_ID, + AXP223_ID, + AXP313_ID, + AXP323_ID, + AXP717_ID, + AXP803_ID, + AXP806_ID, + AXP809_ID, + AXP813_ID, +}; + +int axp_set_dcdc1(unsigned int mvolt); +int axp_set_dcdc2(unsigned int mvolt); +int axp_set_dcdc3(unsigned int mvolt); +int axp_set_dcdc4(unsigned int mvolt); +int axp_set_dcdc5(unsigned int mvolt); +int axp_set_aldo1(unsigned int mvolt); +int axp_set_aldo2(unsigned int mvolt); +int axp_set_aldo3(unsigned int mvolt); +int axp_set_aldo4(unsigned int mvolt); +int axp_set_dldo(int dldo_num, unsigned int mvolt); +int axp_set_eldo(int eldo_num, unsigned int mvolt); +int axp_set_fldo(int fldo_num, unsigned int mvolt); +int axp_set_sw(bool on); +int axp_init(void); +int axp_get_sid(unsigned int *sid); + +#endif |