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 23d5b0e70fSEmmanuel Vadot - qcom,pm6125-gpio 24354d7675SEmmanuel Vadot - qcom,pm6150-gpio 25354d7675SEmmanuel Vadot - qcom,pm6150l-gpio 268cc087a1SEmmanuel Vadot - qcom,pm6350-gpio 277d0873ebSEmmanuel Vadot - qcom,pm6450-gpio 287ef62cebSEmmanuel Vadot - qcom,pm7250b-gpio 29354d7675SEmmanuel Vadot - qcom,pm7325-gpio 30aa1a8ff2SEmmanuel Vadot - qcom,pm7550ba-gpio 31354d7675SEmmanuel Vadot - qcom,pm8005-gpio 32354d7675SEmmanuel Vadot - qcom,pm8018-gpio 33e67e8565SEmmanuel Vadot - qcom,pm8019-gpio 34354d7675SEmmanuel Vadot - qcom,pm8038-gpio 35354d7675SEmmanuel Vadot - qcom,pm8058-gpio 36354d7675SEmmanuel Vadot - qcom,pm8150-gpio 37354d7675SEmmanuel Vadot - qcom,pm8150b-gpio 38d5b0e70fSEmmanuel Vadot - qcom,pm8150l-gpio 39e67e8565SEmmanuel Vadot - qcom,pm8226-gpio 40354d7675SEmmanuel Vadot - qcom,pm8350-gpio 41354d7675SEmmanuel Vadot - qcom,pm8350b-gpio 42354d7675SEmmanuel Vadot - qcom,pm8350c-gpio 43c9ccf3a3SEmmanuel Vadot - qcom,pm8450-gpio 44cb7aa33aSEmmanuel Vadot - qcom,pm8550-gpio 45cb7aa33aSEmmanuel Vadot - qcom,pm8550b-gpio 46cb7aa33aSEmmanuel Vadot - qcom,pm8550ve-gpio 47cb7aa33aSEmmanuel Vadot - qcom,pm8550vs-gpio 48354d7675SEmmanuel Vadot - qcom,pm8916-gpio 49354d7675SEmmanuel Vadot - qcom,pm8917-gpio 50354d7675SEmmanuel Vadot - qcom,pm8921-gpio 51354d7675SEmmanuel Vadot - qcom,pm8941-gpio 52354d7675SEmmanuel Vadot - qcom,pm8950-gpio 53f126890aSEmmanuel Vadot - qcom,pm8953-gpio 54354d7675SEmmanuel Vadot - qcom,pm8994-gpio 55354d7675SEmmanuel Vadot - qcom,pm8998-gpio 56354d7675SEmmanuel Vadot - qcom,pma8084-gpio 57aa1a8ff2SEmmanuel Vadot - qcom,pmc8180-gpio 58aa1a8ff2SEmmanuel Vadot - qcom,pmc8180c-gpio 590e8011faSEmmanuel Vadot - qcom,pmc8380-gpio 607d0873ebSEmmanuel Vadot - qcom,pmd8028-gpio 61fac71e4eSEmmanuel Vadot - qcom,pmi632-gpio 62354d7675SEmmanuel Vadot - qcom,pmi8950-gpio 63354d7675SEmmanuel Vadot - qcom,pmi8994-gpio 64354d7675SEmmanuel Vadot - qcom,pmi8998-gpio 657d0873ebSEmmanuel Vadot - qcom,pmih0108-gpio 66354d7675SEmmanuel Vadot - qcom,pmk8350-gpio 67cb7aa33aSEmmanuel Vadot - qcom,pmk8550-gpio 68d5b0e70fSEmmanuel Vadot - qcom,pmm8155au-gpio 69fac71e4eSEmmanuel Vadot - qcom,pmm8654au-gpio 70b97ee269SEmmanuel Vadot - qcom,pmp8074-gpio 71354d7675SEmmanuel Vadot - qcom,pmr735a-gpio 72354d7675SEmmanuel Vadot - qcom,pmr735b-gpio 73cb7aa33aSEmmanuel Vadot - qcom,pmr735d-gpio 74354d7675SEmmanuel Vadot - qcom,pms405-gpio 75354d7675SEmmanuel Vadot - qcom,pmx55-gpio 76d5b0e70fSEmmanuel Vadot - qcom,pmx65-gpio 77aa1a8ff2SEmmanuel Vadot - qcom,pmx75-gpio 787d0873ebSEmmanuel Vadot - qcom,pmxr2230-gpio 79354d7675SEmmanuel Vadot 80354d7675SEmmanuel Vadot - enum: 81354d7675SEmmanuel Vadot - qcom,spmi-gpio 82354d7675SEmmanuel Vadot - qcom,ssbi-gpio 83354d7675SEmmanuel Vadot 84354d7675SEmmanuel Vadot reg: 85354d7675SEmmanuel Vadot maxItems: 1 86354d7675SEmmanuel Vadot 87354d7675SEmmanuel Vadot interrupt-controller: true 88354d7675SEmmanuel Vadot 89354d7675SEmmanuel Vadot '#interrupt-cells': 90354d7675SEmmanuel Vadot const: 2 91354d7675SEmmanuel Vadot 92354d7675SEmmanuel Vadot gpio-controller: true 93354d7675SEmmanuel Vadot 94354d7675SEmmanuel Vadot gpio-ranges: 95354d7675SEmmanuel Vadot maxItems: 1 96354d7675SEmmanuel Vadot 97d5b0e70fSEmmanuel Vadot gpio-line-names: 98d5b0e70fSEmmanuel Vadot minItems: 2 99d5b0e70fSEmmanuel Vadot maxItems: 44 100d5b0e70fSEmmanuel Vadot 101d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 102d5b0e70fSEmmanuel Vadot minItems: 1 103d5b0e70fSEmmanuel Vadot # maxItems as half of total number of GPIOs, as there has to be at 104d5b0e70fSEmmanuel Vadot # least one usable GPIO between each reserved range. 105d5b0e70fSEmmanuel Vadot maxItems: 22 106d5b0e70fSEmmanuel Vadot 107354d7675SEmmanuel Vadot '#gpio-cells': 108354d7675SEmmanuel Vadot const: 2 109354d7675SEmmanuel Vadot description: 110354d7675SEmmanuel Vadot The first cell will be used to define gpio number and the 111354d7675SEmmanuel Vadot second denotes the flags for this gpio 112354d7675SEmmanuel Vadot 113354d7675SEmmanuel VadotadditionalProperties: false 114354d7675SEmmanuel Vadot 115354d7675SEmmanuel Vadotrequired: 116354d7675SEmmanuel Vadot - compatible 117354d7675SEmmanuel Vadot - reg 118354d7675SEmmanuel Vadot - gpio-controller 119354d7675SEmmanuel Vadot - '#gpio-cells' 120354d7675SEmmanuel Vadot - gpio-ranges 121354d7675SEmmanuel Vadot - interrupt-controller 122354d7675SEmmanuel Vadot 123d5b0e70fSEmmanuel VadotallOf: 124d5b0e70fSEmmanuel Vadot - if: 125d5b0e70fSEmmanuel Vadot properties: 126d5b0e70fSEmmanuel Vadot compatible: 127d5b0e70fSEmmanuel Vadot contains: 128d5b0e70fSEmmanuel Vadot enum: 129d5b0e70fSEmmanuel Vadot - qcom,pmi8950-gpio 130cb7aa33aSEmmanuel Vadot - qcom,pmr735d-gpio 131d5b0e70fSEmmanuel Vadot then: 132d5b0e70fSEmmanuel Vadot properties: 133d5b0e70fSEmmanuel Vadot gpio-line-names: 134d5b0e70fSEmmanuel Vadot minItems: 2 135d5b0e70fSEmmanuel Vadot maxItems: 2 136d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 137d5b0e70fSEmmanuel Vadot maxItems: 1 138d5b0e70fSEmmanuel Vadot 139d5b0e70fSEmmanuel Vadot - if: 140d5b0e70fSEmmanuel Vadot properties: 141d5b0e70fSEmmanuel Vadot compatible: 142d5b0e70fSEmmanuel Vadot contains: 143d5b0e70fSEmmanuel Vadot enum: 144d5b0e70fSEmmanuel Vadot - qcom,pm8005-gpio 145d5b0e70fSEmmanuel Vadot - qcom,pm8450-gpio 146d5b0e70fSEmmanuel Vadot - qcom,pm8916-gpio 1477d0873ebSEmmanuel Vadot - qcom,pmd8028-gpio 148d5b0e70fSEmmanuel Vadot - qcom,pmk8350-gpio 149d5b0e70fSEmmanuel Vadot - qcom,pmr735a-gpio 150d5b0e70fSEmmanuel Vadot - qcom,pmr735b-gpio 151d5b0e70fSEmmanuel Vadot then: 152d5b0e70fSEmmanuel Vadot properties: 153d5b0e70fSEmmanuel Vadot gpio-line-names: 154d5b0e70fSEmmanuel Vadot minItems: 4 155d5b0e70fSEmmanuel Vadot maxItems: 4 156d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 157d5b0e70fSEmmanuel Vadot minItems: 1 158d5b0e70fSEmmanuel Vadot maxItems: 2 159d5b0e70fSEmmanuel Vadot 160d5b0e70fSEmmanuel Vadot - if: 161d5b0e70fSEmmanuel Vadot properties: 162d5b0e70fSEmmanuel Vadot compatible: 163d5b0e70fSEmmanuel Vadot contains: 164d5b0e70fSEmmanuel Vadot enum: 165d5b0e70fSEmmanuel Vadot - qcom,pm8018-gpio 166d5b0e70fSEmmanuel Vadot - qcom,pm8019-gpio 167cb7aa33aSEmmanuel Vadot - qcom,pm8550vs-gpio 168cb7aa33aSEmmanuel Vadot - qcom,pmk8550-gpio 169d5b0e70fSEmmanuel Vadot then: 170d5b0e70fSEmmanuel Vadot properties: 171d5b0e70fSEmmanuel Vadot gpio-line-names: 172d5b0e70fSEmmanuel Vadot minItems: 6 173d5b0e70fSEmmanuel Vadot maxItems: 6 174d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 175d5b0e70fSEmmanuel Vadot minItems: 1 176d5b0e70fSEmmanuel Vadot maxItems: 3 177d5b0e70fSEmmanuel Vadot 178d5b0e70fSEmmanuel Vadot - if: 179d5b0e70fSEmmanuel Vadot properties: 180d5b0e70fSEmmanuel Vadot compatible: 181d5b0e70fSEmmanuel Vadot contains: 182d5b0e70fSEmmanuel Vadot enum: 183aa1a8ff2SEmmanuel Vadot - qcom,pm7550ba-gpio 184b97ee269SEmmanuel Vadot - qcom,pm8226-gpio 185d5b0e70fSEmmanuel Vadot - qcom,pm8350b-gpio 186cb7aa33aSEmmanuel Vadot - qcom,pm8550ve-gpio 187d5b0e70fSEmmanuel Vadot - qcom,pm8950-gpio 188f126890aSEmmanuel Vadot - qcom,pm8953-gpio 189fac71e4eSEmmanuel Vadot - qcom,pmi632-gpio 190d5b0e70fSEmmanuel Vadot then: 191d5b0e70fSEmmanuel Vadot properties: 192d5b0e70fSEmmanuel Vadot gpio-line-names: 193d5b0e70fSEmmanuel Vadot minItems: 8 194d5b0e70fSEmmanuel Vadot maxItems: 8 195d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 196d5b0e70fSEmmanuel Vadot minItems: 1 197d5b0e70fSEmmanuel Vadot maxItems: 4 198d5b0e70fSEmmanuel Vadot 199d5b0e70fSEmmanuel Vadot - if: 200d5b0e70fSEmmanuel Vadot properties: 201d5b0e70fSEmmanuel Vadot compatible: 202d5b0e70fSEmmanuel Vadot contains: 203d5b0e70fSEmmanuel Vadot enum: 204d5b0e70fSEmmanuel Vadot - qcom,pm6350-gpio 2057d0873ebSEmmanuel Vadot - qcom,pm6450-gpio 206d5b0e70fSEmmanuel Vadot - qcom,pm8350c-gpio 207d5b0e70fSEmmanuel Vadot then: 208d5b0e70fSEmmanuel Vadot properties: 209d5b0e70fSEmmanuel Vadot gpio-line-names: 210d5b0e70fSEmmanuel Vadot minItems: 9 211d5b0e70fSEmmanuel Vadot maxItems: 9 212d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 213d5b0e70fSEmmanuel Vadot minItems: 1 214d5b0e70fSEmmanuel Vadot maxItems: 5 215d5b0e70fSEmmanuel Vadot 216d5b0e70fSEmmanuel Vadot - if: 217d5b0e70fSEmmanuel Vadot properties: 218d5b0e70fSEmmanuel Vadot compatible: 219d5b0e70fSEmmanuel Vadot contains: 220d5b0e70fSEmmanuel Vadot enum: 221d5b0e70fSEmmanuel Vadot - qcom,pm2250-gpio 222d5b0e70fSEmmanuel Vadot - qcom,pm6150-gpio 223d5b0e70fSEmmanuel Vadot - qcom,pm7325-gpio 224d5b0e70fSEmmanuel Vadot - qcom,pm8150-gpio 225d5b0e70fSEmmanuel Vadot - qcom,pm8350-gpio 226d5b0e70fSEmmanuel Vadot - qcom,pmc8180-gpio 2270e8011faSEmmanuel Vadot - qcom,pmc8380-gpio 228d5b0e70fSEmmanuel Vadot - qcom,pmi8994-gpio 229d5b0e70fSEmmanuel Vadot - qcom,pmm8155au-gpio 230d5b0e70fSEmmanuel Vadot then: 231d5b0e70fSEmmanuel Vadot properties: 232d5b0e70fSEmmanuel Vadot gpio-line-names: 233d5b0e70fSEmmanuel Vadot minItems: 10 234d5b0e70fSEmmanuel Vadot maxItems: 10 235d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 236d5b0e70fSEmmanuel Vadot minItems: 1 237d5b0e70fSEmmanuel Vadot maxItems: 5 238d5b0e70fSEmmanuel Vadot 239d5b0e70fSEmmanuel Vadot - if: 240d5b0e70fSEmmanuel Vadot properties: 241d5b0e70fSEmmanuel Vadot compatible: 242d5b0e70fSEmmanuel Vadot contains: 243d5b0e70fSEmmanuel Vadot enum: 244d5b0e70fSEmmanuel Vadot - qcom,pmx55-gpio 245d5b0e70fSEmmanuel Vadot then: 246d5b0e70fSEmmanuel Vadot properties: 247d5b0e70fSEmmanuel Vadot gpio-line-names: 248d5b0e70fSEmmanuel Vadot minItems: 11 249d5b0e70fSEmmanuel Vadot maxItems: 11 250d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 251d5b0e70fSEmmanuel Vadot minItems: 1 252d5b0e70fSEmmanuel Vadot maxItems: 6 253d5b0e70fSEmmanuel Vadot 254d5b0e70fSEmmanuel Vadot - if: 255d5b0e70fSEmmanuel Vadot properties: 256d5b0e70fSEmmanuel Vadot compatible: 257d5b0e70fSEmmanuel Vadot contains: 258d5b0e70fSEmmanuel Vadot enum: 259d5b0e70fSEmmanuel Vadot - qcom,pm660l-gpio 260d5b0e70fSEmmanuel Vadot - qcom,pm6150l-gpio 2617ef62cebSEmmanuel Vadot - qcom,pm7250b-gpio 262d5b0e70fSEmmanuel Vadot - qcom,pm8038-gpio 263d5b0e70fSEmmanuel Vadot - qcom,pm8150b-gpio 264d5b0e70fSEmmanuel Vadot - qcom,pm8150l-gpio 265cb7aa33aSEmmanuel Vadot - qcom,pm8550-gpio 266cb7aa33aSEmmanuel Vadot - qcom,pm8550b-gpio 267d5b0e70fSEmmanuel Vadot - qcom,pmc8180c-gpio 268b97ee269SEmmanuel Vadot - qcom,pmp8074-gpio 269d5b0e70fSEmmanuel Vadot - qcom,pms405-gpio 2707d0873ebSEmmanuel Vadot - qcom,pmxr2230-gpio 271d5b0e70fSEmmanuel Vadot then: 272d5b0e70fSEmmanuel Vadot properties: 273d5b0e70fSEmmanuel Vadot gpio-line-names: 274d5b0e70fSEmmanuel Vadot minItems: 12 275d5b0e70fSEmmanuel Vadot maxItems: 12 276d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 277d5b0e70fSEmmanuel Vadot minItems: 1 278d5b0e70fSEmmanuel Vadot maxItems: 6 279d5b0e70fSEmmanuel Vadot 280d5b0e70fSEmmanuel Vadot - if: 281d5b0e70fSEmmanuel Vadot properties: 282d5b0e70fSEmmanuel Vadot compatible: 283d5b0e70fSEmmanuel Vadot contains: 284d5b0e70fSEmmanuel Vadot enum: 285d5b0e70fSEmmanuel Vadot - qcom,pm660-gpio 286d5b0e70fSEmmanuel Vadot then: 287d5b0e70fSEmmanuel Vadot properties: 288d5b0e70fSEmmanuel Vadot gpio-line-names: 289d5b0e70fSEmmanuel Vadot minItems: 13 290d5b0e70fSEmmanuel Vadot maxItems: 13 291d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 292d5b0e70fSEmmanuel Vadot minItems: 1 293d5b0e70fSEmmanuel Vadot maxItems: 7 294d5b0e70fSEmmanuel Vadot 295d5b0e70fSEmmanuel Vadot - if: 296d5b0e70fSEmmanuel Vadot properties: 297d5b0e70fSEmmanuel Vadot compatible: 298d5b0e70fSEmmanuel Vadot contains: 299d5b0e70fSEmmanuel Vadot enum: 300d5b0e70fSEmmanuel Vadot - qcom,pmi8998-gpio 301d5b0e70fSEmmanuel Vadot then: 302d5b0e70fSEmmanuel Vadot properties: 303d5b0e70fSEmmanuel Vadot gpio-line-names: 304d5b0e70fSEmmanuel Vadot minItems: 14 305d5b0e70fSEmmanuel Vadot maxItems: 14 306d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 307d5b0e70fSEmmanuel Vadot minItems: 1 308d5b0e70fSEmmanuel Vadot maxItems: 7 309d5b0e70fSEmmanuel Vadot 310d5b0e70fSEmmanuel Vadot - if: 311d5b0e70fSEmmanuel Vadot properties: 312d5b0e70fSEmmanuel Vadot compatible: 313d5b0e70fSEmmanuel Vadot contains: 314d5b0e70fSEmmanuel Vadot enum: 3157d0873ebSEmmanuel Vadot - qcom,pmih0108-gpio 3167d0873ebSEmmanuel Vadot then: 3177d0873ebSEmmanuel Vadot properties: 3187d0873ebSEmmanuel Vadot gpio-line-names: 3197d0873ebSEmmanuel Vadot minItems: 18 3207d0873ebSEmmanuel Vadot maxItems: 18 3217d0873ebSEmmanuel Vadot gpio-reserved-ranges: 3227d0873ebSEmmanuel Vadot minItems: 1 3237d0873ebSEmmanuel Vadot maxItems: 9 3247d0873ebSEmmanuel Vadot 3257d0873ebSEmmanuel Vadot - if: 3267d0873ebSEmmanuel Vadot properties: 3277d0873ebSEmmanuel Vadot compatible: 3287d0873ebSEmmanuel Vadot contains: 3297d0873ebSEmmanuel Vadot enum: 330d5b0e70fSEmmanuel Vadot - qcom,pmx65-gpio 331aa1a8ff2SEmmanuel Vadot - qcom,pmx75-gpio 332d5b0e70fSEmmanuel Vadot then: 333d5b0e70fSEmmanuel Vadot properties: 334d5b0e70fSEmmanuel Vadot gpio-line-names: 335d5b0e70fSEmmanuel Vadot minItems: 16 336d5b0e70fSEmmanuel Vadot maxItems: 16 337d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 338d5b0e70fSEmmanuel Vadot minItems: 1 339d5b0e70fSEmmanuel Vadot maxItems: 8 340d5b0e70fSEmmanuel Vadot 341d5b0e70fSEmmanuel Vadot - if: 342d5b0e70fSEmmanuel Vadot properties: 343d5b0e70fSEmmanuel Vadot compatible: 344d5b0e70fSEmmanuel Vadot contains: 345d5b0e70fSEmmanuel Vadot enum: 346d5b0e70fSEmmanuel Vadot - qcom,pm8994-gpio 347d5b0e70fSEmmanuel Vadot - qcom,pma8084-gpio 348d5b0e70fSEmmanuel Vadot then: 349d5b0e70fSEmmanuel Vadot properties: 350d5b0e70fSEmmanuel Vadot gpio-line-names: 351d5b0e70fSEmmanuel Vadot minItems: 22 352d5b0e70fSEmmanuel Vadot maxItems: 22 353d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 354d5b0e70fSEmmanuel Vadot minItems: 1 355d5b0e70fSEmmanuel Vadot maxItems: 11 356d5b0e70fSEmmanuel Vadot 357d5b0e70fSEmmanuel Vadot - if: 358d5b0e70fSEmmanuel Vadot properties: 359d5b0e70fSEmmanuel Vadot compatible: 360d5b0e70fSEmmanuel Vadot contains: 361d5b0e70fSEmmanuel Vadot enum: 362d5b0e70fSEmmanuel Vadot - qcom,pm8998-gpio 363d5b0e70fSEmmanuel Vadot then: 364d5b0e70fSEmmanuel Vadot properties: 365d5b0e70fSEmmanuel Vadot gpio-line-names: 366d5b0e70fSEmmanuel Vadot minItems: 26 367d5b0e70fSEmmanuel Vadot maxItems: 26 368d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 369d5b0e70fSEmmanuel Vadot minItems: 1 370d5b0e70fSEmmanuel Vadot maxItems: 13 371d5b0e70fSEmmanuel Vadot 372d5b0e70fSEmmanuel Vadot - if: 373d5b0e70fSEmmanuel Vadot properties: 374d5b0e70fSEmmanuel Vadot compatible: 375d5b0e70fSEmmanuel Vadot contains: 376d5b0e70fSEmmanuel Vadot enum: 377d5b0e70fSEmmanuel Vadot - qcom,pm8941-gpio 378d5b0e70fSEmmanuel Vadot then: 379d5b0e70fSEmmanuel Vadot properties: 380d5b0e70fSEmmanuel Vadot gpio-line-names: 381d5b0e70fSEmmanuel Vadot minItems: 36 382d5b0e70fSEmmanuel Vadot maxItems: 36 383d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 384d5b0e70fSEmmanuel Vadot minItems: 1 385d5b0e70fSEmmanuel Vadot maxItems: 18 386d5b0e70fSEmmanuel Vadot 387d5b0e70fSEmmanuel Vadot - if: 388d5b0e70fSEmmanuel Vadot properties: 389d5b0e70fSEmmanuel Vadot compatible: 390d5b0e70fSEmmanuel Vadot contains: 391d5b0e70fSEmmanuel Vadot enum: 392d5b0e70fSEmmanuel Vadot - qcom,pm8917-gpio 393d5b0e70fSEmmanuel Vadot then: 394d5b0e70fSEmmanuel Vadot properties: 395d5b0e70fSEmmanuel Vadot gpio-line-names: 396d5b0e70fSEmmanuel Vadot minItems: 38 397d5b0e70fSEmmanuel Vadot maxItems: 38 398d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 399d5b0e70fSEmmanuel Vadot minItems: 1 400d5b0e70fSEmmanuel Vadot maxItems: 19 401d5b0e70fSEmmanuel Vadot 402d5b0e70fSEmmanuel Vadot - if: 403d5b0e70fSEmmanuel Vadot properties: 404d5b0e70fSEmmanuel Vadot compatible: 405d5b0e70fSEmmanuel Vadot contains: 406d5b0e70fSEmmanuel Vadot enum: 407d5b0e70fSEmmanuel Vadot - qcom,pm8058-gpio 408d5b0e70fSEmmanuel Vadot - qcom,pm8921-gpio 409d5b0e70fSEmmanuel Vadot then: 410d5b0e70fSEmmanuel Vadot properties: 411d5b0e70fSEmmanuel Vadot gpio-line-names: 412d5b0e70fSEmmanuel Vadot minItems: 44 413d5b0e70fSEmmanuel Vadot maxItems: 44 414d5b0e70fSEmmanuel Vadot gpio-reserved-ranges: 415d5b0e70fSEmmanuel Vadot minItems: 1 416d5b0e70fSEmmanuel Vadot maxItems: 22 417d5b0e70fSEmmanuel Vadot 418354d7675SEmmanuel VadotpatternProperties: 419354d7675SEmmanuel Vadot '-state$': 420354d7675SEmmanuel Vadot oneOf: 421354d7675SEmmanuel Vadot - $ref: "#/$defs/qcom-pmic-gpio-state" 422354d7675SEmmanuel Vadot - patternProperties: 423d5b0e70fSEmmanuel Vadot "(pinconf|-pins)$": 424354d7675SEmmanuel Vadot $ref: "#/$defs/qcom-pmic-gpio-state" 425d5b0e70fSEmmanuel Vadot additionalProperties: false 426354d7675SEmmanuel Vadot 4277d0873ebSEmmanuel Vadot "-hog(-[0-9]+)?$": 428*b2d2a78aSEmmanuel Vadot type: object 4297d0873ebSEmmanuel Vadot required: 4307d0873ebSEmmanuel Vadot - gpio-hog 4317d0873ebSEmmanuel Vadot 432354d7675SEmmanuel Vadot$defs: 433354d7675SEmmanuel Vadot qcom-pmic-gpio-state: 434354d7675SEmmanuel Vadot type: object 435354d7675SEmmanuel Vadot allOf: 436fac71e4eSEmmanuel Vadot - $ref: pinmux-node.yaml 437fac71e4eSEmmanuel Vadot - $ref: pincfg-node.yaml 438354d7675SEmmanuel Vadot properties: 439354d7675SEmmanuel Vadot pins: 440354d7675SEmmanuel Vadot description: 441354d7675SEmmanuel Vadot List of gpio pins affected by the properties specified in 442354d7675SEmmanuel Vadot this subnode. Valid pins are 443d5b0e70fSEmmanuel Vadot - gpio1-gpio9 for pm6125 444354d7675SEmmanuel Vadot - gpio1-gpio10 for pm6150 445354d7675SEmmanuel Vadot - gpio1-gpio12 for pm6150l 4468cc087a1SEmmanuel Vadot - gpio1-gpio9 for pm6350 4477d0873ebSEmmanuel Vadot - gpio1-gpio9 for pm6450 4487ef62cebSEmmanuel Vadot - gpio1-gpio12 for pm7250b 449354d7675SEmmanuel Vadot - gpio1-gpio10 for pm7325 450aa1a8ff2SEmmanuel Vadot - gpio1-gpio8 for pm7550ba 451354d7675SEmmanuel Vadot - gpio1-gpio4 for pm8005 452354d7675SEmmanuel Vadot - gpio1-gpio6 for pm8018 453354d7675SEmmanuel Vadot - gpio1-gpio12 for pm8038 454354d7675SEmmanuel Vadot - gpio1-gpio40 for pm8058 455354d7675SEmmanuel Vadot - gpio1-gpio10 for pm8150 (holes on gpio2, gpio5, 456354d7675SEmmanuel Vadot gpio7 and gpio8) 457354d7675SEmmanuel Vadot - gpio1-gpio12 for pm8150b (holes on gpio3, gpio4 458354d7675SEmmanuel Vadot and gpio7) 459354d7675SEmmanuel Vadot - gpio1-gpio12 for pm8150l (hole on gpio7) 460354d7675SEmmanuel Vadot - gpio1-gpio4 for pm8916 461354d7675SEmmanuel Vadot - gpio1-gpio10 for pm8350 462354d7675SEmmanuel Vadot - gpio1-gpio8 for pm8350b 463354d7675SEmmanuel Vadot - gpio1-gpio9 for pm8350c 4647ef62cebSEmmanuel Vadot - gpio1-gpio4 for pm8450 465cb7aa33aSEmmanuel Vadot - gpio1-gpio12 for pm8550 466cb7aa33aSEmmanuel Vadot - gpio1-gpio12 for pm8550b 467cb7aa33aSEmmanuel Vadot - gpio1-gpio8 for pm8550ve 468cb7aa33aSEmmanuel Vadot - gpio1-gpio6 for pm8550vs 469354d7675SEmmanuel Vadot - gpio1-gpio38 for pm8917 470354d7675SEmmanuel Vadot - gpio1-gpio44 for pm8921 471354d7675SEmmanuel Vadot - gpio1-gpio36 for pm8941 472354d7675SEmmanuel Vadot - gpio1-gpio8 for pm8950 (hole on gpio3) 473f126890aSEmmanuel Vadot - gpio1-gpio8 for pm8953 (hole on gpio3 and gpio6) 474354d7675SEmmanuel Vadot - gpio1-gpio22 for pm8994 475354d7675SEmmanuel Vadot - gpio1-gpio26 for pm8998 476354d7675SEmmanuel Vadot - gpio1-gpio22 for pma8084 4777d0873ebSEmmanuel Vadot - gpio1-gpio4 for pmd8028 478fac71e4eSEmmanuel Vadot - gpio1-gpio8 for pmi632 479354d7675SEmmanuel Vadot - gpio1-gpio2 for pmi8950 480354d7675SEmmanuel Vadot - gpio1-gpio10 for pmi8994 4817d0873ebSEmmanuel Vadot - gpio1-gpio18 for pmih0108 482354d7675SEmmanuel Vadot - gpio1-gpio4 for pmk8350 483cb7aa33aSEmmanuel Vadot - gpio1-gpio6 for pmk8550 484d5b0e70fSEmmanuel Vadot - gpio1-gpio10 for pmm8155au 485fac71e4eSEmmanuel Vadot - gpio1-gpio12 for pmm8654au 486b97ee269SEmmanuel Vadot - gpio1-gpio12 for pmp8074 (holes on gpio1 and gpio12) 487354d7675SEmmanuel Vadot - gpio1-gpio4 for pmr735a 488354d7675SEmmanuel Vadot - gpio1-gpio4 for pmr735b 489cb7aa33aSEmmanuel Vadot - gpio1-gpio2 for pmr735d 490354d7675SEmmanuel Vadot - gpio1-gpio12 for pms405 (holes on gpio1, gpio9 491354d7675SEmmanuel Vadot and gpio10) 492354d7675SEmmanuel Vadot - gpio1-gpio11 for pmx55 (holes on gpio3, gpio7, gpio10 493354d7675SEmmanuel Vadot and gpio11) 494d5b0e70fSEmmanuel Vadot - gpio1-gpio16 for pmx65 495aa1a8ff2SEmmanuel Vadot - gpio1-gpio16 for pmx75 4967d0873ebSEmmanuel Vadot - gpio1-gpio12 for pmxr2230 497354d7675SEmmanuel Vadot 498354d7675SEmmanuel Vadot items: 499354d7675SEmmanuel Vadot pattern: "^gpio([0-9]+)$" 500354d7675SEmmanuel Vadot 501354d7675SEmmanuel Vadot function: 502354d7675SEmmanuel Vadot items: 503354d7675SEmmanuel Vadot - enum: 504354d7675SEmmanuel Vadot - normal 505354d7675SEmmanuel Vadot - paired 506354d7675SEmmanuel Vadot - func1 507354d7675SEmmanuel Vadot - func2 508354d7675SEmmanuel Vadot - dtest1 509354d7675SEmmanuel Vadot - dtest2 510354d7675SEmmanuel Vadot - dtest3 511354d7675SEmmanuel Vadot - dtest4 512354d7675SEmmanuel Vadot - func3 # supported by LV/MV GPIO subtypes 513354d7675SEmmanuel Vadot - func4 # supported by LV/MV GPIO subtypes 514354d7675SEmmanuel Vadot 515354d7675SEmmanuel Vadot bias-disable: true 516354d7675SEmmanuel Vadot bias-pull-down: true 517354d7675SEmmanuel Vadot bias-pull-up: true 518354d7675SEmmanuel Vadot 519354d7675SEmmanuel Vadot qcom,pull-up-strength: 520354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 521354d7675SEmmanuel Vadot description: 522354d7675SEmmanuel Vadot Specifies the strength to use for pull up, if selected. 523354d7675SEmmanuel Vadot Valid values are defined in 524354d7675SEmmanuel Vadot <dt-bindings/pinctrl/qcom,pmic-gpio.h> 525354d7675SEmmanuel Vadot If this property is omitted 30uA strength will be used 526354d7675SEmmanuel Vadot if pull up is selected 527354d7675SEmmanuel Vadot enum: [0, 1, 2, 3] 528354d7675SEmmanuel Vadot 529354d7675SEmmanuel Vadot bias-high-impedance: true 530354d7675SEmmanuel Vadot input-enable: true 531d5b0e70fSEmmanuel Vadot input-disable: true 532354d7675SEmmanuel Vadot output-high: true 533354d7675SEmmanuel Vadot output-low: true 5348cc087a1SEmmanuel Vadot output-enable: true 5358cc087a1SEmmanuel Vadot output-disable: true 536354d7675SEmmanuel Vadot power-source: true 537354d7675SEmmanuel Vadot 538354d7675SEmmanuel Vadot qcom,drive-strength: 539354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 540354d7675SEmmanuel Vadot description: 541354d7675SEmmanuel Vadot Selects the drive strength for the specified pins 542354d7675SEmmanuel Vadot Valid drive strength values are defined in 543354d7675SEmmanuel Vadot <dt-bindings/pinctrl/qcom,pmic-gpio.h> 544354d7675SEmmanuel Vadot enum: [0, 1, 2, 3] 545354d7675SEmmanuel Vadot 546354d7675SEmmanuel Vadot drive-push-pull: true 547354d7675SEmmanuel Vadot drive-open-drain: true 548354d7675SEmmanuel Vadot drive-open-source: true 549354d7675SEmmanuel Vadot 550354d7675SEmmanuel Vadot qcom,analog-pass: 551354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/flag 552354d7675SEmmanuel Vadot description: 553354d7675SEmmanuel Vadot The specified pins are configured in 554354d7675SEmmanuel Vadot analog-pass-through mode. 555354d7675SEmmanuel Vadot 556354d7675SEmmanuel Vadot qcom,atest: 557354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 558354d7675SEmmanuel Vadot description: 559354d7675SEmmanuel Vadot Selects ATEST rail to route to GPIO when it's 560354d7675SEmmanuel Vadot configured in analog-pass-through mode. 561354d7675SEmmanuel Vadot enum: [1, 2, 3, 4] 562354d7675SEmmanuel Vadot 563354d7675SEmmanuel Vadot qcom,dtest-buffer: 564354d7675SEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 565354d7675SEmmanuel Vadot description: 566354d7675SEmmanuel Vadot Selects DTEST rail to route to GPIO when it's 567354d7675SEmmanuel Vadot configured as digital input. 568354d7675SEmmanuel Vadot enum: [1, 2, 3, 4] 569354d7675SEmmanuel Vadot 570354d7675SEmmanuel Vadot required: 571354d7675SEmmanuel Vadot - pins 572354d7675SEmmanuel Vadot - function 573354d7675SEmmanuel Vadot 574354d7675SEmmanuel Vadot additionalProperties: false 575354d7675SEmmanuel Vadot 576354d7675SEmmanuel Vadotexamples: 577354d7675SEmmanuel Vadot - | 5787d0873ebSEmmanuel Vadot #include <dt-bindings/gpio/gpio.h> 579354d7675SEmmanuel Vadot #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 580354d7675SEmmanuel Vadot 581354d7675SEmmanuel Vadot pm8921_gpio: gpio@150 { 582354d7675SEmmanuel Vadot compatible = "qcom,pm8921-gpio", "qcom,ssbi-gpio"; 583354d7675SEmmanuel Vadot reg = <0x150 0x160>; 584354d7675SEmmanuel Vadot interrupt-controller; 585354d7675SEmmanuel Vadot #interrupt-cells = <2>; 586354d7675SEmmanuel Vadot gpio-controller; 587354d7675SEmmanuel Vadot gpio-ranges = <&pm8921_gpio 0 0 44>; 588354d7675SEmmanuel Vadot #gpio-cells = <2>; 589354d7675SEmmanuel Vadot 590354d7675SEmmanuel Vadot pm8921_gpio_keys: gpio-keys-state { 591d5b0e70fSEmmanuel Vadot volume-keys-pins { 592354d7675SEmmanuel Vadot pins = "gpio20", "gpio21"; 593354d7675SEmmanuel Vadot function = "normal"; 594354d7675SEmmanuel Vadot 595354d7675SEmmanuel Vadot input-enable; 596354d7675SEmmanuel Vadot bias-pull-up; 597354d7675SEmmanuel Vadot drive-push-pull; 598354d7675SEmmanuel Vadot qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>; 599354d7675SEmmanuel Vadot power-source = <PM8921_GPIO_S4>; 600354d7675SEmmanuel Vadot }; 601354d7675SEmmanuel Vadot }; 6027d0873ebSEmmanuel Vadot 6037d0873ebSEmmanuel Vadot otg-hog { 6047d0873ebSEmmanuel Vadot gpio-hog; 6057d0873ebSEmmanuel Vadot gpios = <35 GPIO_ACTIVE_HIGH>; 6067d0873ebSEmmanuel Vadot output-high; 6077d0873ebSEmmanuel Vadot line-name = "otg-gpio"; 6087d0873ebSEmmanuel Vadot }; 609354d7675SEmmanuel Vadot }; 610354d7675SEmmanuel Vadot... 611