119f7ad36SNeil Armstrong# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 219f7ad36SNeil Armstrong%YAML 1.2 319f7ad36SNeil Armstrong--- 419f7ad36SNeil Armstrong$id: http://devicetree.org/schemas/pinctrl/qcom,mdm9615-pinctrl.yaml# 519f7ad36SNeil Armstrong$schema: http://devicetree.org/meta-schemas/core.yaml# 619f7ad36SNeil Armstrong 719f7ad36SNeil Armstrongtitle: Qualcomm Technologies, Inc. MDM9615 TLMM block 819f7ad36SNeil Armstrong 919f7ad36SNeil Armstrongmaintainers: 1019f7ad36SNeil Armstrong - Bjorn Andersson <andersson@kernel.org> 1119f7ad36SNeil Armstrong 1219f7ad36SNeil Armstrongdescription: Top Level Mode Multiplexer pin controller in Qualcomm MDM9615 SoC. 1319f7ad36SNeil Armstrong 1419f7ad36SNeil Armstrong$ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 1519f7ad36SNeil Armstrong 1619f7ad36SNeil Armstrongproperties: 1719f7ad36SNeil Armstrong compatible: 1819f7ad36SNeil Armstrong const: qcom,mdm9615-pinctrl 1919f7ad36SNeil Armstrong 2019f7ad36SNeil Armstrong reg: 2119f7ad36SNeil Armstrong maxItems: 1 2219f7ad36SNeil Armstrong 2312a18bb7SKrzysztof Kozlowski interrupts: 2412a18bb7SKrzysztof Kozlowski maxItems: 1 2512a18bb7SKrzysztof Kozlowski 2619f7ad36SNeil Armstrong interrupt-controller: true 2719f7ad36SNeil Armstrong '#interrupt-cells': true 2819f7ad36SNeil Armstrong gpio-controller: true 2919f7ad36SNeil Armstrong '#gpio-cells': true 3019f7ad36SNeil Armstrong gpio-ranges: true 3119f7ad36SNeil Armstrong 3219f7ad36SNeil Armstrongrequired: 3319f7ad36SNeil Armstrong - compatible 3419f7ad36SNeil Armstrong - reg 3519f7ad36SNeil Armstrong 3619f7ad36SNeil ArmstrongadditionalProperties: false 3719f7ad36SNeil Armstrong 3819f7ad36SNeil ArmstrongpatternProperties: 3919f7ad36SNeil Armstrong "-state$": 4019f7ad36SNeil Armstrong oneOf: 4119f7ad36SNeil Armstrong - $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 4219f7ad36SNeil Armstrong - patternProperties: 4319f7ad36SNeil Armstrong "-pins$": 4419f7ad36SNeil Armstrong $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 4519f7ad36SNeil Armstrong additionalProperties: false 4619f7ad36SNeil Armstrong 4719f7ad36SNeil Armstrong$defs: 4819f7ad36SNeil Armstrong qcom-mdm9615-pinctrl-state: 4919f7ad36SNeil Armstrong type: object 5019f7ad36SNeil Armstrong description: 5119f7ad36SNeil Armstrong Pinctrl node's client devices use subnodes for desired pin configuration. 5219f7ad36SNeil Armstrong Client device subnodes use below standard properties. 5319f7ad36SNeil Armstrong $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 54*a64ad105SKrzysztof Kozlowski unevaluatedProperties: false 5519f7ad36SNeil Armstrong 5619f7ad36SNeil Armstrong properties: 5719f7ad36SNeil Armstrong pins: 5819f7ad36SNeil Armstrong description: 5919f7ad36SNeil Armstrong List of gpio pins affected by the properties specified in this 6019f7ad36SNeil Armstrong subnode. 6119f7ad36SNeil Armstrong items: 6219f7ad36SNeil Armstrong pattern: "^gpio([0-9]|[1-7][0-9]|8[0-7])$" 6319f7ad36SNeil Armstrong minItems: 1 6419f7ad36SNeil Armstrong maxItems: 16 6519f7ad36SNeil Armstrong 6619f7ad36SNeil Armstrong function: 6719f7ad36SNeil Armstrong description: 6819f7ad36SNeil Armstrong Specify the alternative function to be configured for the specified 6919f7ad36SNeil Armstrong pins. 7019f7ad36SNeil Armstrong 7119f7ad36SNeil Armstrong enum: [ gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart, 7219f7ad36SNeil Armstrong sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio, cdc_mclk, ] 7319f7ad36SNeil Armstrong 7419f7ad36SNeil Armstrong required: 7519f7ad36SNeil Armstrong - pins 7619f7ad36SNeil Armstrong 7719f7ad36SNeil Armstrongexamples: 7819f7ad36SNeil Armstrong - | 7919f7ad36SNeil Armstrong #include <dt-bindings/interrupt-controller/arm-gic.h> 8019f7ad36SNeil Armstrong tlmm: pinctrl@1000000 { 8119f7ad36SNeil Armstrong compatible = "qcom,mdm9615-pinctrl"; 8219f7ad36SNeil Armstrong reg = <0x01000000 0x300000>; 8319f7ad36SNeil Armstrong interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 8419f7ad36SNeil Armstrong gpio-controller; 8519f7ad36SNeil Armstrong gpio-ranges = <&msmgpio 0 0 88>; 8619f7ad36SNeil Armstrong #gpio-cells = <2>; 8719f7ad36SNeil Armstrong interrupt-controller; 8819f7ad36SNeil Armstrong #interrupt-cells = <2>; 8919f7ad36SNeil Armstrong 9019f7ad36SNeil Armstrong gsbi3-state { 9119f7ad36SNeil Armstrong pins = "gpio8", "gpio9", "gpio10", "gpio11"; 9219f7ad36SNeil Armstrong function = "gsbi3"; 9319f7ad36SNeil Armstrong drive-strength = <8>; 9419f7ad36SNeil Armstrong bias-disable; 9519f7ad36SNeil Armstrong }; 9619f7ad36SNeil Armstrong 9719f7ad36SNeil Armstrong gsbi5-i2c-state { 9819f7ad36SNeil Armstrong sda-pins { 9919f7ad36SNeil Armstrong pins = "gpio16"; 10019f7ad36SNeil Armstrong function = "gsbi5_i2c"; 10119f7ad36SNeil Armstrong drive-strength = <8>; 10219f7ad36SNeil Armstrong bias-disable; 10319f7ad36SNeil Armstrong }; 10419f7ad36SNeil Armstrong 10519f7ad36SNeil Armstrong scl-pins { 10619f7ad36SNeil Armstrong pins = "gpio17"; 10719f7ad36SNeil Armstrong function = "gsbi5_i2c"; 10819f7ad36SNeil Armstrong drive-strength = <2>; 10919f7ad36SNeil Armstrong bias-disable; 11019f7ad36SNeil Armstrong }; 11119f7ad36SNeil Armstrong }; 11219f7ad36SNeil Armstrong }; 113