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