1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */ 2*4882a593Smuzhiyun /* 3*4882a593Smuzhiyun * This header provides constants for the Qualcomm PMIC's 4*4882a593Smuzhiyun * Multi-Purpose Pin binding. 5*4882a593Smuzhiyun */ 6*4882a593Smuzhiyun 7*4882a593Smuzhiyun #ifndef _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H 8*4882a593Smuzhiyun #define _DT_BINDINGS_PINCTRL_QCOM_PMIC_MPP_H 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun /* power-source */ 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun /* Digital Input/Output: level [PM8058] */ 13*4882a593Smuzhiyun #define PM8058_MPP_VPH 0 14*4882a593Smuzhiyun #define PM8058_MPP_S3 1 15*4882a593Smuzhiyun #define PM8058_MPP_L2 2 16*4882a593Smuzhiyun #define PM8058_MPP_L3 3 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun /* Digital Input/Output: level [PM8901] */ 19*4882a593Smuzhiyun #define PM8901_MPP_MSMIO 0 20*4882a593Smuzhiyun #define PM8901_MPP_DIG 1 21*4882a593Smuzhiyun #define PM8901_MPP_L5 2 22*4882a593Smuzhiyun #define PM8901_MPP_S4 3 23*4882a593Smuzhiyun #define PM8901_MPP_VPH 4 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun /* Digital Input/Output: level [PM8921] */ 26*4882a593Smuzhiyun #define PM8921_MPP_S4 1 27*4882a593Smuzhiyun #define PM8921_MPP_L15 3 28*4882a593Smuzhiyun #define PM8921_MPP_L17 4 29*4882a593Smuzhiyun #define PM8921_MPP_VPH 7 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /* Digital Input/Output: level [PM8821] */ 32*4882a593Smuzhiyun #define PM8821_MPP_1P8 0 33*4882a593Smuzhiyun #define PM8821_MPP_VPH 7 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun /* Digital Input/Output: level [PM8018] */ 36*4882a593Smuzhiyun #define PM8018_MPP_L4 0 37*4882a593Smuzhiyun #define PM8018_MPP_L14 1 38*4882a593Smuzhiyun #define PM8018_MPP_S3 2 39*4882a593Smuzhiyun #define PM8018_MPP_L6 3 40*4882a593Smuzhiyun #define PM8018_MPP_L2 4 41*4882a593Smuzhiyun #define PM8018_MPP_L5 5 42*4882a593Smuzhiyun #define PM8018_MPP_VPH 7 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun /* Digital Input/Output: level [PM8038] */ 45*4882a593Smuzhiyun #define PM8038_MPP_L20 0 46*4882a593Smuzhiyun #define PM8038_MPP_L11 1 47*4882a593Smuzhiyun #define PM8038_MPP_L5 2 48*4882a593Smuzhiyun #define PM8038_MPP_L15 3 49*4882a593Smuzhiyun #define PM8038_MPP_L17 4 50*4882a593Smuzhiyun #define PM8038_MPP_VPH 7 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun #define PM8841_MPP_VPH 0 53*4882a593Smuzhiyun #define PM8841_MPP_S3 2 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun #define PM8916_MPP_VPH 0 56*4882a593Smuzhiyun #define PM8916_MPP_L2 2 57*4882a593Smuzhiyun #define PM8916_MPP_L5 3 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun #define PM8941_MPP_VPH 0 60*4882a593Smuzhiyun #define PM8941_MPP_L1 1 61*4882a593Smuzhiyun #define PM8941_MPP_S3 2 62*4882a593Smuzhiyun #define PM8941_MPP_L6 3 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun #define PMA8084_MPP_VPH 0 65*4882a593Smuzhiyun #define PMA8084_MPP_L1 1 66*4882a593Smuzhiyun #define PMA8084_MPP_S4 2 67*4882a593Smuzhiyun #define PMA8084_MPP_L6 3 68*4882a593Smuzhiyun 69*4882a593Smuzhiyun #define PM8994_MPP_VPH 0 70*4882a593Smuzhiyun /* Only supported for MPP_05-MPP_08 */ 71*4882a593Smuzhiyun #define PM8994_MPP_L19 1 72*4882a593Smuzhiyun #define PM8994_MPP_S4 2 73*4882a593Smuzhiyun #define PM8994_MPP_L12 3 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun /* 76*4882a593Smuzhiyun * Analog Input - Set the source for analog input. 77*4882a593Smuzhiyun * To be used with "qcom,amux-route" property 78*4882a593Smuzhiyun */ 79*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_CH5 0 80*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_CH6 1 81*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_CH7 2 82*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_CH8 3 83*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_ABUS1 4 84*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_ABUS2 5 85*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_ABUS3 6 86*4882a593Smuzhiyun #define PMIC_MPP_AMUX_ROUTE_ABUS4 7 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun /* Analog Output: level */ 89*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_1V25 0 90*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_1V25_2 1 91*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_0V625 2 92*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_0V3125 3 93*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_MPP 4 94*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_ABUS1 5 95*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_ABUS2 6 96*4882a593Smuzhiyun #define PMIC_MPP_AOUT_LVL_ABUS3 7 97*4882a593Smuzhiyun 98*4882a593Smuzhiyun /* To be used with "function" */ 99*4882a593Smuzhiyun #define PMIC_MPP_FUNC_NORMAL "normal" 100*4882a593Smuzhiyun #define PMIC_MPP_FUNC_PAIRED "paired" 101*4882a593Smuzhiyun #define PMIC_MPP_FUNC_DTEST1 "dtest1" 102*4882a593Smuzhiyun #define PMIC_MPP_FUNC_DTEST2 "dtest2" 103*4882a593Smuzhiyun #define PMIC_MPP_FUNC_DTEST3 "dtest3" 104*4882a593Smuzhiyun #define PMIC_MPP_FUNC_DTEST4 "dtest4" 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun #endif 107