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
29enum {
30	AXP152_ID,
31	AXP202_ID,
32	AXP209_ID,
33	AXP221_ID,
34	AXP223_ID,
35	AXP313_ID,
36	AXP803_ID,
37	AXP806_ID,
38	AXP809_ID,
39	AXP813_ID,
40};
41
42int axp_set_dcdc1(unsigned int mvolt);
43int axp_set_dcdc2(unsigned int mvolt);
44int axp_set_dcdc3(unsigned int mvolt);
45int axp_set_dcdc4(unsigned int mvolt);
46int axp_set_dcdc5(unsigned int mvolt);
47int axp_set_aldo1(unsigned int mvolt);
48int axp_set_aldo2(unsigned int mvolt);
49int axp_set_aldo3(unsigned int mvolt);
50int axp_set_aldo4(unsigned int mvolt);
51int axp_set_dldo(int dldo_num, unsigned int mvolt);
52int axp_set_eldo(int eldo_num, unsigned int mvolt);
53int axp_set_fldo(int fldo_num, unsigned int mvolt);
54int axp_set_sw(bool on);
55int axp_init(void);
56int axp_get_sid(unsigned int *sid);
57
58#endif
59