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