xref: /linux/include/dt-bindings/pinctrl/qcom,pmic-mpp.h (revision ca55b2fef3a9373fcfc30f82fd26bc7fccbda732)
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 /*
69  * Analog Input - Set the source for analog input.
70  * To be used with "qcom,amux-route" property
71  */
72 #define PMIC_MPP_AMUX_ROUTE_CH5		0
73 #define PMIC_MPP_AMUX_ROUTE_CH6		1
74 #define PMIC_MPP_AMUX_ROUTE_CH7		2
75 #define PMIC_MPP_AMUX_ROUTE_CH8		3
76 #define PMIC_MPP_AMUX_ROUTE_ABUS1	4
77 #define PMIC_MPP_AMUX_ROUTE_ABUS2	5
78 #define PMIC_MPP_AMUX_ROUTE_ABUS3	6
79 #define PMIC_MPP_AMUX_ROUTE_ABUS4	7
80 
81 /* Analog Output: level */
82 #define PMIC_MPP_AOUT_LVL_1V25		0
83 #define PMIC_MPP_AOUT_LVL_1V25_2	1
84 #define PMIC_MPP_AOUT_LVL_0V625		2
85 #define PMIC_MPP_AOUT_LVL_0V3125	3
86 #define PMIC_MPP_AOUT_LVL_MPP		4
87 #define PMIC_MPP_AOUT_LVL_ABUS1		5
88 #define PMIC_MPP_AOUT_LVL_ABUS2		6
89 #define PMIC_MPP_AOUT_LVL_ABUS3		7
90 
91 /* To be used with "function" */
92 #define PMIC_MPP_FUNC_NORMAL		"normal"
93 #define PMIC_MPP_FUNC_PAIRED		"paired"
94 #define PMIC_MPP_FUNC_DTEST1		"dtest1"
95 #define PMIC_MPP_FUNC_DTEST2		"dtest2"
96 #define PMIC_MPP_FUNC_DTEST3		"dtest3"
97 #define PMIC_MPP_FUNC_DTEST4		"dtest4"
98 
99 #endif
100