1*75750edbSSricharan Ramabadhran# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*75750edbSSricharan Ramabadhran%YAML 1.2 3*75750edbSSricharan Ramabadhran--- 4*75750edbSSricharan Ramabadhran$id: http://devicetree.org/schemas/pinctrl/qcom,ipq5018-tlmm.yaml# 5*75750edbSSricharan Ramabadhran$schema: http://devicetree.org/meta-schemas/core.yaml# 6*75750edbSSricharan Ramabadhran 7*75750edbSSricharan Ramabadhrantitle: Qualcomm IPQ5018 TLMM pin controller 8*75750edbSSricharan Ramabadhran 9*75750edbSSricharan Ramabadhranmaintainers: 10*75750edbSSricharan Ramabadhran - Bjorn Andersson <andersson@kernel.org> 11*75750edbSSricharan Ramabadhran - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12*75750edbSSricharan Ramabadhran 13*75750edbSSricharan Ramabadhrandescription: 14*75750edbSSricharan Ramabadhran Top Level Mode Multiplexer pin controller in Qualcomm IPQ5018 SoC. 15*75750edbSSricharan Ramabadhran 16*75750edbSSricharan Ramabadhranproperties: 17*75750edbSSricharan Ramabadhran compatible: 18*75750edbSSricharan Ramabadhran const: qcom,ipq5018-tlmm 19*75750edbSSricharan Ramabadhran 20*75750edbSSricharan Ramabadhran reg: 21*75750edbSSricharan Ramabadhran maxItems: 1 22*75750edbSSricharan Ramabadhran 23*75750edbSSricharan Ramabadhran interrupts: 24*75750edbSSricharan Ramabadhran maxItems: 1 25*75750edbSSricharan Ramabadhran 26*75750edbSSricharan Ramabadhran interrupt-controller: true 27*75750edbSSricharan Ramabadhran "#interrupt-cells": true 28*75750edbSSricharan Ramabadhran gpio-controller: true 29*75750edbSSricharan Ramabadhran "#gpio-cells": true 30*75750edbSSricharan Ramabadhran gpio-ranges: true 31*75750edbSSricharan Ramabadhran wakeup-parent: true 32*75750edbSSricharan Ramabadhran 33*75750edbSSricharan Ramabadhran gpio-reserved-ranges: 34*75750edbSSricharan Ramabadhran minItems: 1 35*75750edbSSricharan Ramabadhran maxItems: 24 36*75750edbSSricharan Ramabadhran 37*75750edbSSricharan Ramabadhran gpio-line-names: 38*75750edbSSricharan Ramabadhran maxItems: 47 39*75750edbSSricharan Ramabadhran 40*75750edbSSricharan RamabadhranpatternProperties: 41*75750edbSSricharan Ramabadhran "-state$": 42*75750edbSSricharan Ramabadhran oneOf: 43*75750edbSSricharan Ramabadhran - $ref: "#/$defs/qcom-ipq5018-tlmm-state" 44*75750edbSSricharan Ramabadhran - patternProperties: 45*75750edbSSricharan Ramabadhran "-pins$": 46*75750edbSSricharan Ramabadhran $ref: "#/$defs/qcom-ipq5018-tlmm-state" 47*75750edbSSricharan Ramabadhran additionalProperties: false 48*75750edbSSricharan Ramabadhran 49*75750edbSSricharan Ramabadhran$defs: 50*75750edbSSricharan Ramabadhran qcom-ipq5018-tlmm-state: 51*75750edbSSricharan Ramabadhran type: object 52*75750edbSSricharan Ramabadhran description: 53*75750edbSSricharan Ramabadhran Pinctrl node's client devices use subnodes for desired pin configuration. 54*75750edbSSricharan Ramabadhran Client device subnodes use below standard properties. 55*75750edbSSricharan Ramabadhran $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 56*75750edbSSricharan Ramabadhran unevaluatedProperties: false 57*75750edbSSricharan Ramabadhran 58*75750edbSSricharan Ramabadhran properties: 59*75750edbSSricharan Ramabadhran pins: 60*75750edbSSricharan Ramabadhran description: 61*75750edbSSricharan Ramabadhran List of gpio pins affected by the properties specified in this 62*75750edbSSricharan Ramabadhran subnode. 63*75750edbSSricharan Ramabadhran items: 64*75750edbSSricharan Ramabadhran pattern: "^gpio([0-9]|[1-3][0-9]|4[0-6])$" 65*75750edbSSricharan Ramabadhran minItems: 1 66*75750edbSSricharan Ramabadhran maxItems: 8 67*75750edbSSricharan Ramabadhran 68*75750edbSSricharan Ramabadhran function: 69*75750edbSSricharan Ramabadhran description: 70*75750edbSSricharan Ramabadhran Specify the alternative function to be configured for the specified 71*75750edbSSricharan Ramabadhran pins. 72*75750edbSSricharan Ramabadhran 73*75750edbSSricharan Ramabadhran enum: [ atest_char, audio_pdm0, audio_pdm1, audio_rxbclk, audio_rxd, 74*75750edbSSricharan Ramabadhran audio_rxfsync, audio_rxmclk, audio_txbclk, audio_txd, 75*75750edbSSricharan Ramabadhran audio_txfsync, audio_txmclk, blsp0_i2c, blsp0_spi, blsp0_uart0, 76*75750edbSSricharan Ramabadhran blsp0_uart1, blsp1_i2c0, blsp1_i2c1, blsp1_spi0, blsp1_spi1, 77*75750edbSSricharan Ramabadhran blsp1_uart0, blsp1_uart1, blsp1_uart2, blsp2_i2c0, blsp2_i2c1, 78*75750edbSSricharan Ramabadhran blsp2_spi, blsp2_spi0, blsp2_spi1, btss, burn0, burn1, cri_trng, 79*75750edbSSricharan Ramabadhran cri_trng0, cri_trng1, cxc_clk, cxc_data, dbg_out, eud_gpio, 80*75750edbSSricharan Ramabadhran gcc_plltest, gcc_tlmm, gpio, led0, led2, mac0, mac1, mdc, mdio, 81*75750edbSSricharan Ramabadhran pcie0_clk, pcie0_wake, pcie1_clk, pcie1_wake, pll_test, 82*75750edbSSricharan Ramabadhran prng_rosc, pwm0, pwm1, pwm2, pwm3, qdss_cti_trig_in_a0, 83*75750edbSSricharan Ramabadhran qdss_cti_trig_in_a1, qdss_cti_trig_in_b0, qdss_cti_trig_in_b1, 84*75750edbSSricharan Ramabadhran qdss_cti_trig_out_a0, qdss_cti_trig_out_a1, 85*75750edbSSricharan Ramabadhran qdss_cti_trig_out_b0, qdss_cti_trig_out_b1, qdss_traceclk_a, 86*75750edbSSricharan Ramabadhran qdss_traceclk_b, qdss_tracectl_a, qdss_tracectl_b, 87*75750edbSSricharan Ramabadhran qdss_tracedata_a, qdss_tracedata_b, qspi_clk, qspi_cs, 88*75750edbSSricharan Ramabadhran qspi_data, reset_out, sdc1_clk, sdc1_cmd, sdc1_data, wci_txd, 89*75750edbSSricharan Ramabadhran wci_rxd, wsa_swrm, wsi_clk3, wsi_data3, wsis_reset, xfem ] 90*75750edbSSricharan Ramabadhran 91*75750edbSSricharan Ramabadhran required: 92*75750edbSSricharan Ramabadhran - pins 93*75750edbSSricharan Ramabadhran 94*75750edbSSricharan Ramabadhranrequired: 95*75750edbSSricharan Ramabadhran - compatible 96*75750edbSSricharan Ramabadhran - reg 97*75750edbSSricharan Ramabadhran 98*75750edbSSricharan RamabadhranadditionalProperties: false 99*75750edbSSricharan Ramabadhran 100*75750edbSSricharan Ramabadhranexamples: 101*75750edbSSricharan Ramabadhran - | 102*75750edbSSricharan Ramabadhran #include <dt-bindings/interrupt-controller/arm-gic.h> 103*75750edbSSricharan Ramabadhran tlmm: pinctrl@1000000 { 104*75750edbSSricharan Ramabadhran compatible = "qcom,ipq5018-tlmm"; 105*75750edbSSricharan Ramabadhran reg = <0x01000000 0x300000>; 106*75750edbSSricharan Ramabadhran gpio-controller; 107*75750edbSSricharan Ramabadhran #gpio-cells = <2>; 108*75750edbSSricharan Ramabadhran gpio-ranges = <&tlmm 0 0 47>; 109*75750edbSSricharan Ramabadhran interrupt-controller; 110*75750edbSSricharan Ramabadhran #interrupt-cells = <2>; 111*75750edbSSricharan Ramabadhran interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 112*75750edbSSricharan Ramabadhran 113*75750edbSSricharan Ramabadhran uart-w-state { 114*75750edbSSricharan Ramabadhran rx-pins { 115*75750edbSSricharan Ramabadhran pins = "gpio33"; 116*75750edbSSricharan Ramabadhran function = "blsp1_uart1"; 117*75750edbSSricharan Ramabadhran bias-pull-down; 118*75750edbSSricharan Ramabadhran }; 119*75750edbSSricharan Ramabadhran 120*75750edbSSricharan Ramabadhran tx-pins { 121*75750edbSSricharan Ramabadhran pins = "gpio34"; 122*75750edbSSricharan Ramabadhran function = "blsp1_uart1"; 123*75750edbSSricharan Ramabadhran bias-pull-down; 124*75750edbSSricharan Ramabadhran }; 125*75750edbSSricharan Ramabadhran }; 126*75750edbSSricharan Ramabadhran }; 127*75750edbSSricharan Ramabadhran... 128