blob: 2e360d8f780172209ac0a3a7096be1ec767bdee4 [file] [log] [blame]
Ivan T. Ivanov89a71172014-10-22 12:58:45 +03001/*
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 */
Bjorn Anderssonb4c45fe2015-07-14 23:40:35 -070010
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
Ivan T. Ivanov89a71172014-10-22 12:58:45 +030051#define PM8841_MPP_VPH 0
52#define PM8841_MPP_S3 2
53
Ivan T. Ivanov7414b092015-03-31 12:37:18 +030054#define PM8916_MPP_VPH 0
55#define PM8916_MPP_L2 2
56#define PM8916_MPP_L5 3
57
Ivan T. Ivanov89a71172014-10-22 12:58:45 +030058#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
Srinivas Kandagatla636959f2016-09-16 18:41:20 +010068#define PM8994_MPP_VPH 0
69/* Only supported for MPP_05-MPP_08 */
70#define PM8994_MPP_L19 1
71#define PM8994_MPP_S4 2
72#define PM8994_MPP_L12 3
73
Ivan T. Ivanov89a71172014-10-22 12:58:45 +030074/*
75 * Analog Input - Set the source for analog input.
76 * To be used with "qcom,amux-route" property
77 */
78#define PMIC_MPP_AMUX_ROUTE_CH5 0
79#define PMIC_MPP_AMUX_ROUTE_CH6 1
80#define PMIC_MPP_AMUX_ROUTE_CH7 2
81#define PMIC_MPP_AMUX_ROUTE_CH8 3
82#define PMIC_MPP_AMUX_ROUTE_ABUS1 4
83#define PMIC_MPP_AMUX_ROUTE_ABUS2 5
84#define PMIC_MPP_AMUX_ROUTE_ABUS3 6
85#define PMIC_MPP_AMUX_ROUTE_ABUS4 7
86
Bjorn Anderssonb4c45fe2015-07-14 23:40:35 -070087/* Analog Output: level */
88#define PMIC_MPP_AOUT_LVL_1V25 0
89#define PMIC_MPP_AOUT_LVL_1V25_2 1
90#define PMIC_MPP_AOUT_LVL_0V625 2
91#define PMIC_MPP_AOUT_LVL_0V3125 3
92#define PMIC_MPP_AOUT_LVL_MPP 4
93#define PMIC_MPP_AOUT_LVL_ABUS1 5
94#define PMIC_MPP_AOUT_LVL_ABUS2 6
95#define PMIC_MPP_AOUT_LVL_ABUS3 7
96
Ivan T. Ivanov89a71172014-10-22 12:58:45 +030097/* To be used with "function" */
98#define PMIC_MPP_FUNC_NORMAL "normal"
99#define PMIC_MPP_FUNC_PAIRED "paired"
100#define PMIC_MPP_FUNC_DTEST1 "dtest1"
101#define PMIC_MPP_FUNC_DTEST2 "dtest2"
102#define PMIC_MPP_FUNC_DTEST3 "dtest3"
103#define PMIC_MPP_FUNC_DTEST4 "dtest4"
104
105#endif