xref: /rk3399_rockchip-uboot/include/axp818.h (revision dc557e9a1fe00ca9d884bd88feef5bebf23fede4)
1813c7372Svishnupatekar /*
2813c7372Svishnupatekar  * (C) Copyright 2015 Vishnu Patekar <vishnupatekar0510@gmail.com>
3813c7372Svishnupatekar  *
4813c7372Svishnupatekar  * X-Powers AXP818 Power Management IC driver
5813c7372Svishnupatekar  *
6813c7372Svishnupatekar  * SPDX-License-Identifier:	GPL-2.0+
7813c7372Svishnupatekar  */
8813c7372Svishnupatekar 
9813c7372Svishnupatekar #define AXP818_CHIP_ID		0x03
10813c7372Svishnupatekar 
11813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1	0x10
12813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1_DCDC1_EN	(1 << 0)
13813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1_DCDC2_EN	(1 << 1)
14813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1_DCDC3_EN	(1 << 2)
15813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1_DCDC4_EN	(1 << 3)
16813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1_DCDC5_EN	(1 << 4)
17813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1_DCDC6_EN	(1 << 5)
18813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL1_DCDC7_EN	(1 << 6)
19813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2	0x12
20813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2_ELDO1_EN	(1 << 0)
21813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2_ELDO2_EN	(1 << 1)
22813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2_ELDO3_EN	(1 << 2)
23813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2_DLDO1_EN	(1 << 3)
24813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2_DLDO2_EN	(1 << 4)
25813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2_DLDO3_EN	(1 << 5)
26813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL2_DLDO4_EN	(1 << 6)
2715278ccbSChen-Yu Tsai #define AXP818_OUTPUT_CTRL2_SW_EN	(1 << 7)
28813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL3	0x13
29813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL3_FLDO1_EN	(1 << 2)
30813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL3_FLDO2_EN	(1 << 3)
31813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL3_FLDO3_EN	(1 << 4)
32813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL3_ALDO1_EN	(1 << 5)
33813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL3_ALDO2_EN	(1 << 6)
34813c7372Svishnupatekar #define AXP818_OUTPUT_CTRL3_ALDO3_EN	(1 << 7)
35813c7372Svishnupatekar 
36813c7372Svishnupatekar #define AXP818_DLDO1_CTRL	0x15
37813c7372Svishnupatekar #define AXP818_DLDO2_CTRL	0x16
38813c7372Svishnupatekar #define AXP818_DLDO3_CTRL	0x17
39813c7372Svishnupatekar #define AXP818_DLDO4_CTRL	0x18
40813c7372Svishnupatekar #define AXP818_ELDO1_CTRL	0x19
41813c7372Svishnupatekar #define AXP818_ELDO2_CTRL	0x1a
42813c7372Svishnupatekar #define AXP818_ELDO3_CTRL	0x1b
43813c7372Svishnupatekar #define AXP818_FLDO1_CTRL	0x1c
44813c7372Svishnupatekar #define AXP818_FLDO2_3_CTRL	0x1d
4538491d9cSChen-Yu Tsai #define AXP818_FLDO2_3_CTRL_FLDO3_VOL	(1 << 4)
46813c7372Svishnupatekar #define AXP818_DCDC1_CTRL	0x20
47813c7372Svishnupatekar #define AXP818_DCDC2_CTRL	0x21
48813c7372Svishnupatekar #define AXP818_DCDC3_CTRL	0x22
49813c7372Svishnupatekar #define AXP818_DCDC4_CTRL	0x23
50813c7372Svishnupatekar #define AXP818_DCDC5_CTRL	0x24
51813c7372Svishnupatekar #define AXP818_DCDC6_CTRL	0x25
52813c7372Svishnupatekar #define AXP818_DCDC7_CTRL	0x26
53813c7372Svishnupatekar 
54813c7372Svishnupatekar #define AXP818_ALDO1_CTRL	0x28
55813c7372Svishnupatekar #define AXP818_ALDO2_CTRL	0x29
56813c7372Svishnupatekar #define AXP818_ALDO3_CTRL	0x2a
57813c7372Svishnupatekar 
58*51199269SChen-Yu Tsai #define AXP818_SHUTDOWN		0x32
59*51199269SChen-Yu Tsai #define AXP818_SHUTDOWN_POWEROFF	(1 << 7)
60*51199269SChen-Yu Tsai 
61813c7372Svishnupatekar /* For axp_gpio.c */
62813c7372Svishnupatekar #define AXP_POWER_STATUS		0x00
63813c7372Svishnupatekar #define AXP_POWER_STATUS_VBUS_PRESENT		(1 << 5)
64b25b7ad1SChen-Yu Tsai #define AXP_VBUS_IPSOUT			0x30
65b25b7ad1SChen-Yu Tsai #define AXP_VBUS_IPSOUT_DRIVEBUS		(1 << 2)
66b25b7ad1SChen-Yu Tsai #define AXP_MISC_CTRL			0x8f
67b25b7ad1SChen-Yu Tsai #define AXP_MISC_CTRL_N_VBUSEN_FUNC		(1 << 4)
68813c7372Svishnupatekar #define AXP_GPIO0_CTRL			0x90
69813c7372Svishnupatekar #define AXP_GPIO1_CTRL			0x92
70813c7372Svishnupatekar #define AXP_GPIO_CTRL_OUTPUT_LOW	0x00 /* Drive pin low */
71813c7372Svishnupatekar #define AXP_GPIO_CTRL_OUTPUT_HIGH	0x01 /* Drive pin high */
72813c7372Svishnupatekar #define AXP_GPIO_CTRL_INPUT		0x02 /* Input */
73813c7372Svishnupatekar #define AXP_GPIO_STATE			0x94
74813c7372Svishnupatekar #define AXP_GPIO_STATE_OFFSET		0
75