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