18bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 28bab661aSEmmanuel Vadot%YAML 1.2 38bab661aSEmmanuel Vadot--- 48bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,mdm9615-pinctrl.yaml# 58bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 68bab661aSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Qualcomm Technologies, Inc. MDM9615 TLMM block 88bab661aSEmmanuel Vadot 98bab661aSEmmanuel Vadotmaintainers: 108bab661aSEmmanuel Vadot - Bjorn Andersson <andersson@kernel.org> 118bab661aSEmmanuel Vadot 128bab661aSEmmanuel Vadotdescription: Top Level Mode Multiplexer pin controller in Qualcomm MDM9615 SoC. 138bab661aSEmmanuel Vadot 148bab661aSEmmanuel Vadot$ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 158bab661aSEmmanuel Vadot 168bab661aSEmmanuel Vadotproperties: 178bab661aSEmmanuel Vadot compatible: 188bab661aSEmmanuel Vadot const: qcom,mdm9615-pinctrl 198bab661aSEmmanuel Vadot 208bab661aSEmmanuel Vadot reg: 218bab661aSEmmanuel Vadot maxItems: 1 228bab661aSEmmanuel Vadot 23cb7aa33aSEmmanuel Vadot interrupts: 24cb7aa33aSEmmanuel Vadot maxItems: 1 25cb7aa33aSEmmanuel Vadot 268bab661aSEmmanuel Vadot interrupt-controller: true 278bab661aSEmmanuel Vadot '#interrupt-cells': true 288bab661aSEmmanuel Vadot gpio-controller: true 298bab661aSEmmanuel Vadot '#gpio-cells': true 308bab661aSEmmanuel Vadot gpio-ranges: true 318bab661aSEmmanuel Vadot 328bab661aSEmmanuel Vadotrequired: 338bab661aSEmmanuel Vadot - compatible 348bab661aSEmmanuel Vadot - reg 358bab661aSEmmanuel Vadot 368bab661aSEmmanuel VadotadditionalProperties: false 378bab661aSEmmanuel Vadot 388bab661aSEmmanuel VadotpatternProperties: 398bab661aSEmmanuel Vadot "-state$": 408bab661aSEmmanuel Vadot oneOf: 418bab661aSEmmanuel Vadot - $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 428bab661aSEmmanuel Vadot - patternProperties: 438bab661aSEmmanuel Vadot "-pins$": 448bab661aSEmmanuel Vadot $ref: "#/$defs/qcom-mdm9615-pinctrl-state" 458bab661aSEmmanuel Vadot additionalProperties: false 468bab661aSEmmanuel Vadot 478bab661aSEmmanuel Vadot$defs: 488bab661aSEmmanuel Vadot qcom-mdm9615-pinctrl-state: 498bab661aSEmmanuel Vadot type: object 508bab661aSEmmanuel Vadot description: 518bab661aSEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 528bab661aSEmmanuel Vadot Client device subnodes use below standard properties. 538bab661aSEmmanuel Vadot $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 54*fac71e4eSEmmanuel Vadot unevaluatedProperties: false 558bab661aSEmmanuel Vadot 568bab661aSEmmanuel Vadot properties: 578bab661aSEmmanuel Vadot pins: 588bab661aSEmmanuel Vadot description: 598bab661aSEmmanuel Vadot List of gpio pins affected by the properties specified in this 608bab661aSEmmanuel Vadot subnode. 618bab661aSEmmanuel Vadot items: 628bab661aSEmmanuel Vadot pattern: "^gpio([0-9]|[1-7][0-9]|8[0-7])$" 638bab661aSEmmanuel Vadot minItems: 1 648bab661aSEmmanuel Vadot maxItems: 16 658bab661aSEmmanuel Vadot 668bab661aSEmmanuel Vadot function: 678bab661aSEmmanuel Vadot description: 688bab661aSEmmanuel Vadot Specify the alternative function to be configured for the specified 698bab661aSEmmanuel Vadot pins. 708bab661aSEmmanuel Vadot 718bab661aSEmmanuel Vadot enum: [ gpio, gsbi2_i2c, gsbi3, gsbi4, gsbi5_i2c, gsbi5_uart, 728bab661aSEmmanuel Vadot sdc2, ebi2_lcdc, ps_hold, prim_audio, sec_audio, cdc_mclk, ] 738bab661aSEmmanuel Vadot 748bab661aSEmmanuel Vadot required: 758bab661aSEmmanuel Vadot - pins 768bab661aSEmmanuel Vadot 778bab661aSEmmanuel Vadotexamples: 788bab661aSEmmanuel Vadot - | 798bab661aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 808bab661aSEmmanuel Vadot tlmm: pinctrl@1000000 { 818bab661aSEmmanuel Vadot compatible = "qcom,mdm9615-pinctrl"; 828bab661aSEmmanuel Vadot reg = <0x01000000 0x300000>; 838bab661aSEmmanuel Vadot interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 848bab661aSEmmanuel Vadot gpio-controller; 858bab661aSEmmanuel Vadot gpio-ranges = <&msmgpio 0 0 88>; 868bab661aSEmmanuel Vadot #gpio-cells = <2>; 878bab661aSEmmanuel Vadot interrupt-controller; 888bab661aSEmmanuel Vadot #interrupt-cells = <2>; 898bab661aSEmmanuel Vadot 908bab661aSEmmanuel Vadot gsbi3-state { 918bab661aSEmmanuel Vadot pins = "gpio8", "gpio9", "gpio10", "gpio11"; 928bab661aSEmmanuel Vadot function = "gsbi3"; 938bab661aSEmmanuel Vadot drive-strength = <8>; 948bab661aSEmmanuel Vadot bias-disable; 958bab661aSEmmanuel Vadot }; 968bab661aSEmmanuel Vadot 978bab661aSEmmanuel Vadot gsbi5-i2c-state { 988bab661aSEmmanuel Vadot sda-pins { 998bab661aSEmmanuel Vadot pins = "gpio16"; 1008bab661aSEmmanuel Vadot function = "gsbi5_i2c"; 1018bab661aSEmmanuel Vadot drive-strength = <8>; 1028bab661aSEmmanuel Vadot bias-disable; 1038bab661aSEmmanuel Vadot }; 1048bab661aSEmmanuel Vadot 1058bab661aSEmmanuel Vadot scl-pins { 1068bab661aSEmmanuel Vadot pins = "gpio17"; 1078bab661aSEmmanuel Vadot function = "gsbi5_i2c"; 1088bab661aSEmmanuel Vadot drive-strength = <2>; 1098bab661aSEmmanuel Vadot bias-disable; 1108bab661aSEmmanuel Vadot }; 1118bab661aSEmmanuel Vadot }; 1128bab661aSEmmanuel Vadot }; 113