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