xref: /freebsd/sys/contrib/device-tree/include/dt-bindings/pinctrl/qcom,pmic-mpp.h (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot /* SPDX-License-Identifier: GPL-2.0 */
2*c66ec88fSEmmanuel Vadot /*
3*c66ec88fSEmmanuel Vadot  * This header provides constants for the Qualcomm PMIC's
4*c66ec88fSEmmanuel Vadot  * Multi-Purpose Pin binding.
5*c66ec88fSEmmanuel Vadot  */
6*c66ec88fSEmmanuel Vadot 
7*c66ec88fSEmmanuel Vadot #ifndef _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H
8*c66ec88fSEmmanuel Vadot #define _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H
9*c66ec88fSEmmanuel Vadot 
10*c66ec88fSEmmanuel Vadot /* power-source */
11*c66ec88fSEmmanuel Vadot 
12*c66ec88fSEmmanuel Vadot /* Digital Input/Output: level [PM8058] */
13*c66ec88fSEmmanuel Vadot #define PM8058_MPP_VPH			0
14*c66ec88fSEmmanuel Vadot #define PM8058_MPP_S3			1
15*c66ec88fSEmmanuel Vadot #define PM8058_MPP_L2			2
16*c66ec88fSEmmanuel Vadot #define PM8058_MPP_L3			3
17*c66ec88fSEmmanuel Vadot 
18*c66ec88fSEmmanuel Vadot /* Digital Input/Output: level [PM8901] */
19*c66ec88fSEmmanuel Vadot #define PM8901_MPP_MSMIO		0
20*c66ec88fSEmmanuel Vadot #define PM8901_MPP_DIG			1
21*c66ec88fSEmmanuel Vadot #define PM8901_MPP_L5			2
22*c66ec88fSEmmanuel Vadot #define PM8901_MPP_S4			3
23*c66ec88fSEmmanuel Vadot #define PM8901_MPP_VPH			4
24*c66ec88fSEmmanuel Vadot 
25*c66ec88fSEmmanuel Vadot /* Digital Input/Output: level [PM8921] */
26*c66ec88fSEmmanuel Vadot #define PM8921_MPP_S4			1
27*c66ec88fSEmmanuel Vadot #define PM8921_MPP_L15			3
28*c66ec88fSEmmanuel Vadot #define PM8921_MPP_L17			4
29*c66ec88fSEmmanuel Vadot #define PM8921_MPP_VPH			7
30*c66ec88fSEmmanuel Vadot 
31*c66ec88fSEmmanuel Vadot /* Digital Input/Output: level [PM8821] */
32*c66ec88fSEmmanuel Vadot #define PM8821_MPP_1P8			0
33*c66ec88fSEmmanuel Vadot #define PM8821_MPP_VPH			7
34*c66ec88fSEmmanuel Vadot 
35*c66ec88fSEmmanuel Vadot /* Digital Input/Output: level [PM8018] */
36*c66ec88fSEmmanuel Vadot #define PM8018_MPP_L4			0
37*c66ec88fSEmmanuel Vadot #define PM8018_MPP_L14			1
38*c66ec88fSEmmanuel Vadot #define PM8018_MPP_S3			2
39*c66ec88fSEmmanuel Vadot #define PM8018_MPP_L6			3
40*c66ec88fSEmmanuel Vadot #define PM8018_MPP_L2			4
41*c66ec88fSEmmanuel Vadot #define PM8018_MPP_L5			5
42*c66ec88fSEmmanuel Vadot #define PM8018_MPP_VPH			7
43*c66ec88fSEmmanuel Vadot 
44*c66ec88fSEmmanuel Vadot /* Digital Input/Output: level [PM8038] */
45*c66ec88fSEmmanuel Vadot #define PM8038_MPP_L20			0
46*c66ec88fSEmmanuel Vadot #define PM8038_MPP_L11			1
47*c66ec88fSEmmanuel Vadot #define PM8038_MPP_L5			2
48*c66ec88fSEmmanuel Vadot #define PM8038_MPP_L15			3
49*c66ec88fSEmmanuel Vadot #define PM8038_MPP_L17			4
50*c66ec88fSEmmanuel Vadot #define PM8038_MPP_VPH			7
51*c66ec88fSEmmanuel Vadot 
52*c66ec88fSEmmanuel Vadot #define PM8841_MPP_VPH			0
53*c66ec88fSEmmanuel Vadot #define PM8841_MPP_S3			2
54*c66ec88fSEmmanuel Vadot 
55*c66ec88fSEmmanuel Vadot #define PM8916_MPP_VPH			0
56*c66ec88fSEmmanuel Vadot #define PM8916_MPP_L2			2
57*c66ec88fSEmmanuel Vadot #define PM8916_MPP_L5			3
58*c66ec88fSEmmanuel Vadot 
59*c66ec88fSEmmanuel Vadot #define PM8941_MPP_VPH			0
60*c66ec88fSEmmanuel Vadot #define PM8941_MPP_L1			1
61*c66ec88fSEmmanuel Vadot #define PM8941_MPP_S3			2
62*c66ec88fSEmmanuel Vadot #define PM8941_MPP_L6			3
63*c66ec88fSEmmanuel Vadot 
64*c66ec88fSEmmanuel Vadot #define PMA8084_MPP_VPH			0
65*c66ec88fSEmmanuel Vadot #define PMA8084_MPP_L1			1
66*c66ec88fSEmmanuel Vadot #define PMA8084_MPP_S4			2
67*c66ec88fSEmmanuel Vadot #define PMA8084_MPP_L6			3
68*c66ec88fSEmmanuel Vadot 
69*c66ec88fSEmmanuel Vadot #define PM8994_MPP_VPH			0
70*c66ec88fSEmmanuel Vadot /* Only supported for MPP_05-MPP_08 */
71*c66ec88fSEmmanuel Vadot #define PM8994_MPP_L19			1
72*c66ec88fSEmmanuel Vadot #define PM8994_MPP_S4			2
73*c66ec88fSEmmanuel Vadot #define PM8994_MPP_L12			3
74*c66ec88fSEmmanuel Vadot 
75*c66ec88fSEmmanuel Vadot /*
76*c66ec88fSEmmanuel Vadot  * Analog Input - Set the source for analog input.
77*c66ec88fSEmmanuel Vadot  * To be used with "qcom,amux-route" property
78*c66ec88fSEmmanuel Vadot  */
79*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_CH5		0
80*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_CH6		1
81*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_CH7		2
82*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_CH8		3
83*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_ABUS1	4
84*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_ABUS2	5
85*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_ABUS3	6
86*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AMUX_ROUTE_ABUS4	7
87*c66ec88fSEmmanuel Vadot 
88*c66ec88fSEmmanuel Vadot /* Analog Output: level */
89*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_1V25		0
90*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_1V25_2	1
91*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_0V625		2
92*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_0V3125	3
93*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_MPP		4
94*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_ABUS1		5
95*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_ABUS2		6
96*c66ec88fSEmmanuel Vadot #define PMIC_MPP_AOUT_LVL_ABUS3		7
97*c66ec88fSEmmanuel Vadot 
98*c66ec88fSEmmanuel Vadot /* To be used with "function" */
99*c66ec88fSEmmanuel Vadot #define PMIC_MPP_FUNC_NORMAL		"normal"
100*c66ec88fSEmmanuel Vadot #define PMIC_MPP_FUNC_PAIRED		"paired"
101*c66ec88fSEmmanuel Vadot #define PMIC_MPP_FUNC_DTEST1		"dtest1"
102*c66ec88fSEmmanuel Vadot #define PMIC_MPP_FUNC_DTEST2		"dtest2"
103*c66ec88fSEmmanuel Vadot #define PMIC_MPP_FUNC_DTEST3		"dtest3"
104*c66ec88fSEmmanuel Vadot #define PMIC_MPP_FUNC_DTEST4		"dtest4"
105*c66ec88fSEmmanuel Vadot 
106*c66ec88fSEmmanuel Vadot #endif
107