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