xref: /openbmc/linux/include/dt-bindings/pinctrl/qcom,pmic-mpp.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
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