15b63ccb6SDevi Priya# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25b63ccb6SDevi Priya%YAML 1.2 35b63ccb6SDevi Priya--- 45b63ccb6SDevi Priya$id: http://devicetree.org/schemas/pinctrl/qcom,ipq9574-tlmm.yaml# 55b63ccb6SDevi Priya$schema: http://devicetree.org/meta-schemas/core.yaml# 65b63ccb6SDevi Priya 75b63ccb6SDevi Priyatitle: Qualcomm Technologies, Inc. IPQ9574 TLMM block 85b63ccb6SDevi Priya 95b63ccb6SDevi Priyamaintainers: 105b63ccb6SDevi Priya - Bjorn Andersson <andersson@kernel.org> 115b63ccb6SDevi Priya - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 125b63ccb6SDevi Priya 135b63ccb6SDevi Priyadescription: 145b63ccb6SDevi Priya Top Level Mode Multiplexer pin controller in Qualcomm IPQ9574 SoC. 155b63ccb6SDevi Priya 165b63ccb6SDevi Priyaproperties: 175b63ccb6SDevi Priya compatible: 185b63ccb6SDevi Priya const: qcom,ipq9574-tlmm 195b63ccb6SDevi Priya 205b63ccb6SDevi Priya reg: 215b63ccb6SDevi Priya maxItems: 1 225b63ccb6SDevi Priya 235b63ccb6SDevi Priya interrupts: 245b63ccb6SDevi Priya maxItems: 1 255b63ccb6SDevi Priya 265b63ccb6SDevi Priya interrupt-controller: true 275b63ccb6SDevi Priya "#interrupt-cells": true 285b63ccb6SDevi Priya gpio-controller: true 295b63ccb6SDevi Priya "#gpio-cells": true 305b63ccb6SDevi Priya gpio-ranges: true 315b63ccb6SDevi Priya wakeup-parent: true 325b63ccb6SDevi Priya 335b63ccb6SDevi Priya gpio-reserved-ranges: 345b63ccb6SDevi Priya minItems: 1 355b63ccb6SDevi Priya maxItems: 33 365b63ccb6SDevi Priya 375b63ccb6SDevi Priya gpio-line-names: 385b63ccb6SDevi Priya maxItems: 65 395b63ccb6SDevi Priya 405b63ccb6SDevi PriyapatternProperties: 415b63ccb6SDevi Priya "-state$": 425b63ccb6SDevi Priya oneOf: 435b63ccb6SDevi Priya - $ref: "#/$defs/qcom-ipq9574-tlmm-state" 445b63ccb6SDevi Priya - patternProperties: 455b63ccb6SDevi Priya "-pins$": 465b63ccb6SDevi Priya $ref: "#/$defs/qcom-ipq9574-tlmm-state" 475b63ccb6SDevi Priya additionalProperties: false 485b63ccb6SDevi Priya 495b63ccb6SDevi Priya$defs: 505b63ccb6SDevi Priya qcom-ipq9574-tlmm-state: 515b63ccb6SDevi Priya type: object 525b63ccb6SDevi Priya description: 535b63ccb6SDevi Priya Pinctrl node's client devices use subnodes for desired pin configuration. 545b63ccb6SDevi Priya Client device subnodes use below standard properties. 555b63ccb6SDevi Priya $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 565b63ccb6SDevi Priya 575b63ccb6SDevi Priya properties: 585b63ccb6SDevi Priya pins: 595b63ccb6SDevi Priya description: 605b63ccb6SDevi Priya List of gpio pins affected by the properties specified in this 615b63ccb6SDevi Priya subnode. 625b63ccb6SDevi Priya items: 635b63ccb6SDevi Priya pattern: "^gpio([0-9]|[1-5][0-9]|6[0-4])$" 645b63ccb6SDevi Priya minItems: 1 655b63ccb6SDevi Priya maxItems: 8 665b63ccb6SDevi Priya 675b63ccb6SDevi Priya function: 685b63ccb6SDevi Priya description: 695b63ccb6SDevi Priya Specify the alternative function to be configured for the specified 705b63ccb6SDevi Priya pins. 715b63ccb6SDevi Priya 725b63ccb6SDevi Priya enum: [ atest_char, atest_char0, atest_char1, atest_char2, atest_char3, 735b63ccb6SDevi Priya audio_pdm0, audio_pdm1, audio_pri, audio_sec, blsp0_spi, blsp0_uart, 745b63ccb6SDevi Priya blsp1_i2c, blsp1_spi, blsp1_uart, blsp2_i2c, blsp2_spi, 755b63ccb6SDevi Priya blsp2_uart, blsp3_i2c, blsp3_spi, blsp3_uart, blsp4_i2c, 765b63ccb6SDevi Priya blsp4_spi, blsp4_uart, blsp5_i2c, blsp5_uart, cri_trng0, 77*d59655d3SDevi Priya cri_trng1, cri_trng2, cri_trng3, cxc0, cxc1, dbg_out, dwc_ddrphy, 78*d59655d3SDevi Priya gcc_plltest, gcc_tlmm, gpio, mac, mdc, mdio, pcie0_clk, pcie0_wake, 795b63ccb6SDevi Priya pcie1_clk, pcie1_wake, pcie2_clk, pcie2_wake, pcie3_clk, pcie3_wake, 805b63ccb6SDevi Priya prng_rosc0, prng_rosc1, prng_rosc2, prng_rosc3, pta, pwm, 815b63ccb6SDevi Priya qdss_cti_trig_in_a0, qdss_cti_trig_in_a1, qdss_cti_trig_in_b0, 825b63ccb6SDevi Priya qdss_cti_trig_in_b1, qdss_cti_trig_out_a0, qdss_cti_trig_out_a1, 835b63ccb6SDevi Priya qdss_cti_trig_out_b0, qdss_cti_trig_out_b1, qdss_traceclk_a, 845b63ccb6SDevi Priya qdss_traceclk_b, qdss_tracectl_a, qdss_tracectl_b, qdss_tracedata_a, 85*d59655d3SDevi Priya qdss_tracedata_b, qspi_clk, qspi_cs, qspi_data, 865b63ccb6SDevi Priya rx0, rx1, sdc_clk, sdc_cmd, sdc_data, sdc_rclk, tsens_max, 875b63ccb6SDevi Priya wci20, wci21, wsa_swrm ] 885b63ccb6SDevi Priya 895b63ccb6SDevi Priya bias-pull-down: true 905b63ccb6SDevi Priya bias-pull-up: true 915b63ccb6SDevi Priya bias-disable: true 925b63ccb6SDevi Priya drive-strength: true 935b63ccb6SDevi Priya input-enable: true 945b63ccb6SDevi Priya output-high: true 955b63ccb6SDevi Priya output-low: true 965b63ccb6SDevi Priya 975b63ccb6SDevi Priya required: 985b63ccb6SDevi Priya - pins 995b63ccb6SDevi Priya 1005b63ccb6SDevi Priya additionalProperties: false 1015b63ccb6SDevi Priya 1025b63ccb6SDevi PriyaallOf: 1035b63ccb6SDevi Priya - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 1045b63ccb6SDevi Priya 1055b63ccb6SDevi Priyarequired: 1065b63ccb6SDevi Priya - compatible 1075b63ccb6SDevi Priya - reg 1085b63ccb6SDevi Priya 1095b63ccb6SDevi PriyaadditionalProperties: false 1105b63ccb6SDevi Priya 1115b63ccb6SDevi Priyaexamples: 1125b63ccb6SDevi Priya - | 1135b63ccb6SDevi Priya #include <dt-bindings/interrupt-controller/arm-gic.h> 1145b63ccb6SDevi Priya tlmm: pinctrl@1000000 { 1155b63ccb6SDevi Priya compatible = "qcom,ipq9574-tlmm"; 1165b63ccb6SDevi Priya reg = <0x01000000 0x300000>; 1175b63ccb6SDevi Priya interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 1185b63ccb6SDevi Priya gpio-controller; 1195b63ccb6SDevi Priya #gpio-cells = <2>; 1205b63ccb6SDevi Priya interrupt-controller; 1215b63ccb6SDevi Priya #interrupt-cells = <2>; 1225b63ccb6SDevi Priya gpio-ranges = <&tlmm 0 0 65>; 1235b63ccb6SDevi Priya 1245b63ccb6SDevi Priya uart2-state { 1255b63ccb6SDevi Priya pins = "gpio34", "gpio35"; 1265b63ccb6SDevi Priya function = "blsp2_uart"; 1275b63ccb6SDevi Priya drive-strength = <8>; 1285b63ccb6SDevi Priya bias-pull-down; 1295b63ccb6SDevi Priya }; 1305b63ccb6SDevi Priya }; 131