1*df1acfd0SRayyan Ansari# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*df1acfd0SRayyan Ansari%YAML 1.2 3*df1acfd0SRayyan Ansari--- 4*df1acfd0SRayyan Ansari$id: http://devicetree.org/schemas/pinctrl/qcom,ipq8064-pinctrl.yaml# 5*df1acfd0SRayyan Ansari$schema: http://devicetree.org/meta-schemas/core.yaml# 6*df1acfd0SRayyan Ansari 7*df1acfd0SRayyan Ansarititle: Qualcomm Technologies, Inc. IPQ8064 TLMM block 8*df1acfd0SRayyan Ansari 9*df1acfd0SRayyan Ansarimaintainers: 10*df1acfd0SRayyan Ansari - Bjorn Andersson <bjorn.andersson@linaro.org> 11*df1acfd0SRayyan Ansari 12*df1acfd0SRayyan Ansaridescription: | 13*df1acfd0SRayyan Ansari Top Level Mode Multiplexer pin controller in Qualcomm IPQ8064 SoC. 14*df1acfd0SRayyan Ansari 15*df1acfd0SRayyan AnsariallOf: 16*df1acfd0SRayyan Ansari - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 17*df1acfd0SRayyan Ansari 18*df1acfd0SRayyan Ansariproperties: 19*df1acfd0SRayyan Ansari compatible: 20*df1acfd0SRayyan Ansari const: qcom,ipq8064-pinctrl 21*df1acfd0SRayyan Ansari 22*df1acfd0SRayyan Ansari reg: 23*df1acfd0SRayyan Ansari maxItems: 1 24*df1acfd0SRayyan Ansari 25*df1acfd0SRayyan Ansari interrupts: 26*df1acfd0SRayyan Ansari maxItems: 1 27*df1acfd0SRayyan Ansari 28*df1acfd0SRayyan Ansari gpio-reserved-ranges: true 29*df1acfd0SRayyan Ansari 30*df1acfd0SRayyan AnsaripatternProperties: 31*df1acfd0SRayyan Ansari "-state$": 32*df1acfd0SRayyan Ansari oneOf: 33*df1acfd0SRayyan Ansari - $ref: "#/$defs/qcom-ipq8064-tlmm-state" 34*df1acfd0SRayyan Ansari - patternProperties: 35*df1acfd0SRayyan Ansari "-pins$": 36*df1acfd0SRayyan Ansari $ref: "#/$defs/qcom-ipq8064-tlmm-state" 37*df1acfd0SRayyan Ansari additionalProperties: false 38*df1acfd0SRayyan Ansari 39*df1acfd0SRayyan Ansari$defs: 40*df1acfd0SRayyan Ansari qcom-ipq8064-tlmm-state: 41*df1acfd0SRayyan Ansari type: object 42*df1acfd0SRayyan Ansari description: 43*df1acfd0SRayyan Ansari Pinctrl node's client devices use subnodes for desired pin configuration. 44*df1acfd0SRayyan Ansari Client device subnodes use below standard properties. 45*df1acfd0SRayyan Ansari $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 46*df1acfd0SRayyan Ansari unevaluatedProperties: false 47*df1acfd0SRayyan Ansari 48*df1acfd0SRayyan Ansari properties: 49*df1acfd0SRayyan Ansari pins: 50*df1acfd0SRayyan Ansari description: 51*df1acfd0SRayyan Ansari List of gpio pins affected by the properties specified in this 52*df1acfd0SRayyan Ansari subnode. 53*df1acfd0SRayyan Ansari items: 54*df1acfd0SRayyan Ansari oneOf: 55*df1acfd0SRayyan Ansari - pattern: "^gpio([0-9]|[1-5][0-9]|6[0-8])$" 56*df1acfd0SRayyan Ansari - enum: [ sdc3_clk, sdc3_cmd, sdc3_data ] 57*df1acfd0SRayyan Ansari minItems: 1 58*df1acfd0SRayyan Ansari maxItems: 36 59*df1acfd0SRayyan Ansari 60*df1acfd0SRayyan Ansari function: 61*df1acfd0SRayyan Ansari description: 62*df1acfd0SRayyan Ansari Specify the alternative function to be configured for the specified 63*df1acfd0SRayyan Ansari pins. 64*df1acfd0SRayyan Ansari enum: [ mdio, mi2s, pdm, ssbi, spmi, audio_pcm, gpio, gsbi1, gsbi2, gsbi4, gsbi5, 65*df1acfd0SRayyan Ansari gsbi5_spi_cs1, gsbi5_spi_cs2, gsbi5_spi_cs3, gsbi6, gsbi7, nss_spi, sdc1, 66*df1acfd0SRayyan Ansari spdif, nand, tsif1, tsif2, usb_fs_n, usb_fs, usb2_hsic, rgmii2, sata, 67*df1acfd0SRayyan Ansari pcie1_rst, pcie1_prsnt, pcie1_pwren_n, pcie1_pwren, pcie1_pwrflt, 68*df1acfd0SRayyan Ansari pcie1_clk_req, pcie2_rst, pcie2_prsnt, pcie2_pwren_n, pcie2_pwren, 69*df1acfd0SRayyan Ansari pcie2_pwrflt, pcie2_clk_req, pcie3_rst, pcie3_prsnt, pcie3_pwren_n, 70*df1acfd0SRayyan Ansari pcie3_pwren, pcie3_pwrflt, pcie3_clk_req, ps_hold ] 71*df1acfd0SRayyan Ansari 72*df1acfd0SRayyan Ansari required: 73*df1acfd0SRayyan Ansari - pins 74*df1acfd0SRayyan Ansari 75*df1acfd0SRayyan Ansarirequired: 76*df1acfd0SRayyan Ansari - compatible 77*df1acfd0SRayyan Ansari - reg 78*df1acfd0SRayyan Ansari 79*df1acfd0SRayyan AnsariunevaluatedProperties: false 80*df1acfd0SRayyan Ansari 81*df1acfd0SRayyan Ansariexamples: 82*df1acfd0SRayyan Ansari - | 83*df1acfd0SRayyan Ansari #include <dt-bindings/interrupt-controller/arm-gic.h> 84*df1acfd0SRayyan Ansari tlmm: pinctrl@800000 { 85*df1acfd0SRayyan Ansari compatible = "qcom,ipq8064-pinctrl"; 86*df1acfd0SRayyan Ansari reg = <0x00800000 0x4000>; 87*df1acfd0SRayyan Ansari 88*df1acfd0SRayyan Ansari gpio-controller; 89*df1acfd0SRayyan Ansari #gpio-cells = <2>; 90*df1acfd0SRayyan Ansari gpio-ranges = <&tlmm 0 0 69>; 91*df1acfd0SRayyan Ansari interrupt-controller; 92*df1acfd0SRayyan Ansari #interrupt-cells = <2>; 93*df1acfd0SRayyan Ansari interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 94*df1acfd0SRayyan Ansari 95*df1acfd0SRayyan Ansari uart-state { 96*df1acfd0SRayyan Ansari rx-pins { 97*df1acfd0SRayyan Ansari pins = "gpio19"; 98*df1acfd0SRayyan Ansari function = "gsbi5"; 99*df1acfd0SRayyan Ansari bias-pull-up; 100*df1acfd0SRayyan Ansari }; 101*df1acfd0SRayyan Ansari 102*df1acfd0SRayyan Ansari tx-pins { 103*df1acfd0SRayyan Ansari pins = "gpio18"; 104*df1acfd0SRayyan Ansari function = "gsbi5"; 105*df1acfd0SRayyan Ansari bias-disable; 106*df1acfd0SRayyan Ansari }; 107*df1acfd0SRayyan Ansari }; 108*df1acfd0SRayyan Ansari }; 109