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 ArmstrongpatternProperties: 2719f7ad36SNeil Armstrong "-state$": 2819f7ad36SNeil Armstrong oneOf: 2919f7ad36SNeil Armstrong - $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 3019f7ad36SNeil Armstrong - patternProperties: 3119f7ad36SNeil Armstrong "-pins$": 3219f7ad36SNeil Armstrong $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 3319f7ad36SNeil Armstrong additionalProperties: false 3419f7ad36SNeil Armstrong 3519f7ad36SNeil Armstrong$defs: 3619f7ad36SNeil Armstrong qcom-mdm9615-pinctrl-state: 3719f7ad36SNeil Armstrong type: object 3819f7ad36SNeil Armstrong description: 3919f7ad36SNeil Armstrong Pinctrl node's client devices use subnodes for desired pin configuration. 4019f7ad36SNeil Armstrong Client device subnodes use below standard properties. 4119f7ad36SNeil Armstrong $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 42a64ad105SKrzysztof Kozlowski unevaluatedProperties: false 4319f7ad36SNeil Armstrong 4419f7ad36SNeil Armstrong properties: 4519f7ad36SNeil Armstrong pins: 4619f7ad36SNeil Armstrong description: 4719f7ad36SNeil Armstrong List of gpio pins affected by the properties specified in this 4819f7ad36SNeil Armstrong subnode. 4919f7ad36SNeil Armstrong items: 5019f7ad36SNeil Armstrong pattern: "^gpio([0-9]|[1-7][0-9]|8[0-7])$" 5119f7ad36SNeil Armstrong minItems: 1 5219f7ad36SNeil Armstrong maxItems: 16 5319f7ad36SNeil Armstrong 5419f7ad36SNeil Armstrong function: 5519f7ad36SNeil Armstrong description: 5619f7ad36SNeil Armstrong Specify the alternative function to be configured for the specified 5719f7ad36SNeil Armstrong pins. 5819f7ad36SNeil Armstrong 5919f7ad36SNeil Armstrong enum: [ gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart, 6019f7ad36SNeil Armstrong sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio, cdc_mclk, ] 6119f7ad36SNeil Armstrong 6219f7ad36SNeil Armstrong required: 6319f7ad36SNeil Armstrong - pins 6419f7ad36SNeil Armstrong 65*b22794c0SKrzysztof Kozlowskirequired: 66*b22794c0SKrzysztof Kozlowski - compatible 67*b22794c0SKrzysztof Kozlowski - reg 68*b22794c0SKrzysztof Kozlowski 69*b22794c0SKrzysztof KozlowskiunevaluatedProperties: false 70*b22794c0SKrzysztof Kozlowski 7119f7ad36SNeil Armstrongexamples: 7219f7ad36SNeil Armstrong - | 7319f7ad36SNeil Armstrong #include <dt-bindings/interrupt-controller/arm-gic.h> 7419f7ad36SNeil Armstrong tlmm: pinctrl@1000000 { 7519f7ad36SNeil Armstrong compatible = "qcom,mdm9615-pinctrl"; 7619f7ad36SNeil Armstrong reg = <0x01000000 0x300000>; 7719f7ad36SNeil Armstrong interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 7819f7ad36SNeil Armstrong gpio-controller; 7919f7ad36SNeil Armstrong gpio-ranges = <&msmgpio 0 0 88>; 8019f7ad36SNeil Armstrong #gpio-cells = <2>; 8119f7ad36SNeil Armstrong interrupt-controller; 8219f7ad36SNeil Armstrong #interrupt-cells = <2>; 8319f7ad36SNeil Armstrong 8419f7ad36SNeil Armstrong gsbi3-state { 8519f7ad36SNeil Armstrong pins = "gpio8", "gpio9", "gpio10", "gpio11"; 8619f7ad36SNeil Armstrong function = "gsbi3"; 8719f7ad36SNeil Armstrong drive-strength = <8>; 8819f7ad36SNeil Armstrong bias-disable; 8919f7ad36SNeil Armstrong }; 9019f7ad36SNeil Armstrong 9119f7ad36SNeil Armstrong gsbi5-i2c-state { 9219f7ad36SNeil Armstrong sda-pins { 9319f7ad36SNeil Armstrong pins = "gpio16"; 9419f7ad36SNeil Armstrong function = "gsbi5_i2c"; 9519f7ad36SNeil Armstrong drive-strength = <8>; 9619f7ad36SNeil Armstrong bias-disable; 9719f7ad36SNeil Armstrong }; 9819f7ad36SNeil Armstrong 9919f7ad36SNeil Armstrong scl-pins { 10019f7ad36SNeil Armstrong pins = "gpio17"; 10119f7ad36SNeil Armstrong function = "gsbi5_i2c"; 10219f7ad36SNeil Armstrong drive-strength = <2>; 10319f7ad36SNeil Armstrong bias-disable; 10419f7ad36SNeil Armstrong }; 10519f7ad36SNeil Armstrong }; 10619f7ad36SNeil Armstrong }; 107