1*5b63ccb6SDevi Priya# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*5b63ccb6SDevi Priya%YAML 1.2 3*5b63ccb6SDevi Priya--- 4*5b63ccb6SDevi Priya$id: http://devicetree.org/schemas/pinctrl/qcom,ipq9574-tlmm.yaml# 5*5b63ccb6SDevi Priya$schema: http://devicetree.org/meta-schemas/core.yaml# 6*5b63ccb6SDevi Priya 7*5b63ccb6SDevi Priyatitle: Qualcomm Technologies, Inc. IPQ9574 TLMM block 8*5b63ccb6SDevi Priya 9*5b63ccb6SDevi Priyamaintainers: 10*5b63ccb6SDevi Priya - Bjorn Andersson <andersson@kernel.org> 11*5b63ccb6SDevi Priya - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 12*5b63ccb6SDevi Priya 13*5b63ccb6SDevi Priyadescription: 14*5b63ccb6SDevi Priya Top Level Mode Multiplexer pin controller in Qualcomm IPQ9574 SoC. 15*5b63ccb6SDevi Priya 16*5b63ccb6SDevi Priyaproperties: 17*5b63ccb6SDevi Priya compatible: 18*5b63ccb6SDevi Priya const: qcom,ipq9574-tlmm 19*5b63ccb6SDevi Priya 20*5b63ccb6SDevi Priya reg: 21*5b63ccb6SDevi Priya maxItems: 1 22*5b63ccb6SDevi Priya 23*5b63ccb6SDevi Priya interrupts: 24*5b63ccb6SDevi Priya maxItems: 1 25*5b63ccb6SDevi Priya 26*5b63ccb6SDevi Priya interrupt-controller: true 27*5b63ccb6SDevi Priya "#interrupt-cells": true 28*5b63ccb6SDevi Priya gpio-controller: true 29*5b63ccb6SDevi Priya "#gpio-cells": true 30*5b63ccb6SDevi Priya gpio-ranges: true 31*5b63ccb6SDevi Priya wakeup-parent: true 32*5b63ccb6SDevi Priya 33*5b63ccb6SDevi Priya gpio-reserved-ranges: 34*5b63ccb6SDevi Priya minItems: 1 35*5b63ccb6SDevi Priya maxItems: 33 36*5b63ccb6SDevi Priya 37*5b63ccb6SDevi Priya gpio-line-names: 38*5b63ccb6SDevi Priya maxItems: 65 39*5b63ccb6SDevi Priya 40*5b63ccb6SDevi PriyapatternProperties: 41*5b63ccb6SDevi Priya "-state$": 42*5b63ccb6SDevi Priya oneOf: 43*5b63ccb6SDevi Priya - $ref: "#/$defs/qcom-ipq9574-tlmm-state" 44*5b63ccb6SDevi Priya - patternProperties: 45*5b63ccb6SDevi Priya "-pins$": 46*5b63ccb6SDevi Priya $ref: "#/$defs/qcom-ipq9574-tlmm-state" 47*5b63ccb6SDevi Priya additionalProperties: false 48*5b63ccb6SDevi Priya 49*5b63ccb6SDevi Priya$defs: 50*5b63ccb6SDevi Priya qcom-ipq9574-tlmm-state: 51*5b63ccb6SDevi Priya type: object 52*5b63ccb6SDevi Priya description: 53*5b63ccb6SDevi Priya Pinctrl node's client devices use subnodes for desired pin configuration. 54*5b63ccb6SDevi Priya Client device subnodes use below standard properties. 55*5b63ccb6SDevi Priya $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 56*5b63ccb6SDevi Priya 57*5b63ccb6SDevi Priya properties: 58*5b63ccb6SDevi Priya pins: 59*5b63ccb6SDevi Priya description: 60*5b63ccb6SDevi Priya List of gpio pins affected by the properties specified in this 61*5b63ccb6SDevi Priya subnode. 62*5b63ccb6SDevi Priya items: 63*5b63ccb6SDevi Priya pattern: "^gpio([0-9]|[1-5][0-9]|6[0-4])$" 64*5b63ccb6SDevi Priya minItems: 1 65*5b63ccb6SDevi Priya maxItems: 8 66*5b63ccb6SDevi Priya 67*5b63ccb6SDevi Priya function: 68*5b63ccb6SDevi Priya description: 69*5b63ccb6SDevi Priya Specify the alternative function to be configured for the specified 70*5b63ccb6SDevi Priya pins. 71*5b63ccb6SDevi Priya 72*5b63ccb6SDevi Priya enum: [ atest_char, atest_char0, atest_char1, atest_char2, atest_char3, 73*5b63ccb6SDevi Priya audio_pdm0, audio_pdm1, audio_pri, audio_sec, blsp0_spi, blsp0_uart, 74*5b63ccb6SDevi Priya blsp1_i2c, blsp1_spi, blsp1_uart, blsp2_i2c, blsp2_spi, 75*5b63ccb6SDevi Priya blsp2_uart, blsp3_i2c, blsp3_spi, blsp3_uart, blsp4_i2c, 76*5b63ccb6SDevi Priya blsp4_spi, blsp4_uart, blsp5_i2c, blsp5_uart, cri_trng0, 77*5b63ccb6SDevi Priya cri_trng1, cri_trng3, cxc0, cxc1, dbg_out, dwc_ddrphy, 78*5b63ccb6SDevi Priya gcc_plltest, gcc_tlmm, mac, mdc, mdio, pcie0_clk, pcie0_wake, 79*5b63ccb6SDevi Priya pcie1_clk, pcie1_wake, pcie2_clk, pcie2_wake, pcie3_clk, pcie3_wake, 80*5b63ccb6SDevi Priya prng_rosc0, prng_rosc1, prng_rosc2, prng_rosc3, pta, pwm, 81*5b63ccb6SDevi Priya qdss_cti_trig_in_a0, qdss_cti_trig_in_a1, qdss_cti_trig_in_b0, 82*5b63ccb6SDevi Priya qdss_cti_trig_in_b1, qdss_cti_trig_out_a0, qdss_cti_trig_out_a1, 83*5b63ccb6SDevi Priya qdss_cti_trig_out_b0, qdss_cti_trig_out_b1, qdss_traceclk_a, 84*5b63ccb6SDevi Priya qdss_traceclk_b, qdss_tracectl_a, qdss_tracectl_b, qdss_tracedata_a, 85*5b63ccb6SDevi Priya qdss_tracedata_b, qdss_tracedata_b, qspi_clk, qspi_cs, qspi_data, 86*5b63ccb6SDevi Priya rx0, rx1, sdc_clk, sdc_cmd, sdc_data, sdc_rclk, tsens_max, 87*5b63ccb6SDevi Priya wci20, wci21, wsa_swrm ] 88*5b63ccb6SDevi Priya 89*5b63ccb6SDevi Priya bias-pull-down: true 90*5b63ccb6SDevi Priya bias-pull-up: true 91*5b63ccb6SDevi Priya bias-disable: true 92*5b63ccb6SDevi Priya drive-strength: true 93*5b63ccb6SDevi Priya input-enable: true 94*5b63ccb6SDevi Priya output-high: true 95*5b63ccb6SDevi Priya output-low: true 96*5b63ccb6SDevi Priya 97*5b63ccb6SDevi Priya required: 98*5b63ccb6SDevi Priya - pins 99*5b63ccb6SDevi Priya 100*5b63ccb6SDevi Priya additionalProperties: false 101*5b63ccb6SDevi Priya 102*5b63ccb6SDevi PriyaallOf: 103*5b63ccb6SDevi Priya - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 104*5b63ccb6SDevi Priya 105*5b63ccb6SDevi Priyarequired: 106*5b63ccb6SDevi Priya - compatible 107*5b63ccb6SDevi Priya - reg 108*5b63ccb6SDevi Priya 109*5b63ccb6SDevi PriyaadditionalProperties: false 110*5b63ccb6SDevi Priya 111*5b63ccb6SDevi Priyaexamples: 112*5b63ccb6SDevi Priya - | 113*5b63ccb6SDevi Priya #include <dt-bindings/interrupt-controller/arm-gic.h> 114*5b63ccb6SDevi Priya tlmm: pinctrl@1000000 { 115*5b63ccb6SDevi Priya compatible = "qcom,ipq9574-tlmm"; 116*5b63ccb6SDevi Priya reg = <0x01000000 0x300000>; 117*5b63ccb6SDevi Priya interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 118*5b63ccb6SDevi Priya gpio-controller; 119*5b63ccb6SDevi Priya #gpio-cells = <2>; 120*5b63ccb6SDevi Priya interrupt-controller; 121*5b63ccb6SDevi Priya #interrupt-cells = <2>; 122*5b63ccb6SDevi Priya gpio-ranges = <&tlmm 0 0 65>; 123*5b63ccb6SDevi Priya 124*5b63ccb6SDevi Priya uart2-state { 125*5b63ccb6SDevi Priya pins = "gpio34", "gpio35"; 126*5b63ccb6SDevi Priya function = "blsp2_uart"; 127*5b63ccb6SDevi Priya drive-strength = <8>; 128*5b63ccb6SDevi Priya bias-pull-down; 129*5b63ccb6SDevi Priya }; 130*5b63ccb6SDevi Priya }; 131