qcom,pmic-gpio.h revision 1.1.1.3
1/*	$NetBSD: qcom,pmic-gpio.h,v 1.1.1.3 2017/11/30 19:40:51 jmcneill Exp $	*/
2
3/* SPDX-License-Identifier: GPL-2.0 */
4/*
5 * This header provides constants for the Qualcomm PMIC GPIO binding.
6 */
7
8#ifndef _DT_BINDINGS_PINCTRL_QCOM_PMIC_GPIO_H
9#define _DT_BINDINGS_PINCTRL_QCOM_PMIC_GPIO_H
10
11#define PMIC_GPIO_PULL_UP_30		0
12#define PMIC_GPIO_PULL_UP_1P5		1
13#define PMIC_GPIO_PULL_UP_31P5		2
14#define PMIC_GPIO_PULL_UP_1P5_30	3
15
16#define PMIC_GPIO_STRENGTH_NO		0
17#define PMIC_GPIO_STRENGTH_HIGH		1
18#define PMIC_GPIO_STRENGTH_MED		2
19#define PMIC_GPIO_STRENGTH_LOW		3
20
21/*
22 * Note: PM8018 GPIO3 and GPIO4 are supporting
23 * only S3 and L2 options (1.8V)
24 */
25#define PM8018_GPIO_L6			0
26#define PM8018_GPIO_L5			1
27#define PM8018_GPIO_S3			2
28#define PM8018_GPIO_L14			3
29#define PM8018_GPIO_L2			4
30#define PM8018_GPIO_L4			5
31#define PM8018_GPIO_VDD			6
32
33/*
34 * Note: PM8038 GPIO7 and GPIO8 are supporting
35 * only L11 and L4 options (1.8V)
36 */
37#define PM8038_GPIO_VPH			0
38#define PM8038_GPIO_BB			1
39#define PM8038_GPIO_L11			2
40#define PM8038_GPIO_L15			3
41#define PM8038_GPIO_L4			4
42#define PM8038_GPIO_L3			5
43#define PM8038_GPIO_L17			6
44
45#define PM8058_GPIO_VPH			0
46#define PM8058_GPIO_BB			1
47#define PM8058_GPIO_S3			2
48#define PM8058_GPIO_L3			3
49#define PM8058_GPIO_L7			4
50#define PM8058_GPIO_L6			5
51#define PM8058_GPIO_L5			6
52#define PM8058_GPIO_L2			7
53
54/*
55 * Note: PM8916 GPIO1 and GPIO2 are supporting
56 * only L2(1.15V) and L5(1.8V) options
57 */
58#define PM8916_GPIO_VPH			0
59#define PM8916_GPIO_L2			2
60#define PM8916_GPIO_L5			3
61
62#define PM8917_GPIO_VPH			0
63#define PM8917_GPIO_S4			2
64#define PM8917_GPIO_L15			3
65#define PM8917_GPIO_L4			4
66#define PM8917_GPIO_L3			5
67#define PM8917_GPIO_L17			6
68
69#define PM8921_GPIO_VPH			0
70#define PM8921_GPIO_BB			1
71#define PM8921_GPIO_S4			2
72#define PM8921_GPIO_L15			3
73#define PM8921_GPIO_L4			4
74#define PM8921_GPIO_L3			5
75#define PM8921_GPIO_L17			6
76
77/*
78 * Note: PM8941 gpios from 15 to 18 are supporting
79 * only S3 and L6 options (1.8V)
80 */
81#define PM8941_GPIO_VPH			0
82#define PM8941_GPIO_L1			1
83#define PM8941_GPIO_S3			2
84#define PM8941_GPIO_L6			3
85
86/*
87 * Note: PMA8084 gpios from 15 to 18 are supporting
88 * only S4 and L6 options (1.8V)
89 */
90#define PMA8084_GPIO_VPH		0
91#define PMA8084_GPIO_L1			1
92#define PMA8084_GPIO_S4			2
93#define PMA8084_GPIO_L6			3
94
95#define PM8994_GPIO_VPH			0
96#define PM8994_GPIO_S4			2
97#define PM8994_GPIO_L12			3
98
99/* To be used with "function" */
100#define PMIC_GPIO_FUNC_NORMAL		"normal"
101#define PMIC_GPIO_FUNC_PAIRED		"paired"
102#define PMIC_GPIO_FUNC_FUNC1		"func1"
103#define PMIC_GPIO_FUNC_FUNC2		"func2"
104#define PMIC_GPIO_FUNC_FUNC3		"func3"
105#define PMIC_GPIO_FUNC_FUNC4		"func4"
106#define PMIC_GPIO_FUNC_DTEST1		"dtest1"
107#define PMIC_GPIO_FUNC_DTEST2		"dtest2"
108#define PMIC_GPIO_FUNC_DTEST3		"dtest3"
109#define PMIC_GPIO_FUNC_DTEST4		"dtest4"
110
111#define PM8038_GPIO1_2_LPG_DRV		PMIC_GPIO_FUNC_FUNC1
112#define PM8038_GPIO3_5V_BOOST_EN	PMIC_GPIO_FUNC_FUNC1
113#define PM8038_GPIO4_SSBI_ALT_CLK	PMIC_GPIO_FUNC_FUNC1
114#define PM8038_GPIO5_6_EXT_REG_EN	PMIC_GPIO_FUNC_FUNC1
115#define PM8038_GPIO10_11_EXT_REG_EN	PMIC_GPIO_FUNC_FUNC1
116#define PM8038_GPIO6_7_CLK		PMIC_GPIO_FUNC_FUNC1
117#define PM8038_GPIO9_BAT_ALRM_OUT	PMIC_GPIO_FUNC_FUNC1
118#define PM8038_GPIO6_12_KYPD_DRV	PMIC_GPIO_FUNC_FUNC2
119
120#define PM8058_GPIO7_8_MP3_CLK		PMIC_GPIO_FUNC_FUNC1
121#define PM8058_GPIO7_8_BCLK_19P2MHZ	PMIC_GPIO_FUNC_FUNC2
122#define PM8058_GPIO9_26_KYPD_DRV	PMIC_GPIO_FUNC_FUNC1
123#define PM8058_GPIO21_23_UART_TX	PMIC_GPIO_FUNC_FUNC2
124#define PM8058_GPIO24_26_LPG_DRV	PMIC_GPIO_FUNC_FUNC2
125#define PM8058_GPIO33_BCLK_19P2MHZ	PMIC_GPIO_FUNC_FUNC1
126#define PM8058_GPIO34_35_MP3_CLK	PMIC_GPIO_FUNC_FUNC1
127#define PM8058_GPIO36_BCLK_19P2MHZ	PMIC_GPIO_FUNC_FUNC1
128#define PM8058_GPIO37_UPL_OUT		PMIC_GPIO_FUNC_FUNC1
129#define PM8058_GPIO37_UART_M_RX		PMIC_GPIO_FUNC_FUNC2
130#define PM8058_GPIO38_XO_SLEEP_CLK	PMIC_GPIO_FUNC_FUNC1
131#define PM8058_GPIO38_39_CLK_32KHZ	PMIC_GPIO_FUNC_FUNC2
132#define PM8058_GPIO39_MP3_CLK		PMIC_GPIO_FUNC_FUNC1
133#define PM8058_GPIO40_EXT_BB_EN		PMIC_GPIO_FUNC_FUNC1
134
135#define PM8916_GPIO1_BAT_ALRM_OUT	PMIC_GPIO_FUNC_FUNC1
136#define PM8916_GPIO1_KEYP_DRV		PMIC_GPIO_FUNC_FUNC2
137#define PM8916_GPIO2_DIV_CLK		PMIC_GPIO_FUNC_FUNC1
138#define PM8916_GPIO2_SLEEP_CLK		PMIC_GPIO_FUNC_FUNC2
139#define PM8916_GPIO3_KEYP_DRV		PMIC_GPIO_FUNC_FUNC1
140#define PM8916_GPIO4_KEYP_DRV		PMIC_GPIO_FUNC_FUNC2
141
142#define PM8917_GPIO9_18_KEYP_DRV	PMIC_GPIO_FUNC_FUNC1
143#define PM8917_GPIO20_BAT_ALRM_OUT	PMIC_GPIO_FUNC_FUNC1
144#define PM8917_GPIO21_23_UART_TX	PMIC_GPIO_FUNC_FUNC2
145#define PM8917_GPIO25_26_EXT_REG_EN	PMIC_GPIO_FUNC_FUNC1
146#define PM8917_GPIO37_38_XO_SLEEP_CLK	PMIC_GPIO_FUNC_FUNC1
147#define PM8917_GPIO37_38_MP3_CLK	PMIC_GPIO_FUNC_FUNC2
148
149#define PM8941_GPIO9_14_KYPD_DRV	PMIC_GPIO_FUNC_FUNC1
150#define PM8941_GPIO15_18_DIV_CLK	PMIC_GPIO_FUNC_FUNC1
151#define PM8941_GPIO15_18_SLEEP_CLK	PMIC_GPIO_FUNC_FUNC2
152#define PM8941_GPIO23_26_KYPD_DRV	PMIC_GPIO_FUNC_FUNC1
153#define PM8941_GPIO23_26_LPG_DRV_HI	PMIC_GPIO_FUNC_FUNC2
154#define PM8941_GPIO31_BAT_ALRM_OUT	PMIC_GPIO_FUNC_FUNC1
155#define PM8941_GPIO33_36_LPG_DRV_3D	PMIC_GPIO_FUNC_FUNC1
156#define PM8941_GPIO33_36_LPG_DRV_HI	PMIC_GPIO_FUNC_FUNC2
157
158#define PMA8084_GPIO4_5_LPG_DRV		PMIC_GPIO_FUNC_FUNC1
159#define PMA8084_GPIO7_10_LPG_DRV	PMIC_GPIO_FUNC_FUNC1
160#define PMA8084_GPIO5_14_KEYP_DRV	PMIC_GPIO_FUNC_FUNC2
161#define PMA8084_GPIO19_21_KEYP_DRV	PMIC_GPIO_FUNC_FUNC2
162#define PMA8084_GPIO15_18_DIV_CLK	PMIC_GPIO_FUNC_FUNC1
163#define PMA8084_GPIO15_18_SLEEP_CLK	PMIC_GPIO_FUNC_FUNC2
164#define PMA8084_GPIO22_BAT_ALRM_OUT	PMIC_GPIO_FUNC_FUNC1
165
166#endif
167