1354d7675SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2354d7675SEmmanuel Vadot%YAML 1.2 3354d7675SEmmanuel Vadot--- 4354d7675SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,pmic-gpio.yaml# 5354d7675SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6354d7675SEmmanuel Vadot 7354d7675SEmmanuel Vadottitle: Qualcomm PMIC GPIO block 8354d7675SEmmanuel Vadot 9354d7675SEmmanuel Vadotmaintainers: 10354d7675SEmmanuel Vadot - Bjorn Andersson <bjorn.andersson@linaro.org> 11354d7675SEmmanuel Vadot 12354d7675SEmmanuel Vadotdescription: 13354d7675SEmmanuel Vadot This binding describes the GPIO block(s) found in the 8xxx series of 14354d7675SEmmanuel Vadot PMIC's from Qualcomm. 15354d7675SEmmanuel Vadot 16354d7675SEmmanuel Vadotproperties: 17354d7675SEmmanuel Vadot compatible: 18354d7675SEmmanuel Vadot items: 19354d7675SEmmanuel Vadot - enum: 20e67e8565SEmmanuel Vadot - qcom,pm2250-gpio 21354d7675SEmmanuel Vadot - qcom,pm660-gpio 22354d7675SEmmanuel Vadot - qcom,pm660l-gpio 23*d5b0e70fSEmmanuel Vadot - qcom,pm6125-gpio 24354d7675SEmmanuel Vadot - qcom,pm6150-gpio 25354d7675SEmmanuel Vadot - qcom,pm6150l-gpio 268cc087a1SEmmanuel Vadot - qcom,pm6350-gpio 27354d7675SEmmanuel Vadot - qcom,pm7325-gpio 28354d7675SEmmanuel Vadot - qcom,pm8005-gpio 29354d7675SEmmanuel Vadot - qcom,pm8008-gpio 30354d7675SEmmanuel Vadot - qcom,pm8018-gpio 31e67e8565SEmmanuel Vadot - qcom,pm8019-gpio 32354d7675SEmmanuel Vadot - qcom,pm8038-gpio 33354d7675SEmmanuel Vadot - qcom,pm8058-gpio 34354d7675SEmmanuel Vadot - qcom,pm8150-gpio 35354d7675SEmmanuel Vadot - qcom,pm8150b-gpio 36*d5b0e70fSEmmanuel Vadot - qcom,pm8150l-gpio 37e67e8565SEmmanuel Vadot - qcom,pm8226-gpio 38354d7675SEmmanuel Vadot - qcom,pm8350-gpio 39354d7675SEmmanuel Vadot - qcom,pm8350b-gpio 40354d7675SEmmanuel Vadot - qcom,pm8350c-gpio 41c9ccf3a3SEmmanuel Vadot - qcom,pm8450-gpio 42354d7675SEmmanuel Vadot - qcom,pm8916-gpio 43354d7675SEmmanuel Vadot - qcom,pm8917-gpio 44354d7675SEmmanuel Vadot - qcom,pm8921-gpio 45354d7675SEmmanuel Vadot - qcom,pm8941-gpio 46354d7675SEmmanuel Vadot - qcom,pm8950-gpio 47354d7675SEmmanuel Vadot - qcom,pm8994-gpio 48354d7675SEmmanuel Vadot - qcom,pm8998-gpio 49354d7675SEmmanuel Vadot - qcom,pma8084-gpio 50354d7675SEmmanuel Vadot - qcom,pmi8950-gpio 51354d7675SEmmanuel Vadot - qcom,pmi8994-gpio 52354d7675SEmmanuel Vadot - qcom,pmi8998-gpio 53354d7675SEmmanuel Vadot - qcom,pmk8350-gpio 54*d5b0e70fSEmmanuel Vadot - qcom,pmm8155au-gpio 55354d7675SEmmanuel Vadot - qcom,pmr735a-gpio 56354d7675SEmmanuel Vadot - qcom,pmr735b-gpio 57354d7675SEmmanuel Vadot - qcom,pms405-gpio 58354d7675SEmmanuel Vadot - qcom,pmx55-gpio 59*d5b0e70fSEmmanuel Vadot - qcom,pmx65-gpio 60354d7675SEmmanuel Vadot 61354d7675SEmmanuel Vadot - enum: 62354d7675SEmmanuel Vadot - qcom,spmi-gpio 63354d7675SEmmanuel Vadot - qcom,ssbi-gpio 64354d7675SEmmanuel Vadot 65354d7675SEmmanuel Vadot reg: 66354d7675SEmmanuel Vadot maxItems: 1 67354d7675SEmmanuel Vadot 68354d7675SEmmanuel Vadot interrupt-controller: true 69354d7675SEmmanuel Vadot 70354d7675SEmmanuel Vadot '#interrupt-cells': 71354d7675SEmmanuel Vadot const: 2 72354d7675SEmmanuel Vadot 73354d7675SEmmanuel Vadot gpio-controller: true 74354d7675SEmmanuel Vadot 75354d7675SEmmanuel Vadot gpio-ranges: 76354d7675SEmmanuel Vadot maxItems: 1 77354d7675SEmmanuel Vadot 78*d5b0e70fSEmmanuel Vadot gpio-line-names: 79*d5b0e70fSEmmanuel Vadot minItems: 2 80*d5b0e70fSEmmanuel Vadot maxItems: 44 81*d5b0e70fSEmmanuel Vadot 82*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 83*d5b0e70fSEmmanuel Vadot minItems: 1 84*d5b0e70fSEmmanuel Vadot # maxItems as half of total number of GPIOs, as there has to be at 85*d5b0e70fSEmmanuel Vadot # least one usable GPIO between each reserved range. 86*d5b0e70fSEmmanuel Vadot maxItems: 22 87*d5b0e70fSEmmanuel Vadot 88354d7675SEmmanuel Vadot '#gpio-cells': 89354d7675SEmmanuel Vadot const: 2 90354d7675SEmmanuel Vadot description: 91354d7675SEmmanuel Vadot The first cell will be used to define gpio number and the 92354d7675SEmmanuel Vadot second denotes the flags for this gpio 93354d7675SEmmanuel Vadot 94354d7675SEmmanuel VadotadditionalProperties: false 95354d7675SEmmanuel Vadot 96354d7675SEmmanuel Vadotrequired: 97354d7675SEmmanuel Vadot - compatible 98354d7675SEmmanuel Vadot - reg 99354d7675SEmmanuel Vadot - gpio-controller 100354d7675SEmmanuel Vadot - '#gpio-cells' 101354d7675SEmmanuel Vadot - gpio-ranges 102354d7675SEmmanuel Vadot - interrupt-controller 103354d7675SEmmanuel Vadot 104*d5b0e70fSEmmanuel VadotallOf: 105*d5b0e70fSEmmanuel Vadot - if: 106*d5b0e70fSEmmanuel Vadot properties: 107*d5b0e70fSEmmanuel Vadot compatible: 108*d5b0e70fSEmmanuel Vadot contains: 109*d5b0e70fSEmmanuel Vadot enum: 110*d5b0e70fSEmmanuel Vadot - qcom,pm8008-gpio 111*d5b0e70fSEmmanuel Vadot - qcom,pmi8950-gpio 112*d5b0e70fSEmmanuel Vadot then: 113*d5b0e70fSEmmanuel Vadot properties: 114*d5b0e70fSEmmanuel Vadot gpio-line-names: 115*d5b0e70fSEmmanuel Vadot minItems: 2 116*d5b0e70fSEmmanuel Vadot maxItems: 2 117*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 118*d5b0e70fSEmmanuel Vadot maxItems: 1 119*d5b0e70fSEmmanuel Vadot 120*d5b0e70fSEmmanuel Vadot - if: 121*d5b0e70fSEmmanuel Vadot properties: 122*d5b0e70fSEmmanuel Vadot compatible: 123*d5b0e70fSEmmanuel Vadot contains: 124*d5b0e70fSEmmanuel Vadot enum: 125*d5b0e70fSEmmanuel Vadot - qcom,pm8005-gpio 126*d5b0e70fSEmmanuel Vadot - qcom,pm8450-gpio 127*d5b0e70fSEmmanuel Vadot - qcom,pm8916-gpio 128*d5b0e70fSEmmanuel Vadot - qcom,pmk8350-gpio 129*d5b0e70fSEmmanuel Vadot - qcom,pmr735a-gpio 130*d5b0e70fSEmmanuel Vadot - qcom,pmr735b-gpio 131*d5b0e70fSEmmanuel Vadot then: 132*d5b0e70fSEmmanuel Vadot properties: 133*d5b0e70fSEmmanuel Vadot gpio-line-names: 134*d5b0e70fSEmmanuel Vadot minItems: 4 135*d5b0e70fSEmmanuel Vadot maxItems: 4 136*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 137*d5b0e70fSEmmanuel Vadot minItems: 1 138*d5b0e70fSEmmanuel Vadot maxItems: 2 139*d5b0e70fSEmmanuel Vadot 140*d5b0e70fSEmmanuel Vadot - if: 141*d5b0e70fSEmmanuel Vadot properties: 142*d5b0e70fSEmmanuel Vadot compatible: 143*d5b0e70fSEmmanuel Vadot contains: 144*d5b0e70fSEmmanuel Vadot enum: 145*d5b0e70fSEmmanuel Vadot - qcom,pm8018-gpio 146*d5b0e70fSEmmanuel Vadot - qcom,pm8019-gpio 147*d5b0e70fSEmmanuel Vadot then: 148*d5b0e70fSEmmanuel Vadot properties: 149*d5b0e70fSEmmanuel Vadot gpio-line-names: 150*d5b0e70fSEmmanuel Vadot minItems: 6 151*d5b0e70fSEmmanuel Vadot maxItems: 6 152*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 153*d5b0e70fSEmmanuel Vadot minItems: 1 154*d5b0e70fSEmmanuel Vadot maxItems: 3 155*d5b0e70fSEmmanuel Vadot 156*d5b0e70fSEmmanuel Vadot - if: 157*d5b0e70fSEmmanuel Vadot properties: 158*d5b0e70fSEmmanuel Vadot compatible: 159*d5b0e70fSEmmanuel Vadot contains: 160*d5b0e70fSEmmanuel Vadot enum: 161*d5b0e70fSEmmanuel Vadot - qcom,pm8350b-gpio 162*d5b0e70fSEmmanuel Vadot - qcom,pm8950-gpio 163*d5b0e70fSEmmanuel Vadot then: 164*d5b0e70fSEmmanuel Vadot properties: 165*d5b0e70fSEmmanuel Vadot gpio-line-names: 166*d5b0e70fSEmmanuel Vadot minItems: 8 167*d5b0e70fSEmmanuel Vadot maxItems: 8 168*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 169*d5b0e70fSEmmanuel Vadot minItems: 1 170*d5b0e70fSEmmanuel Vadot maxItems: 4 171*d5b0e70fSEmmanuel Vadot 172*d5b0e70fSEmmanuel Vadot - if: 173*d5b0e70fSEmmanuel Vadot properties: 174*d5b0e70fSEmmanuel Vadot compatible: 175*d5b0e70fSEmmanuel Vadot contains: 176*d5b0e70fSEmmanuel Vadot enum: 177*d5b0e70fSEmmanuel Vadot - qcom,pm6350-gpio 178*d5b0e70fSEmmanuel Vadot - qcom,pm8350c-gpio 179*d5b0e70fSEmmanuel Vadot then: 180*d5b0e70fSEmmanuel Vadot properties: 181*d5b0e70fSEmmanuel Vadot gpio-line-names: 182*d5b0e70fSEmmanuel Vadot minItems: 9 183*d5b0e70fSEmmanuel Vadot maxItems: 9 184*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 185*d5b0e70fSEmmanuel Vadot minItems: 1 186*d5b0e70fSEmmanuel Vadot maxItems: 5 187*d5b0e70fSEmmanuel Vadot 188*d5b0e70fSEmmanuel Vadot - if: 189*d5b0e70fSEmmanuel Vadot properties: 190*d5b0e70fSEmmanuel Vadot compatible: 191*d5b0e70fSEmmanuel Vadot contains: 192*d5b0e70fSEmmanuel Vadot enum: 193*d5b0e70fSEmmanuel Vadot - qcom,pm2250-gpio 194*d5b0e70fSEmmanuel Vadot - qcom,pm6150-gpio 195*d5b0e70fSEmmanuel Vadot - qcom,pm7325-gpio 196*d5b0e70fSEmmanuel Vadot - qcom,pm8150-gpio 197*d5b0e70fSEmmanuel Vadot - qcom,pm8350-gpio 198*d5b0e70fSEmmanuel Vadot - qcom,pmc8180-gpio 199*d5b0e70fSEmmanuel Vadot - qcom,pmi8994-gpio 200*d5b0e70fSEmmanuel Vadot - qcom,pmm8155au-gpio 201*d5b0e70fSEmmanuel Vadot then: 202*d5b0e70fSEmmanuel Vadot properties: 203*d5b0e70fSEmmanuel Vadot gpio-line-names: 204*d5b0e70fSEmmanuel Vadot minItems: 10 205*d5b0e70fSEmmanuel Vadot maxItems: 10 206*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 207*d5b0e70fSEmmanuel Vadot minItems: 1 208*d5b0e70fSEmmanuel Vadot maxItems: 5 209*d5b0e70fSEmmanuel Vadot 210*d5b0e70fSEmmanuel Vadot - if: 211*d5b0e70fSEmmanuel Vadot properties: 212*d5b0e70fSEmmanuel Vadot compatible: 213*d5b0e70fSEmmanuel Vadot contains: 214*d5b0e70fSEmmanuel Vadot enum: 215*d5b0e70fSEmmanuel Vadot - qcom,pmx55-gpio 216*d5b0e70fSEmmanuel Vadot then: 217*d5b0e70fSEmmanuel Vadot properties: 218*d5b0e70fSEmmanuel Vadot gpio-line-names: 219*d5b0e70fSEmmanuel Vadot minItems: 11 220*d5b0e70fSEmmanuel Vadot maxItems: 11 221*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 222*d5b0e70fSEmmanuel Vadot minItems: 1 223*d5b0e70fSEmmanuel Vadot maxItems: 6 224*d5b0e70fSEmmanuel Vadot 225*d5b0e70fSEmmanuel Vadot - if: 226*d5b0e70fSEmmanuel Vadot properties: 227*d5b0e70fSEmmanuel Vadot compatible: 228*d5b0e70fSEmmanuel Vadot contains: 229*d5b0e70fSEmmanuel Vadot enum: 230*d5b0e70fSEmmanuel Vadot - qcom,pm660l-gpio 231*d5b0e70fSEmmanuel Vadot - qcom,pm6150l-gpio 232*d5b0e70fSEmmanuel Vadot - qcom,pm8038-gpio 233*d5b0e70fSEmmanuel Vadot - qcom,pm8150b-gpio 234*d5b0e70fSEmmanuel Vadot - qcom,pm8150l-gpio 235*d5b0e70fSEmmanuel Vadot - qcom,pmc8180c-gpio 236*d5b0e70fSEmmanuel Vadot - qcom,pms405-gpio 237*d5b0e70fSEmmanuel Vadot then: 238*d5b0e70fSEmmanuel Vadot properties: 239*d5b0e70fSEmmanuel Vadot gpio-line-names: 240*d5b0e70fSEmmanuel Vadot minItems: 12 241*d5b0e70fSEmmanuel Vadot maxItems: 12 242*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 243*d5b0e70fSEmmanuel Vadot minItems: 1 244*d5b0e70fSEmmanuel Vadot maxItems: 6 245*d5b0e70fSEmmanuel Vadot 246*d5b0e70fSEmmanuel Vadot - if: 247*d5b0e70fSEmmanuel Vadot properties: 248*d5b0e70fSEmmanuel Vadot compatible: 249*d5b0e70fSEmmanuel Vadot contains: 250*d5b0e70fSEmmanuel Vadot enum: 251*d5b0e70fSEmmanuel Vadot - qcom,pm660-gpio 252*d5b0e70fSEmmanuel Vadot then: 253*d5b0e70fSEmmanuel Vadot properties: 254*d5b0e70fSEmmanuel Vadot gpio-line-names: 255*d5b0e70fSEmmanuel Vadot minItems: 13 256*d5b0e70fSEmmanuel Vadot maxItems: 13 257*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 258*d5b0e70fSEmmanuel Vadot minItems: 1 259*d5b0e70fSEmmanuel Vadot maxItems: 7 260*d5b0e70fSEmmanuel Vadot 261*d5b0e70fSEmmanuel Vadot - if: 262*d5b0e70fSEmmanuel Vadot properties: 263*d5b0e70fSEmmanuel Vadot compatible: 264*d5b0e70fSEmmanuel Vadot contains: 265*d5b0e70fSEmmanuel Vadot enum: 266*d5b0e70fSEmmanuel Vadot - qcom,pmi8998-gpio 267*d5b0e70fSEmmanuel Vadot then: 268*d5b0e70fSEmmanuel Vadot properties: 269*d5b0e70fSEmmanuel Vadot gpio-line-names: 270*d5b0e70fSEmmanuel Vadot minItems: 14 271*d5b0e70fSEmmanuel Vadot maxItems: 14 272*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 273*d5b0e70fSEmmanuel Vadot minItems: 1 274*d5b0e70fSEmmanuel Vadot maxItems: 7 275*d5b0e70fSEmmanuel Vadot 276*d5b0e70fSEmmanuel Vadot - if: 277*d5b0e70fSEmmanuel Vadot properties: 278*d5b0e70fSEmmanuel Vadot compatible: 279*d5b0e70fSEmmanuel Vadot contains: 280*d5b0e70fSEmmanuel Vadot enum: 281*d5b0e70fSEmmanuel Vadot - qcom,pmx65-gpio 282*d5b0e70fSEmmanuel Vadot then: 283*d5b0e70fSEmmanuel Vadot properties: 284*d5b0e70fSEmmanuel Vadot gpio-line-names: 285*d5b0e70fSEmmanuel Vadot minItems: 16 286*d5b0e70fSEmmanuel Vadot maxItems: 16 287*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 288*d5b0e70fSEmmanuel Vadot minItems: 1 289*d5b0e70fSEmmanuel Vadot maxItems: 8 290*d5b0e70fSEmmanuel Vadot 291*d5b0e70fSEmmanuel Vadot - if: 292*d5b0e70fSEmmanuel Vadot properties: 293*d5b0e70fSEmmanuel Vadot compatible: 294*d5b0e70fSEmmanuel Vadot contains: 295*d5b0e70fSEmmanuel Vadot enum: 296*d5b0e70fSEmmanuel Vadot - qcom,pm8994-gpio 297*d5b0e70fSEmmanuel Vadot - qcom,pma8084-gpio 298*d5b0e70fSEmmanuel Vadot then: 299*d5b0e70fSEmmanuel Vadot properties: 300*d5b0e70fSEmmanuel Vadot gpio-line-names: 301*d5b0e70fSEmmanuel Vadot minItems: 22 302*d5b0e70fSEmmanuel Vadot maxItems: 22 303*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 304*d5b0e70fSEmmanuel Vadot minItems: 1 305*d5b0e70fSEmmanuel Vadot maxItems: 11 306*d5b0e70fSEmmanuel Vadot 307*d5b0e70fSEmmanuel Vadot - if: 308*d5b0e70fSEmmanuel Vadot properties: 309*d5b0e70fSEmmanuel Vadot compatible: 310*d5b0e70fSEmmanuel Vadot contains: 311*d5b0e70fSEmmanuel Vadot enum: 312*d5b0e70fSEmmanuel Vadot - qcom,pm8998-gpio 313*d5b0e70fSEmmanuel Vadot then: 314*d5b0e70fSEmmanuel Vadot properties: 315*d5b0e70fSEmmanuel Vadot gpio-line-names: 316*d5b0e70fSEmmanuel Vadot minItems: 26 317*d5b0e70fSEmmanuel Vadot maxItems: 26 318*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 319*d5b0e70fSEmmanuel Vadot minItems: 1 320*d5b0e70fSEmmanuel Vadot maxItems: 13 321*d5b0e70fSEmmanuel Vadot 322*d5b0e70fSEmmanuel Vadot - if: 323*d5b0e70fSEmmanuel Vadot properties: 324*d5b0e70fSEmmanuel Vadot compatible: 325*d5b0e70fSEmmanuel Vadot contains: 326*d5b0e70fSEmmanuel Vadot enum: 327*d5b0e70fSEmmanuel Vadot - qcom,pm8941-gpio 328*d5b0e70fSEmmanuel Vadot then: 329*d5b0e70fSEmmanuel Vadot properties: 330*d5b0e70fSEmmanuel Vadot gpio-line-names: 331*d5b0e70fSEmmanuel Vadot minItems: 36 332*d5b0e70fSEmmanuel Vadot maxItems: 36 333*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 334*d5b0e70fSEmmanuel Vadot minItems: 1 335*d5b0e70fSEmmanuel Vadot maxItems: 18 336*d5b0e70fSEmmanuel Vadot 337*d5b0e70fSEmmanuel Vadot - if: 338*d5b0e70fSEmmanuel Vadot properties: 339*d5b0e70fSEmmanuel Vadot compatible: 340*d5b0e70fSEmmanuel Vadot contains: 341*d5b0e70fSEmmanuel Vadot enum: 342*d5b0e70fSEmmanuel Vadot - qcom,pm8917-gpio 343*d5b0e70fSEmmanuel Vadot then: 344*d5b0e70fSEmmanuel Vadot properties: 345*d5b0e70fSEmmanuel Vadot gpio-line-names: 346*d5b0e70fSEmmanuel Vadot minItems: 38 347*d5b0e70fSEmmanuel Vadot maxItems: 38 348*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 349*d5b0e70fSEmmanuel Vadot minItems: 1 350*d5b0e70fSEmmanuel Vadot maxItems: 19 351*d5b0e70fSEmmanuel Vadot 352*d5b0e70fSEmmanuel Vadot - if: 353*d5b0e70fSEmmanuel Vadot properties: 354*d5b0e70fSEmmanuel Vadot compatible: 355*d5b0e70fSEmmanuel Vadot contains: 356*d5b0e70fSEmmanuel Vadot enum: 357*d5b0e70fSEmmanuel Vadot - qcom,pm8058-gpio 358*d5b0e70fSEmmanuel Vadot - qcom,pm8921-gpio 359*d5b0e70fSEmmanuel Vadot then: 360*d5b0e70fSEmmanuel Vadot properties: 361*d5b0e70fSEmmanuel Vadot gpio-line-names: 362*d5b0e70fSEmmanuel Vadot minItems: 44 363*d5b0e70fSEmmanuel Vadot maxItems: 44 364*d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 365*d5b0e70fSEmmanuel Vadot minItems: 1 366*d5b0e70fSEmmanuel Vadot maxItems: 22 367*d5b0e70fSEmmanuel Vadot 368354d7675SEmmanuel VadotpatternProperties: 369354d7675SEmmanuel Vadot '-state$': 370354d7675SEmmanuel Vadot oneOf: 371354d7675SEmmanuel Vadot - $ref: "#/$defs/qcom-pmic-gpio-state" 372354d7675SEmmanuel Vadot - patternProperties: 373*d5b0e70fSEmmanuel Vadot "(pinconf|-pins)$": 374354d7675SEmmanuel Vadot $ref: "#/$defs/qcom-pmic-gpio-state" 375*d5b0e70fSEmmanuel Vadot additionalProperties: false 376354d7675SEmmanuel Vadot 377354d7675SEmmanuel Vadot$defs: 378354d7675SEmmanuel Vadot qcom-pmic-gpio-state: 379354d7675SEmmanuel Vadot type: object 380354d7675SEmmanuel Vadot allOf: 381354d7675SEmmanuel Vadot - $ref: "pinmux-node.yaml" 382354d7675SEmmanuel Vadot - $ref: "pincfg-node.yaml" 383354d7675SEmmanuel Vadot properties: 384354d7675SEmmanuel Vadot pins: 385354d7675SEmmanuel Vadot description: 386354d7675SEmmanuel Vadot List of gpio pins affected by the properties specified in 387354d7675SEmmanuel Vadot this subnode. Valid pins are 388*d5b0e70fSEmmanuel Vadot - gpio1-gpio9 for pm6125 389354d7675SEmmanuel Vadot - gpio1-gpio10 for pm6150 390354d7675SEmmanuel Vadot - gpio1-gpio12 for pm6150l 3918cc087a1SEmmanuel Vadot - gpio1-gpio9 for pm6350 392354d7675SEmmanuel Vadot - gpio1-gpio10 for pm7325 393354d7675SEmmanuel Vadot - gpio1-gpio4 for pm8005 394354d7675SEmmanuel Vadot - gpio1-gpio2 for pm8008 395354d7675SEmmanuel Vadot - gpio1-gpio6 for pm8018 396354d7675SEmmanuel Vadot - gpio1-gpio12 for pm8038 397354d7675SEmmanuel Vadot - gpio1-gpio40 for pm8058 398354d7675SEmmanuel Vadot - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5, 399354d7675SEmmanuel Vadot gpio7 and gpio8) 400354d7675SEmmanuel Vadot - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4 401354d7675SEmmanuel Vadot and gpio7) 402354d7675SEmmanuel Vadot - gpio1-gpio12 for pm8150l (hole on gpio7) 403354d7675SEmmanuel Vadot - gpio1-gpio4 for pm8916 404354d7675SEmmanuel Vadot - gpio1-gpio10 for pm8350 405354d7675SEmmanuel Vadot - gpio1-gpio8 for pm8350b 406354d7675SEmmanuel Vadot - gpio1-gpio9 for pm8350c 407354d7675SEmmanuel Vadot - gpio1-gpio38 for pm8917 408354d7675SEmmanuel Vadot - gpio1-gpio44 for pm8921 409354d7675SEmmanuel Vadot - gpio1-gpio36 for pm8941 410354d7675SEmmanuel Vadot - gpio1-gpio8 for pm8950 (hole on gpio3) 411354d7675SEmmanuel Vadot - gpio1-gpio22 for pm8994 412354d7675SEmmanuel Vadot - gpio1-gpio26 for pm8998 413354d7675SEmmanuel Vadot - gpio1-gpio22 for pma8084 414354d7675SEmmanuel Vadot - gpio1-gpio2 for pmi8950 415354d7675SEmmanuel Vadot - gpio1-gpio10 for pmi8994 416354d7675SEmmanuel Vadot - gpio1-gpio4 for pmk8350 417*d5b0e70fSEmmanuel Vadot - gpio1-gpio10 for pmm8155au 418354d7675SEmmanuel Vadot - gpio1-gpio4 for pmr735a 419354d7675SEmmanuel Vadot - gpio1-gpio4 for pmr735b 420354d7675SEmmanuel Vadot - gpio1-gpio12 for pms405 (holes on gpio1, gpio9 421354d7675SEmmanuel Vadot and gpio10) 422354d7675SEmmanuel Vadot - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10 423354d7675SEmmanuel Vadot and gpio11) 424*d5b0e70fSEmmanuel Vadot - gpio1-gpio16 for pmx65 425354d7675SEmmanuel Vadot 426354d7675SEmmanuel Vadot items: 427354d7675SEmmanuel Vadot pattern: "^gpio([0-9]+)$" 428354d7675SEmmanuel Vadot 429354d7675SEmmanuel Vadot function: 430354d7675SEmmanuel Vadot items: 431354d7675SEmmanuel Vadot - enum: 432354d7675SEmmanuel Vadot - normal 433354d7675SEmmanuel Vadot - paired 434354d7675SEmmanuel Vadot - func1 435354d7675SEmmanuel Vadot - func2 436354d7675SEmmanuel Vadot - dtest1 437354d7675SEmmanuel Vadot - dtest2 438354d7675SEmmanuel Vadot - dtest3 439354d7675SEmmanuel Vadot - dtest4 440354d7675SEmmanuel Vadot - func3 # supported by LV/MV GPIO subtypes 441354d7675SEmmanuel Vadot - func4 # supported by LV/MV GPIO subtypes 442354d7675SEmmanuel Vadot 443354d7675SEmmanuel Vadot bias-disable: true 444354d7675SEmmanuel Vadot bias-pull-down: true 445354d7675SEmmanuel Vadot bias-pull-up: true 446354d7675SEmmanuel Vadot 447354d7675SEmmanuel Vadot qcom,pull-up-strength: 448354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 449354d7675SEmmanuel Vadot description: 450354d7675SEmmanuel Vadot Specifies the strength to use for pull up, if selected. 451354d7675SEmmanuel Vadot Valid values are defined in 452354d7675SEmmanuel Vadot <dt-bindings/pinctrl/qcom,pmic-gpio.h> 453354d7675SEmmanuel Vadot If this property is omitted 30uA strength will be used 454354d7675SEmmanuel Vadot if pull up is selected 455354d7675SEmmanuel Vadot enum: [0, 1, 2, 3] 456354d7675SEmmanuel Vadot 457354d7675SEmmanuel Vadot bias-high-impedance: true 458354d7675SEmmanuel Vadot input-enable: true 459*d5b0e70fSEmmanuel Vadot input-disable: true 460354d7675SEmmanuel Vadot output-high: true 461354d7675SEmmanuel Vadot output-low: true 4628cc087a1SEmmanuel Vadot output-enable: true 4638cc087a1SEmmanuel Vadot output-disable: true 464354d7675SEmmanuel Vadot power-source: true 465354d7675SEmmanuel Vadot 466354d7675SEmmanuel Vadot qcom,drive-strength: 467354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 468354d7675SEmmanuel Vadot description: 469354d7675SEmmanuel Vadot Selects the drive strength for the specified pins 470354d7675SEmmanuel Vadot Valid drive strength values are defined in 471354d7675SEmmanuel Vadot <dt-bindings/pinctrl/qcom,pmic-gpio.h> 472354d7675SEmmanuel Vadot enum: [0, 1, 2, 3] 473354d7675SEmmanuel Vadot 474354d7675SEmmanuel Vadot drive-push-pull: true 475354d7675SEmmanuel Vadot drive-open-drain: true 476354d7675SEmmanuel Vadot drive-open-source: true 477354d7675SEmmanuel Vadot 478354d7675SEmmanuel Vadot qcom,analog-pass: 479354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 480354d7675SEmmanuel Vadot description: 481354d7675SEmmanuel Vadot The specified pins are configured in 482354d7675SEmmanuel Vadot analog-pass-through mode. 483354d7675SEmmanuel Vadot 484354d7675SEmmanuel Vadot qcom,atest: 485354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 486354d7675SEmmanuel Vadot description: 487354d7675SEmmanuel Vadot Selects ATEST rail to route to GPIO when it's 488354d7675SEmmanuel Vadot configured in analog-pass-through mode. 489354d7675SEmmanuel Vadot enum: [1, 2, 3, 4] 490354d7675SEmmanuel Vadot 491354d7675SEmmanuel Vadot qcom,dtest-buffer: 492354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 493354d7675SEmmanuel Vadot description: 494354d7675SEmmanuel Vadot Selects DTEST rail to route to GPIO when it's 495354d7675SEmmanuel Vadot configured as digital input. 496354d7675SEmmanuel Vadot enum: [1, 2, 3, 4] 497354d7675SEmmanuel Vadot 498354d7675SEmmanuel Vadot required: 499354d7675SEmmanuel Vadot - pins 500354d7675SEmmanuel Vadot - function 501354d7675SEmmanuel Vadot 502354d7675SEmmanuel Vadot additionalProperties: false 503354d7675SEmmanuel Vadot 504354d7675SEmmanuel Vadotexamples: 505354d7675SEmmanuel Vadot - | 506354d7675SEmmanuel Vadot #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 507354d7675SEmmanuel Vadot 508354d7675SEmmanuel Vadot pm8921_gpio: gpio@150 { 509354d7675SEmmanuel Vadot compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio"; 510354d7675SEmmanuel Vadot reg = <0x150 0x160>; 511354d7675SEmmanuel Vadot interrupt-controller; 512354d7675SEmmanuel Vadot #interrupt-cells = <2>; 513354d7675SEmmanuel Vadot gpio-controller; 514354d7675SEmmanuel Vadot gpio-ranges = <&pm8921_gpio 0 0 44>; 515354d7675SEmmanuel Vadot #gpio-cells = <2>; 516354d7675SEmmanuel Vadot 517354d7675SEmmanuel Vadot pm8921_gpio_keys: gpio-keys-state { 518*d5b0e70fSEmmanuel Vadot volume-keys-pins { 519354d7675SEmmanuel Vadot pins = "gpio20", "gpio21"; 520354d7675SEmmanuel Vadot function = "normal"; 521354d7675SEmmanuel Vadot 522354d7675SEmmanuel Vadot input-enable; 523354d7675SEmmanuel Vadot bias-pull-up; 524354d7675SEmmanuel Vadot drive-push-pull; 525354d7675SEmmanuel Vadot qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 526354d7675SEmmanuel Vadot power-source = <PM8921_GPIO_S4>; 527354d7675SEmmanuel Vadot }; 528354d7675SEmmanuel Vadot }; 529354d7675SEmmanuel Vadot }; 530354d7675SEmmanuel Vadot... 531