blob: 46a017d2efa2e101b6df851055a7df7fb28ba331 [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001/* SPDX-License-Identifier: GPL-2.0+ */
Hans de Goede6944aff2015-10-03 15:18:33 +02002/*
3 * (C) Copyright 2015 Hans de Goede <hdegoede@redhat.com>
4 *
5 * X-Powers AX Power Management IC support header
Hans de Goede6944aff2015-10-03 15:18:33 +02006 */
7#ifndef _AXP_PMIC_H_
8
Samuel Holland104950a2021-10-08 00:17:20 -05009#include <stdbool.h>
10
Hans de Goede6944aff2015-10-03 15:18:33 +020011#ifdef CONFIG_AXP152_POWER
12#include <axp152.h>
13#endif
14#ifdef CONFIG_AXP209_POWER
15#include <axp209.h>
16#endif
17#ifdef CONFIG_AXP221_POWER
18#include <axp221.h>
19#endif
Jernej Skrabecfbd37d82021-01-11 21:11:33 +010020#ifdef CONFIG_AXP305_POWER
21#include <axp305.h>
22#endif
Chen-Yu Tsai795857d2016-05-02 10:28:15 +080023#ifdef CONFIG_AXP809_POWER
24#include <axp809.h>
25#endif
vishnupatekar813c7372015-11-29 01:07:21 +080026#ifdef CONFIG_AXP818_POWER
27#include <axp818.h>
28#endif
Hans de Goede6944aff2015-10-03 15:18:33 +020029
Samuel Holland104950a2021-10-08 00:17:20 -050030#define AXP_PMIC_MODE_REG 0x3e
31#define AXP_PMIC_MODE_I2C 0x00
32#define AXP_PMIC_MODE_P2WI 0x3e
Samuel Holland3227c852021-10-08 00:17:21 -050033#define AXP_PMIC_MODE_RSB 0x7c
34
35#define AXP_PMIC_PRI_DEVICE_ADDR 0x3a3
36#define AXP_PMIC_PRI_RUNTIME_ADDR 0x2d
37#define AXP_PMIC_SEC_DEVICE_ADDR 0x745
38#define AXP_PMIC_SEC_RUNTIME_ADDR 0x3a
Samuel Holland104950a2021-10-08 00:17:20 -050039
Hans de Goede6944aff2015-10-03 15:18:33 +020040int axp_set_dcdc1(unsigned int mvolt);
41int axp_set_dcdc2(unsigned int mvolt);
42int axp_set_dcdc3(unsigned int mvolt);
43int axp_set_dcdc4(unsigned int mvolt);
44int axp_set_dcdc5(unsigned int mvolt);
45int axp_set_aldo1(unsigned int mvolt);
46int axp_set_aldo2(unsigned int mvolt);
47int axp_set_aldo3(unsigned int mvolt);
48int axp_set_aldo4(unsigned int mvolt);
Chen-Yu Tsai3517a272016-01-12 14:42:37 +080049int axp_set_dldo(int dldo_num, unsigned int mvolt);
Hans de Goede6944aff2015-10-03 15:18:33 +020050int axp_set_eldo(int eldo_num, unsigned int mvolt);
Chen-Yu Tsai38491d92016-03-30 00:26:48 +080051int axp_set_fldo(int fldo_num, unsigned int mvolt);
Chen-Yu Tsai15278cc2016-05-02 10:28:12 +080052int axp_set_sw(bool on);
Hans de Goede6944aff2015-10-03 15:18:33 +020053int axp_init(void);
54int axp_get_sid(unsigned int *sid);
55
56#endif