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

source code of linux/include/dt-bindings/pinctrl/qcom,pmic-mpp.h