1aa191ab7SKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2aa191ab7SKrzysztof Kozlowski%YAML 1.2 3aa191ab7SKrzysztof Kozlowski--- 4aa191ab7SKrzysztof Kozlowski$id: http://devicetree.org/schemas/pinctrl/qcom,msm8660-pinctrl.yaml# 5aa191ab7SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6aa191ab7SKrzysztof Kozlowski 7aa191ab7SKrzysztof Kozlowskititle: Qualcomm MSM8660 TLMM pin controller 8aa191ab7SKrzysztof Kozlowski 9aa191ab7SKrzysztof Kozlowskimaintainers: 10aa191ab7SKrzysztof Kozlowski - Bjorn Andersson <andersson@kernel.org> 11aa191ab7SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12aa191ab7SKrzysztof Kozlowski 13aa191ab7SKrzysztof Kozlowskidescription: 14aa191ab7SKrzysztof Kozlowski Top Level Mode Multiplexer pin controller in Qualcomm MSM8660 SoC. 15aa191ab7SKrzysztof Kozlowski 16aa191ab7SKrzysztof Kozlowskiproperties: 17aa191ab7SKrzysztof Kozlowski compatible: 18aa191ab7SKrzysztof Kozlowski const: qcom,msm8660-pinctrl 19aa191ab7SKrzysztof Kozlowski 20aa191ab7SKrzysztof Kozlowski reg: 21aa191ab7SKrzysztof Kozlowski maxItems: 1 22aa191ab7SKrzysztof Kozlowski 23*12a18bb7SKrzysztof Kozlowski interrupts: 24*12a18bb7SKrzysztof Kozlowski maxItems: 1 25*12a18bb7SKrzysztof Kozlowski 26aa191ab7SKrzysztof Kozlowski interrupt-controller: true 27aa191ab7SKrzysztof Kozlowski "#interrupt-cells": true 28aa191ab7SKrzysztof Kozlowski gpio-controller: true 29aa191ab7SKrzysztof Kozlowski "#gpio-cells": true 30aa191ab7SKrzysztof Kozlowski gpio-ranges: true 31aa191ab7SKrzysztof Kozlowski wakeup-parent: true 32aa191ab7SKrzysztof Kozlowski 33aa191ab7SKrzysztof Kozlowski gpio-reserved-ranges: 34aa191ab7SKrzysztof Kozlowski minItems: 1 35aa191ab7SKrzysztof Kozlowski maxItems: 86 36aa191ab7SKrzysztof Kozlowski 37aa191ab7SKrzysztof Kozlowski gpio-line-names: 38aa191ab7SKrzysztof Kozlowski maxItems: 173 39aa191ab7SKrzysztof Kozlowski 40aa191ab7SKrzysztof KozlowskipatternProperties: 41aa191ab7SKrzysztof Kozlowski "-state$": 42aa191ab7SKrzysztof Kozlowski oneOf: 43aa191ab7SKrzysztof Kozlowski - $ref: "#/$defs/qcom-msm8660-tlmm-state" 44aa191ab7SKrzysztof Kozlowski - patternProperties: 45aa191ab7SKrzysztof Kozlowski "-pins$": 46aa191ab7SKrzysztof Kozlowski $ref: "#/$defs/qcom-msm8660-tlmm-state" 47aa191ab7SKrzysztof Kozlowski additionalProperties: false 48aa191ab7SKrzysztof Kozlowski 49aa191ab7SKrzysztof Kozlowski$defs: 50aa191ab7SKrzysztof Kozlowski qcom-msm8660-tlmm-state: 51aa191ab7SKrzysztof Kozlowski type: object 52aa191ab7SKrzysztof Kozlowski description: 53aa191ab7SKrzysztof Kozlowski Pinctrl node's client devices use subnodes for desired pin configuration. 54aa191ab7SKrzysztof Kozlowski Client device subnodes use below standard properties. 55aa191ab7SKrzysztof Kozlowski $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 56aa191ab7SKrzysztof Kozlowski 57aa191ab7SKrzysztof Kozlowski properties: 58aa191ab7SKrzysztof Kozlowski pins: 59aa191ab7SKrzysztof Kozlowski description: 60aa191ab7SKrzysztof Kozlowski List of gpio pins affected by the properties specified in this 61aa191ab7SKrzysztof Kozlowski subnode. 62aa191ab7SKrzysztof Kozlowski items: 63aa191ab7SKrzysztof Kozlowski oneOf: 64aa191ab7SKrzysztof Kozlowski - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-6][0-9]|17[0-2])$" 65aa191ab7SKrzysztof Kozlowski - enum: [ sdc3_clk, sdc3_cmd, sdc3_data, sdc4_clk, sdc4_cmd, sdc4_data ] 66aa191ab7SKrzysztof Kozlowski minItems: 1 67aa191ab7SKrzysztof Kozlowski maxItems: 36 68aa191ab7SKrzysztof Kozlowski 69aa191ab7SKrzysztof Kozlowski function: 70aa191ab7SKrzysztof Kozlowski description: 71aa191ab7SKrzysztof Kozlowski Specify the alternative function to be configured for the specified 72aa191ab7SKrzysztof Kozlowski pins. 73aa191ab7SKrzysztof Kozlowski 74aa191ab7SKrzysztof Kozlowski enum: [ gpio, cam_mclk, dsub, ext_gps, gp_clk_0a, gp_clk_0b, gp_clk_1a, 75aa191ab7SKrzysztof Kozlowski gp_clk_1b, gp_clk_2a, gp_clk_2b, gp_mn, gsbi1, gsbi1_spi_cs1_n, 76aa191ab7SKrzysztof Kozlowski gsbi1_spi_cs2a_n, gsbi1_spi_cs2b_n, gsbi1_spi_cs3_n, gsbi2, 77aa191ab7SKrzysztof Kozlowski gsbi2_spi_cs1_n, gsbi2_spi_cs2_n, gsbi2_spi_cs3_n, gsbi3, 78aa191ab7SKrzysztof Kozlowski gsbi3_spi_cs1_n, gsbi3_spi_cs2_n, gsbi3_spi_cs3_n, gsbi4, 79aa191ab7SKrzysztof Kozlowski gsbi5, gsbi6, gsbi7, gsbi8, gsbi9, gsbi10, gsbi11, gsbi12, 80aa191ab7SKrzysztof Kozlowski hdmi, i2s, lcdc, mdp_vsync, mi2s, pcm, ps_hold, sdc1, sdc2, 81aa191ab7SKrzysztof Kozlowski sdc5, tsif1, tsif2, usb_fs1, usb_fs1_oe_n, usb_fs2, 82aa191ab7SKrzysztof Kozlowski usb_fs2_oe_n, vfe, vsens_alarm, ebi2, ebi2cs ] 83aa191ab7SKrzysztof Kozlowski 84aa191ab7SKrzysztof Kozlowski 85aa191ab7SKrzysztof Kozlowski bias-pull-down: true 86aa191ab7SKrzysztof Kozlowski bias-pull-up: true 87aa191ab7SKrzysztof Kozlowski bias-disable: true 88aa191ab7SKrzysztof Kozlowski drive-strength: true 89aa191ab7SKrzysztof Kozlowski input-enable: true 90aa191ab7SKrzysztof Kozlowski output-high: true 91aa191ab7SKrzysztof Kozlowski output-low: true 92aa191ab7SKrzysztof Kozlowski 93aa191ab7SKrzysztof Kozlowski required: 94aa191ab7SKrzysztof Kozlowski - pins 95aa191ab7SKrzysztof Kozlowski 96aa191ab7SKrzysztof Kozlowski additionalProperties: false 97aa191ab7SKrzysztof Kozlowski 98aa191ab7SKrzysztof KozlowskiallOf: 99aa191ab7SKrzysztof Kozlowski - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 100aa191ab7SKrzysztof Kozlowski 101aa191ab7SKrzysztof Kozlowskirequired: 102aa191ab7SKrzysztof Kozlowski - compatible 103aa191ab7SKrzysztof Kozlowski - reg 104aa191ab7SKrzysztof Kozlowski 105aa191ab7SKrzysztof KozlowskiadditionalProperties: false 106aa191ab7SKrzysztof Kozlowski 107aa191ab7SKrzysztof Kozlowskiexamples: 108aa191ab7SKrzysztof Kozlowski - | 109aa191ab7SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 110aa191ab7SKrzysztof Kozlowski tlmm: pinctrl@800000 { 111aa191ab7SKrzysztof Kozlowski compatible = "qcom,msm8660-pinctrl"; 112aa191ab7SKrzysztof Kozlowski reg = <0x800000 0x4000>; 113aa191ab7SKrzysztof Kozlowski 114aa191ab7SKrzysztof Kozlowski gpio-controller; 115aa191ab7SKrzysztof Kozlowski gpio-ranges = <&tlmm 0 0 173>; 116aa191ab7SKrzysztof Kozlowski #gpio-cells = <2>; 117aa191ab7SKrzysztof Kozlowski interrupts = <0 16 0x4>; 118aa191ab7SKrzysztof Kozlowski interrupt-controller; 119aa191ab7SKrzysztof Kozlowski #interrupt-cells = <2>; 120aa191ab7SKrzysztof Kozlowski 121aa191ab7SKrzysztof Kozlowski gsbi3-i2c-state { 122aa191ab7SKrzysztof Kozlowski pins = "gpio43", "gpio44"; 123aa191ab7SKrzysztof Kozlowski function = "gsbi3"; 124aa191ab7SKrzysztof Kozlowski drive-strength = <8>; 125aa191ab7SKrzysztof Kozlowski bias-disable; 126aa191ab7SKrzysztof Kozlowski }; 127aa191ab7SKrzysztof Kozlowski }; 128