1*8bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*8bab661aSEmmanuel Vadot%YAML 1.2 3*8bab661aSEmmanuel Vadot--- 4*8bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,mdm9615-pinctrl.yaml# 5*8bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8bab661aSEmmanuel Vadot 7*8bab661aSEmmanuel Vadottitle: Qualcomm Technologies, Inc. MDM9615 TLMM block 8*8bab661aSEmmanuel Vadot 9*8bab661aSEmmanuel Vadotmaintainers: 10*8bab661aSEmmanuel Vadot - Bjorn Andersson <andersson@kernel.org> 11*8bab661aSEmmanuel Vadot 12*8bab661aSEmmanuel Vadotdescription: Top Level Mode Multiplexer pin controller in Qualcomm MDM9615 SoC. 13*8bab661aSEmmanuel Vadot 14*8bab661aSEmmanuel Vadot$ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 15*8bab661aSEmmanuel Vadot 16*8bab661aSEmmanuel Vadotproperties: 17*8bab661aSEmmanuel Vadot compatible: 18*8bab661aSEmmanuel Vadot const: qcom,mdm9615-pinctrl 19*8bab661aSEmmanuel Vadot 20*8bab661aSEmmanuel Vadot reg: 21*8bab661aSEmmanuel Vadot maxItems: 1 22*8bab661aSEmmanuel Vadot 23*8bab661aSEmmanuel Vadot interrupts: true 24*8bab661aSEmmanuel Vadot interrupt-controller: true 25*8bab661aSEmmanuel Vadot '#interrupt-cells': true 26*8bab661aSEmmanuel Vadot gpio-controller: true 27*8bab661aSEmmanuel Vadot '#gpio-cells': true 28*8bab661aSEmmanuel Vadot gpio-ranges: true 29*8bab661aSEmmanuel Vadot 30*8bab661aSEmmanuel Vadotrequired: 31*8bab661aSEmmanuel Vadot - compatible 32*8bab661aSEmmanuel Vadot - reg 33*8bab661aSEmmanuel Vadot 34*8bab661aSEmmanuel VadotadditionalProperties: false 35*8bab661aSEmmanuel Vadot 36*8bab661aSEmmanuel VadotpatternProperties: 37*8bab661aSEmmanuel Vadot "-state$": 38*8bab661aSEmmanuel Vadot oneOf: 39*8bab661aSEmmanuel Vadot - $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 40*8bab661aSEmmanuel Vadot - patternProperties: 41*8bab661aSEmmanuel Vadot "-pins$": 42*8bab661aSEmmanuel Vadot $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 43*8bab661aSEmmanuel Vadot additionalProperties: false 44*8bab661aSEmmanuel Vadot 45*8bab661aSEmmanuel Vadot$defs: 46*8bab661aSEmmanuel Vadot qcom-mdm9615-pinctrl-state: 47*8bab661aSEmmanuel Vadot type: object 48*8bab661aSEmmanuel Vadot description: 49*8bab661aSEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 50*8bab661aSEmmanuel Vadot Client device subnodes use below standard properties. 51*8bab661aSEmmanuel Vadot $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 52*8bab661aSEmmanuel Vadot 53*8bab661aSEmmanuel Vadot properties: 54*8bab661aSEmmanuel Vadot pins: 55*8bab661aSEmmanuel Vadot description: 56*8bab661aSEmmanuel Vadot List of gpio pins affected by the properties specified in this 57*8bab661aSEmmanuel Vadot subnode. 58*8bab661aSEmmanuel Vadot items: 59*8bab661aSEmmanuel Vadot pattern: "^gpio([0-9]|[1-7][0-9]|8[0-7])$" 60*8bab661aSEmmanuel Vadot minItems: 1 61*8bab661aSEmmanuel Vadot maxItems: 16 62*8bab661aSEmmanuel Vadot 63*8bab661aSEmmanuel Vadot function: 64*8bab661aSEmmanuel Vadot description: 65*8bab661aSEmmanuel Vadot Specify the alternative function to be configured for the specified 66*8bab661aSEmmanuel Vadot pins. 67*8bab661aSEmmanuel Vadot 68*8bab661aSEmmanuel Vadot enum: [ gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart, 69*8bab661aSEmmanuel Vadot sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio, cdc_mclk, ] 70*8bab661aSEmmanuel Vadot 71*8bab661aSEmmanuel Vadot bias-disable: true 72*8bab661aSEmmanuel Vadot bias-pull-down: true 73*8bab661aSEmmanuel Vadot bias-pull-up: true 74*8bab661aSEmmanuel Vadot drive-strength: true 75*8bab661aSEmmanuel Vadot output-high: true 76*8bab661aSEmmanuel Vadot output-low: true 77*8bab661aSEmmanuel Vadot input-enable: true 78*8bab661aSEmmanuel Vadot 79*8bab661aSEmmanuel Vadot required: 80*8bab661aSEmmanuel Vadot - pins 81*8bab661aSEmmanuel Vadot 82*8bab661aSEmmanuel Vadot additionalProperties: false 83*8bab661aSEmmanuel Vadot 84*8bab661aSEmmanuel Vadotexamples: 85*8bab661aSEmmanuel Vadot - | 86*8bab661aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 87*8bab661aSEmmanuel Vadot tlmm: pinctrl@1000000 { 88*8bab661aSEmmanuel Vadot compatible = "qcom,mdm9615-pinctrl"; 89*8bab661aSEmmanuel Vadot reg = <0x01000000 0x300000>; 90*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 91*8bab661aSEmmanuel Vadot gpio-controller; 92*8bab661aSEmmanuel Vadot gpio-ranges = <&msmgpio 0 0 88>; 93*8bab661aSEmmanuel Vadot #gpio-cells = <2>; 94*8bab661aSEmmanuel Vadot interrupt-controller; 95*8bab661aSEmmanuel Vadot #interrupt-cells = <2>; 96*8bab661aSEmmanuel Vadot 97*8bab661aSEmmanuel Vadot gsbi3-state { 98*8bab661aSEmmanuel Vadot pins = "gpio8", "gpio9", "gpio10", "gpio11"; 99*8bab661aSEmmanuel Vadot function = "gsbi3"; 100*8bab661aSEmmanuel Vadot drive-strength = <8>; 101*8bab661aSEmmanuel Vadot bias-disable; 102*8bab661aSEmmanuel Vadot }; 103*8bab661aSEmmanuel Vadot 104*8bab661aSEmmanuel Vadot gsbi5-i2c-state { 105*8bab661aSEmmanuel Vadot sda-pins { 106*8bab661aSEmmanuel Vadot pins = "gpio16"; 107*8bab661aSEmmanuel Vadot function = "gsbi5_i2c"; 108*8bab661aSEmmanuel Vadot drive-strength = <8>; 109*8bab661aSEmmanuel Vadot bias-disable; 110*8bab661aSEmmanuel Vadot }; 111*8bab661aSEmmanuel Vadot 112*8bab661aSEmmanuel Vadot scl-pins { 113*8bab661aSEmmanuel Vadot pins = "gpio17"; 114*8bab661aSEmmanuel Vadot function = "gsbi5_i2c"; 115*8bab661aSEmmanuel Vadot drive-strength = <2>; 116*8bab661aSEmmanuel Vadot bias-disable; 117*8bab661aSEmmanuel Vadot }; 118*8bab661aSEmmanuel Vadot }; 119*8bab661aSEmmanuel Vadot }; 120