xref: /openbmc/linux/scripts/dtc/include-prefixes/dt-bindings/pinctrl/qcom,pmic-mpp.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
289a7117dSIvan T. Ivanov /*
389a7117dSIvan T. Ivanov  * This header provides constants for the Qualcomm PMIC's
489a7117dSIvan T. Ivanov  * Multi-Purpose Pin binding.
589a7117dSIvan T. Ivanov  */
689a7117dSIvan T. Ivanov 
789a7117dSIvan T. Ivanov #ifndef _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H
889a7117dSIvan T. Ivanov #define _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H
989a7117dSIvan T. Ivanov 
1089a7117dSIvan T. Ivanov /* power-source */
11b4c45fe9SBjorn Andersson 
12b4c45fe9SBjorn Andersson /* Digital Input/Output: level [PM8058] */
13b4c45fe9SBjorn Andersson #define PM8058_MPP_VPH			0
14b4c45fe9SBjorn Andersson #define PM8058_MPP_S3			1
15b4c45fe9SBjorn Andersson #define PM8058_MPP_L2			2
16b4c45fe9SBjorn Andersson #define PM8058_MPP_L3			3
17b4c45fe9SBjorn Andersson 
18b4c45fe9SBjorn Andersson /* Digital Input/Output: level [PM8901] */
19b4c45fe9SBjorn Andersson #define PM8901_MPP_MSMIO		0
20b4c45fe9SBjorn Andersson #define PM8901_MPP_DIG			1
21b4c45fe9SBjorn Andersson #define PM8901_MPP_L5			2
22b4c45fe9SBjorn Andersson #define PM8901_MPP_S4			3
23b4c45fe9SBjorn Andersson #define PM8901_MPP_VPH			4
24b4c45fe9SBjorn Andersson 
25b4c45fe9SBjorn Andersson /* Digital Input/Output: level [PM8921] */
26b4c45fe9SBjorn Andersson #define PM8921_MPP_S4			1
27b4c45fe9SBjorn Andersson #define PM8921_MPP_L15			3
28b4c45fe9SBjorn Andersson #define PM8921_MPP_L17			4
29b4c45fe9SBjorn Andersson #define PM8921_MPP_VPH			7
30b4c45fe9SBjorn Andersson 
31b4c45fe9SBjorn Andersson /* Digital Input/Output: level [PM8821] */
32b4c45fe9SBjorn Andersson #define PM8821_MPP_1P8			0
33b4c45fe9SBjorn Andersson #define PM8821_MPP_VPH			7
34b4c45fe9SBjorn Andersson 
35b4c45fe9SBjorn Andersson /* Digital Input/Output: level [PM8018] */
36b4c45fe9SBjorn Andersson #define PM8018_MPP_L4			0
37b4c45fe9SBjorn Andersson #define PM8018_MPP_L14			1
38b4c45fe9SBjorn Andersson #define PM8018_MPP_S3			2
39b4c45fe9SBjorn Andersson #define PM8018_MPP_L6			3
40b4c45fe9SBjorn Andersson #define PM8018_MPP_L2			4
41b4c45fe9SBjorn Andersson #define PM8018_MPP_L5			5
42b4c45fe9SBjorn Andersson #define PM8018_MPP_VPH			7
43b4c45fe9SBjorn Andersson 
44b4c45fe9SBjorn Andersson /* Digital Input/Output: level [PM8038] */
45b4c45fe9SBjorn Andersson #define PM8038_MPP_L20			0
46b4c45fe9SBjorn Andersson #define PM8038_MPP_L11			1
47b4c45fe9SBjorn Andersson #define PM8038_MPP_L5			2
48b4c45fe9SBjorn Andersson #define PM8038_MPP_L15			3
49b4c45fe9SBjorn Andersson #define PM8038_MPP_L17			4
50b4c45fe9SBjorn Andersson #define PM8038_MPP_VPH			7
51b4c45fe9SBjorn Andersson 
5289a7117dSIvan T. Ivanov #define PM8841_MPP_VPH			0
5389a7117dSIvan T. Ivanov #define PM8841_MPP_S3			2
5489a7117dSIvan T. Ivanov 
557414b099SIvan T. Ivanov #define PM8916_MPP_VPH			0
567414b099SIvan T. Ivanov #define PM8916_MPP_L2			2
577414b099SIvan T. Ivanov #define PM8916_MPP_L5			3
587414b099SIvan T. Ivanov 
5989a7117dSIvan T. Ivanov #define PM8941_MPP_VPH			0
6089a7117dSIvan T. Ivanov #define PM8941_MPP_L1			1
6189a7117dSIvan T. Ivanov #define PM8941_MPP_S3			2
6289a7117dSIvan T. Ivanov #define PM8941_MPP_L6			3
6389a7117dSIvan T. Ivanov 
6489a7117dSIvan T. Ivanov #define PMA8084_MPP_VPH			0
6589a7117dSIvan T. Ivanov #define PMA8084_MPP_L1			1
6689a7117dSIvan T. Ivanov #define PMA8084_MPP_S4			2
6789a7117dSIvan T. Ivanov #define PMA8084_MPP_L6			3
6889a7117dSIvan T. Ivanov 
69636959fcSSrinivas Kandagatla #define PM8994_MPP_VPH			0
70636959fcSSrinivas Kandagatla /* Only supported for MPP_05-MPP_08 */
71636959fcSSrinivas Kandagatla #define PM8994_MPP_L19			1
72636959fcSSrinivas Kandagatla #define PM8994_MPP_S4			2
73636959fcSSrinivas Kandagatla #define PM8994_MPP_L12			3
74636959fcSSrinivas Kandagatla 
7589a7117dSIvan T. Ivanov /*
7689a7117dSIvan T. Ivanov  * Analog Input - Set the source for analog input.
7789a7117dSIvan T. Ivanov  * To be used with "qcom,amux-route" property
7889a7117dSIvan T. Ivanov  */
7989a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_CH5		0
8089a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_CH6		1
8189a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_CH7		2
8289a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_CH8		3
8389a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_ABUS1	4
8489a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_ABUS2	5
8589a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_ABUS3	6
8689a7117dSIvan T. Ivanov #define PMIC_MPP_AMUX_ROUTE_ABUS4	7
8789a7117dSIvan T. Ivanov 
88b4c45fe9SBjorn Andersson /* Analog Output: level */
89b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_1V25		0
90b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_1V25_2	1
91b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_0V625		2
92b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_0V3125	3
93b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_MPP		4
94b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_ABUS1		5
95b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_ABUS2		6
96b4c45fe9SBjorn Andersson #define PMIC_MPP_AOUT_LVL_ABUS3		7
97b4c45fe9SBjorn Andersson 
9889a7117dSIvan T. Ivanov /* To be used with "function" */
9989a7117dSIvan T. Ivanov #define PMIC_MPP_FUNC_NORMAL		"normal"
10089a7117dSIvan T. Ivanov #define PMIC_MPP_FUNC_PAIRED		"paired"
10189a7117dSIvan T. Ivanov #define PMIC_MPP_FUNC_DTEST1		"dtest1"
10289a7117dSIvan T. Ivanov #define PMIC_MPP_FUNC_DTEST2		"dtest2"
10389a7117dSIvan T. Ivanov #define PMIC_MPP_FUNC_DTEST3		"dtest3"
10489a7117dSIvan T. Ivanov #define PMIC_MPP_FUNC_DTEST4		"dtest4"
10589a7117dSIvan T. Ivanov 
10689a7117dSIvan T. Ivanov #endif
107