1/* $NetBSD: qcom,pmic-gpio.h,v 1.1.1.3 2017/11/30 19:40:51 jmcneill Exp $ */ 2 3/* SPDX-License-Identifier: GPL-2.0 */ 4/* 5 * This header provides constants for the Qualcomm PMIC GPIO binding. 6 */ 7 8#ifndef _DT_BINDINGS_PINCTRL_QCOM_PMIC_GPIO_H 9#define _DT_BINDINGS_PINCTRL_QCOM_PMIC_GPIO_H 10 11#define PMIC_GPIO_PULL_UP_30 0 12#define PMIC_GPIO_PULL_UP_1P5 1 13#define PMIC_GPIO_PULL_UP_31P5 2 14#define PMIC_GPIO_PULL_UP_1P5_30 3 15 16#define PMIC_GPIO_STRENGTH_NO 0 17#define PMIC_GPIO_STRENGTH_HIGH 1 18#define PMIC_GPIO_STRENGTH_MED 2 19#define PMIC_GPIO_STRENGTH_LOW 3 20 21/* 22 * Note: PM8018 GPIO3 and GPIO4 are supporting 23 * only S3 and L2 options (1.8V) 24 */ 25#define PM8018_GPIO_L6 0 26#define PM8018_GPIO_L5 1 27#define PM8018_GPIO_S3 2 28#define PM8018_GPIO_L14 3 29#define PM8018_GPIO_L2 4 30#define PM8018_GPIO_L4 5 31#define PM8018_GPIO_VDD 6 32 33/* 34 * Note: PM8038 GPIO7 and GPIO8 are supporting 35 * only L11 and L4 options (1.8V) 36 */ 37#define PM8038_GPIO_VPH 0 38#define PM8038_GPIO_BB 1 39#define PM8038_GPIO_L11 2 40#define PM8038_GPIO_L15 3 41#define PM8038_GPIO_L4 4 42#define PM8038_GPIO_L3 5 43#define PM8038_GPIO_L17 6 44 45#define PM8058_GPIO_VPH 0 46#define PM8058_GPIO_BB 1 47#define PM8058_GPIO_S3 2 48#define PM8058_GPIO_L3 3 49#define PM8058_GPIO_L7 4 50#define PM8058_GPIO_L6 5 51#define PM8058_GPIO_L5 6 52#define PM8058_GPIO_L2 7 53 54/* 55 * Note: PM8916 GPIO1 and GPIO2 are supporting 56 * only L2(1.15V) and L5(1.8V) options 57 */ 58#define PM8916_GPIO_VPH 0 59#define PM8916_GPIO_L2 2 60#define PM8916_GPIO_L5 3 61 62#define PM8917_GPIO_VPH 0 63#define PM8917_GPIO_S4 2 64#define PM8917_GPIO_L15 3 65#define PM8917_GPIO_L4 4 66#define PM8917_GPIO_L3 5 67#define PM8917_GPIO_L17 6 68 69#define PM8921_GPIO_VPH 0 70#define PM8921_GPIO_BB 1 71#define PM8921_GPIO_S4 2 72#define PM8921_GPIO_L15 3 73#define PM8921_GPIO_L4 4 74#define PM8921_GPIO_L3 5 75#define PM8921_GPIO_L17 6 76 77/* 78 * Note: PM8941 gpios from 15 to 18 are supporting 79 * only S3 and L6 options (1.8V) 80 */ 81#define PM8941_GPIO_VPH 0 82#define PM8941_GPIO_L1 1 83#define PM8941_GPIO_S3 2 84#define PM8941_GPIO_L6 3 85 86/* 87 * Note: PMA8084 gpios from 15 to 18 are supporting 88 * only S4 and L6 options (1.8V) 89 */ 90#define PMA8084_GPIO_VPH 0 91#define PMA8084_GPIO_L1 1 92#define PMA8084_GPIO_S4 2 93#define PMA8084_GPIO_L6 3 94 95#define PM8994_GPIO_VPH 0 96#define PM8994_GPIO_S4 2 97#define PM8994_GPIO_L12 3 98 99/* To be used with "function" */ 100#define PMIC_GPIO_FUNC_NORMAL "normal" 101#define PMIC_GPIO_FUNC_PAIRED "paired" 102#define PMIC_GPIO_FUNC_FUNC1 "func1" 103#define PMIC_GPIO_FUNC_FUNC2 "func2" 104#define PMIC_GPIO_FUNC_FUNC3 "func3" 105#define PMIC_GPIO_FUNC_FUNC4 "func4" 106#define PMIC_GPIO_FUNC_DTEST1 "dtest1" 107#define PMIC_GPIO_FUNC_DTEST2 "dtest2" 108#define PMIC_GPIO_FUNC_DTEST3 "dtest3" 109#define PMIC_GPIO_FUNC_DTEST4 "dtest4" 110 111#define PM8038_GPIO1_2_LPG_DRV PMIC_GPIO_FUNC_FUNC1 112#define PM8038_GPIO3_5V_BOOST_EN PMIC_GPIO_FUNC_FUNC1 113#define PM8038_GPIO4_SSBI_ALT_CLK PMIC_GPIO_FUNC_FUNC1 114#define PM8038_GPIO5_6_EXT_REG_EN PMIC_GPIO_FUNC_FUNC1 115#define PM8038_GPIO10_11_EXT_REG_EN PMIC_GPIO_FUNC_FUNC1 116#define PM8038_GPIO6_7_CLK PMIC_GPIO_FUNC_FUNC1 117#define PM8038_GPIO9_BAT_ALRM_OUT PMIC_GPIO_FUNC_FUNC1 118#define PM8038_GPIO6_12_KYPD_DRV PMIC_GPIO_FUNC_FUNC2 119 120#define PM8058_GPIO7_8_MP3_CLK PMIC_GPIO_FUNC_FUNC1 121#define PM8058_GPIO7_8_BCLK_19P2MHZ PMIC_GPIO_FUNC_FUNC2 122#define PM8058_GPIO9_26_KYPD_DRV PMIC_GPIO_FUNC_FUNC1 123#define PM8058_GPIO21_23_UART_TX PMIC_GPIO_FUNC_FUNC2 124#define PM8058_GPIO24_26_LPG_DRV PMIC_GPIO_FUNC_FUNC2 125#define PM8058_GPIO33_BCLK_19P2MHZ PMIC_GPIO_FUNC_FUNC1 126#define PM8058_GPIO34_35_MP3_CLK PMIC_GPIO_FUNC_FUNC1 127#define PM8058_GPIO36_BCLK_19P2MHZ PMIC_GPIO_FUNC_FUNC1 128#define PM8058_GPIO37_UPL_OUT PMIC_GPIO_FUNC_FUNC1 129#define PM8058_GPIO37_UART_M_RX PMIC_GPIO_FUNC_FUNC2 130#define PM8058_GPIO38_XO_SLEEP_CLK PMIC_GPIO_FUNC_FUNC1 131#define PM8058_GPIO38_39_CLK_32KHZ PMIC_GPIO_FUNC_FUNC2 132#define PM8058_GPIO39_MP3_CLK PMIC_GPIO_FUNC_FUNC1 133#define PM8058_GPIO40_EXT_BB_EN PMIC_GPIO_FUNC_FUNC1 134 135#define PM8916_GPIO1_BAT_ALRM_OUT PMIC_GPIO_FUNC_FUNC1 136#define PM8916_GPIO1_KEYP_DRV PMIC_GPIO_FUNC_FUNC2 137#define PM8916_GPIO2_DIV_CLK PMIC_GPIO_FUNC_FUNC1 138#define PM8916_GPIO2_SLEEP_CLK PMIC_GPIO_FUNC_FUNC2 139#define PM8916_GPIO3_KEYP_DRV PMIC_GPIO_FUNC_FUNC1 140#define PM8916_GPIO4_KEYP_DRV PMIC_GPIO_FUNC_FUNC2 141 142#define PM8917_GPIO9_18_KEYP_DRV PMIC_GPIO_FUNC_FUNC1 143#define PM8917_GPIO20_BAT_ALRM_OUT PMIC_GPIO_FUNC_FUNC1 144#define PM8917_GPIO21_23_UART_TX PMIC_GPIO_FUNC_FUNC2 145#define PM8917_GPIO25_26_EXT_REG_EN PMIC_GPIO_FUNC_FUNC1 146#define PM8917_GPIO37_38_XO_SLEEP_CLK PMIC_GPIO_FUNC_FUNC1 147#define PM8917_GPIO37_38_MP3_CLK PMIC_GPIO_FUNC_FUNC2 148 149#define PM8941_GPIO9_14_KYPD_DRV PMIC_GPIO_FUNC_FUNC1 150#define PM8941_GPIO15_18_DIV_CLK PMIC_GPIO_FUNC_FUNC1 151#define PM8941_GPIO15_18_SLEEP_CLK PMIC_GPIO_FUNC_FUNC2 152#define PM8941_GPIO23_26_KYPD_DRV PMIC_GPIO_FUNC_FUNC1 153#define PM8941_GPIO23_26_LPG_DRV_HI PMIC_GPIO_FUNC_FUNC2 154#define PM8941_GPIO31_BAT_ALRM_OUT PMIC_GPIO_FUNC_FUNC1 155#define PM8941_GPIO33_36_LPG_DRV_3D PMIC_GPIO_FUNC_FUNC1 156#define PM8941_GPIO33_36_LPG_DRV_HI PMIC_GPIO_FUNC_FUNC2 157 158#define PMA8084_GPIO4_5_LPG_DRV PMIC_GPIO_FUNC_FUNC1 159#define PMA8084_GPIO7_10_LPG_DRV PMIC_GPIO_FUNC_FUNC1 160#define PMA8084_GPIO5_14_KEYP_DRV PMIC_GPIO_FUNC_FUNC2 161#define PMA8084_GPIO19_21_KEYP_DRV PMIC_GPIO_FUNC_FUNC2 162#define PMA8084_GPIO15_18_DIV_CLK PMIC_GPIO_FUNC_FUNC1 163#define PMA8084_GPIO15_18_SLEEP_CLK PMIC_GPIO_FUNC_FUNC2 164#define PMA8084_GPIO22_BAT_ALRM_OUT PMIC_GPIO_FUNC_FUNC1 165 166#endif 167