162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * This header provides constants for the Qualcomm PMIC's
462306a36Sopenharmony_ci * Multi-Purpose Pin binding.
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#ifndef _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H
862306a36Sopenharmony_ci#define _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci/* power-source */
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci/* Digital Input/Output: level [PM8058] */
1362306a36Sopenharmony_ci#define PM8058_MPP_VPH			0
1462306a36Sopenharmony_ci#define PM8058_MPP_S3			1
1562306a36Sopenharmony_ci#define PM8058_MPP_L2			2
1662306a36Sopenharmony_ci#define PM8058_MPP_L3			3
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci/* Digital Input/Output: level [PM8901] */
1962306a36Sopenharmony_ci#define PM8901_MPP_MSMIO		0
2062306a36Sopenharmony_ci#define PM8901_MPP_DIG			1
2162306a36Sopenharmony_ci#define PM8901_MPP_L5			2
2262306a36Sopenharmony_ci#define PM8901_MPP_S4			3
2362306a36Sopenharmony_ci#define PM8901_MPP_VPH			4
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci/* Digital Input/Output: level [PM8921] */
2662306a36Sopenharmony_ci#define PM8921_MPP_S4			1
2762306a36Sopenharmony_ci#define PM8921_MPP_L15			3
2862306a36Sopenharmony_ci#define PM8921_MPP_L17			4
2962306a36Sopenharmony_ci#define PM8921_MPP_VPH			7
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci/* Digital Input/Output: level [PM8821] */
3262306a36Sopenharmony_ci#define PM8821_MPP_1P8			0
3362306a36Sopenharmony_ci#define PM8821_MPP_VPH			7
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci/* Digital Input/Output: level [PM8018] */
3662306a36Sopenharmony_ci#define PM8018_MPP_L4			0
3762306a36Sopenharmony_ci#define PM8018_MPP_L14			1
3862306a36Sopenharmony_ci#define PM8018_MPP_S3			2
3962306a36Sopenharmony_ci#define PM8018_MPP_L6			3
4062306a36Sopenharmony_ci#define PM8018_MPP_L2			4
4162306a36Sopenharmony_ci#define PM8018_MPP_L5			5
4262306a36Sopenharmony_ci#define PM8018_MPP_VPH			7
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci/* Digital Input/Output: level [PM8038] */
4562306a36Sopenharmony_ci#define PM8038_MPP_L20			0
4662306a36Sopenharmony_ci#define PM8038_MPP_L11			1
4762306a36Sopenharmony_ci#define PM8038_MPP_L5			2
4862306a36Sopenharmony_ci#define PM8038_MPP_L15			3
4962306a36Sopenharmony_ci#define PM8038_MPP_L17			4
5062306a36Sopenharmony_ci#define PM8038_MPP_VPH			7
5162306a36Sopenharmony_ci
5262306a36Sopenharmony_ci#define PM8841_MPP_VPH			0
5362306a36Sopenharmony_ci#define PM8841_MPP_S3			2
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci#define PM8916_MPP_VPH			0
5662306a36Sopenharmony_ci#define PM8916_MPP_L2			2
5762306a36Sopenharmony_ci#define PM8916_MPP_L5			3
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci#define PM8941_MPP_VPH			0
6062306a36Sopenharmony_ci#define PM8941_MPP_L1			1
6162306a36Sopenharmony_ci#define PM8941_MPP_S3			2
6262306a36Sopenharmony_ci#define PM8941_MPP_L6			3
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci#define PMA8084_MPP_VPH			0
6562306a36Sopenharmony_ci#define PMA8084_MPP_L1			1
6662306a36Sopenharmony_ci#define PMA8084_MPP_S4			2
6762306a36Sopenharmony_ci#define PMA8084_MPP_L6			3
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci#define PM8994_MPP_VPH			0
7062306a36Sopenharmony_ci/* Only supported for MPP_05-MPP_08 */
7162306a36Sopenharmony_ci#define PM8994_MPP_L19			1
7262306a36Sopenharmony_ci#define PM8994_MPP_S4			2
7362306a36Sopenharmony_ci#define PM8994_MPP_L12			3
7462306a36Sopenharmony_ci
7562306a36Sopenharmony_ci/*
7662306a36Sopenharmony_ci * Analog Input - Set the source for analog input.
7762306a36Sopenharmony_ci * To be used with "qcom,amux-route" property
7862306a36Sopenharmony_ci */
7962306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_CH5		0
8062306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_CH6		1
8162306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_CH7		2
8262306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_CH8		3
8362306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_ABUS1	4
8462306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_ABUS2	5
8562306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_ABUS3	6
8662306a36Sopenharmony_ci#define PMIC_MPP_AMUX_ROUTE_ABUS4	7
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci/* Analog Output: level */
8962306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_1V25		0
9062306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_1V25_2	1
9162306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_0V625		2
9262306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_0V3125	3
9362306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_MPP		4
9462306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_ABUS1		5
9562306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_ABUS2		6
9662306a36Sopenharmony_ci#define PMIC_MPP_AOUT_LVL_ABUS3		7
9762306a36Sopenharmony_ci
9862306a36Sopenharmony_ci/* To be used with "function" */
9962306a36Sopenharmony_ci#define PMIC_MPP_FUNC_NORMAL		"normal"
10062306a36Sopenharmony_ci#define PMIC_MPP_FUNC_PAIRED		"paired"
10162306a36Sopenharmony_ci#define PMIC_MPP_FUNC_DTEST1		"dtest1"
10262306a36Sopenharmony_ci#define PMIC_MPP_FUNC_DTEST2		"dtest2"
10362306a36Sopenharmony_ci#define PMIC_MPP_FUNC_DTEST3		"dtest3"
10462306a36Sopenharmony_ci#define PMIC_MPP_FUNC_DTEST4		"dtest4"
10562306a36Sopenharmony_ci
10662306a36Sopenharmony_ci#endif
107