1*c0dd33f0SKathiravan Thirumoorthy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*c0dd33f0SKathiravan Thirumoorthy%YAML 1.2 3*c0dd33f0SKathiravan Thirumoorthy--- 4*c0dd33f0SKathiravan Thirumoorthy$id: http://devicetree.org/schemas/pinctrl/qcom,ipq5210-tlmm.yaml# 5*c0dd33f0SKathiravan Thirumoorthy$schema: http://devicetree.org/meta-schemas/core.yaml# 6*c0dd33f0SKathiravan Thirumoorthy 7*c0dd33f0SKathiravan Thirumoorthytitle: Qualcomm IPQ5210 TLMM pin controller 8*c0dd33f0SKathiravan Thirumoorthy 9*c0dd33f0SKathiravan Thirumoorthymaintainers: 10*c0dd33f0SKathiravan Thirumoorthy - Bjorn Andersson <andersson@kernel.org> 11*c0dd33f0SKathiravan Thirumoorthy - Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com> 12*c0dd33f0SKathiravan Thirumoorthy 13*c0dd33f0SKathiravan Thirumoorthydescription: 14*c0dd33f0SKathiravan Thirumoorthy Top Level Mode Multiplexer pin controller in Qualcomm IPQ5210 SoC. 15*c0dd33f0SKathiravan Thirumoorthy 16*c0dd33f0SKathiravan ThirumoorthyallOf: 17*c0dd33f0SKathiravan Thirumoorthy - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 18*c0dd33f0SKathiravan Thirumoorthy 19*c0dd33f0SKathiravan Thirumoorthyproperties: 20*c0dd33f0SKathiravan Thirumoorthy compatible: 21*c0dd33f0SKathiravan Thirumoorthy const: qcom,ipq5210-tlmm 22*c0dd33f0SKathiravan Thirumoorthy 23*c0dd33f0SKathiravan Thirumoorthy reg: 24*c0dd33f0SKathiravan Thirumoorthy maxItems: 1 25*c0dd33f0SKathiravan Thirumoorthy 26*c0dd33f0SKathiravan Thirumoorthy interrupts: 27*c0dd33f0SKathiravan Thirumoorthy maxItems: 1 28*c0dd33f0SKathiravan Thirumoorthy 29*c0dd33f0SKathiravan Thirumoorthy gpio-reserved-ranges: 30*c0dd33f0SKathiravan Thirumoorthy minItems: 1 31*c0dd33f0SKathiravan Thirumoorthy maxItems: 27 32*c0dd33f0SKathiravan Thirumoorthy 33*c0dd33f0SKathiravan Thirumoorthy gpio-line-names: 34*c0dd33f0SKathiravan Thirumoorthy maxItems: 54 35*c0dd33f0SKathiravan Thirumoorthy 36*c0dd33f0SKathiravan ThirumoorthypatternProperties: 37*c0dd33f0SKathiravan Thirumoorthy "-state$": 38*c0dd33f0SKathiravan Thirumoorthy oneOf: 39*c0dd33f0SKathiravan Thirumoorthy - $ref: "#/$defs/qcom-ipq5210-tlmm-state" 40*c0dd33f0SKathiravan Thirumoorthy - patternProperties: 41*c0dd33f0SKathiravan Thirumoorthy "-pins$": 42*c0dd33f0SKathiravan Thirumoorthy $ref: "#/$defs/qcom-ipq5210-tlmm-state" 43*c0dd33f0SKathiravan Thirumoorthy additionalProperties: false 44*c0dd33f0SKathiravan Thirumoorthy 45*c0dd33f0SKathiravan Thirumoorthy$defs: 46*c0dd33f0SKathiravan Thirumoorthy qcom-ipq5210-tlmm-state: 47*c0dd33f0SKathiravan Thirumoorthy type: object 48*c0dd33f0SKathiravan Thirumoorthy description: 49*c0dd33f0SKathiravan Thirumoorthy Pinctrl node's client devices use subnodes for desired pin configuration. 50*c0dd33f0SKathiravan Thirumoorthy Client device subnodes use below standard properties. 51*c0dd33f0SKathiravan Thirumoorthy $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 52*c0dd33f0SKathiravan Thirumoorthy unevaluatedProperties: false 53*c0dd33f0SKathiravan Thirumoorthy 54*c0dd33f0SKathiravan Thirumoorthy properties: 55*c0dd33f0SKathiravan Thirumoorthy pins: 56*c0dd33f0SKathiravan Thirumoorthy description: 57*c0dd33f0SKathiravan Thirumoorthy List of gpio pins affected by the properties specified in this 58*c0dd33f0SKathiravan Thirumoorthy subnode. 59*c0dd33f0SKathiravan Thirumoorthy items: 60*c0dd33f0SKathiravan Thirumoorthy pattern: "^gpio([0-9]|[1-4][0-9]|5[0-3])$" 61*c0dd33f0SKathiravan Thirumoorthy minItems: 1 62*c0dd33f0SKathiravan Thirumoorthy maxItems: 36 63*c0dd33f0SKathiravan Thirumoorthy 64*c0dd33f0SKathiravan Thirumoorthy function: 65*c0dd33f0SKathiravan Thirumoorthy description: 66*c0dd33f0SKathiravan Thirumoorthy Specify the alternative function to be configured for the specified 67*c0dd33f0SKathiravan Thirumoorthy pins. 68*c0dd33f0SKathiravan Thirumoorthy 69*c0dd33f0SKathiravan Thirumoorthy enum: [ atest_char_start, atest_char_status0, atest_char_status1, 70*c0dd33f0SKathiravan Thirumoorthy atest_char_status2, atest_char_status3, atest_tic_en, audio_pri, 71*c0dd33f0SKathiravan Thirumoorthy audio_pri_mclk_out0, audio_pri_mclk_in0, audio_pri_mclk_out1, 72*c0dd33f0SKathiravan Thirumoorthy audio_pri_mclk_in1, audio_pri_mclk_out2, audio_pri_mclk_in2, 73*c0dd33f0SKathiravan Thirumoorthy audio_pri_mclk_out3, audio_pri_mclk_in3, audio_sec, 74*c0dd33f0SKathiravan Thirumoorthy audio_sec_mclk_out0, audio_sec_mclk_in0, audio_sec_mclk_out1, 75*c0dd33f0SKathiravan Thirumoorthy audio_sec_mclk_in1, audio_sec_mclk_out2, audio_sec_mclk_in2, 76*c0dd33f0SKathiravan Thirumoorthy audio_sec_mclk_out3, audio_sec_mclk_in3, core_voltage_0, 77*c0dd33f0SKathiravan Thirumoorthy cri_trng0, cri_trng1, cri_trng2, cri_trng3, dbg_out_clk, dg_out, 78*c0dd33f0SKathiravan Thirumoorthy gcc_plltest_bypassnl, gcc_plltest_resetn, gcc_tlmm, gpio, led0, 79*c0dd33f0SKathiravan Thirumoorthy led1, led2, mdc_mst, mdc_slv0, mdc_slv1, mdc_slv2, mdio_mst, 80*c0dd33f0SKathiravan Thirumoorthy mdio_slv0, mdio_slv1, mdio_slv2, mux_tod_out, pcie0_clk_req_n, 81*c0dd33f0SKathiravan Thirumoorthy pcie0_wake, pcie1_clk_req_n, pcie1_wake, pll_test, 82*c0dd33f0SKathiravan Thirumoorthy pon_active_led, pon_mux_sel, pon_rx, pon_rx_los, pon_tx, 83*c0dd33f0SKathiravan Thirumoorthy pon_tx_burst, pon_tx_dis, pon_tx_fault, pon_tx_sd, gpn_rx_los, 84*c0dd33f0SKathiravan Thirumoorthy gpn_tx_burst, gpn_tx_dis, gpn_tx_fault, gpn_tx_sd, pps, pwm0, 85*c0dd33f0SKathiravan Thirumoorthy pwm1, pwm2, pwm3, qdss_cti_trig_in_a0, qdss_cti_trig_in_a1, 86*c0dd33f0SKathiravan Thirumoorthy qdss_cti_trig_in_b0, qdss_cti_trig_in_b1, qdss_cti_trig_out_a0, 87*c0dd33f0SKathiravan Thirumoorthy qdss_cti_trig_out_a1, qdss_cti_trig_out_b0, 88*c0dd33f0SKathiravan Thirumoorthy qdss_cti_trig_out_b1, qdss_traceclk_a, qdss_tracectl_a, 89*c0dd33f0SKathiravan Thirumoorthy qdss_tracedata_a, qrng_rosc0, qrng_rosc1, qrng_rosc2, 90*c0dd33f0SKathiravan Thirumoorthy qspi_data, qspi_clk, qspi_cs_n, qup_se0, qup_se1, qup_se2, 91*c0dd33f0SKathiravan Thirumoorthy qup_se3, qup_se4, qup_se5, qup_se5_l1, resout, rx_los0, rx_los1, 92*c0dd33f0SKathiravan Thirumoorthy rx_los2, sdc_clk, sdc_cmd, sdc_data, tsens_max ] 93*c0dd33f0SKathiravan Thirumoorthy 94*c0dd33f0SKathiravan Thirumoorthy required: 95*c0dd33f0SKathiravan Thirumoorthy - pins 96*c0dd33f0SKathiravan Thirumoorthy 97*c0dd33f0SKathiravan Thirumoorthyrequired: 98*c0dd33f0SKathiravan Thirumoorthy - compatible 99*c0dd33f0SKathiravan Thirumoorthy - reg 100*c0dd33f0SKathiravan Thirumoorthy 101*c0dd33f0SKathiravan ThirumoorthyunevaluatedProperties: false 102*c0dd33f0SKathiravan Thirumoorthy 103*c0dd33f0SKathiravan Thirumoorthyexamples: 104*c0dd33f0SKathiravan Thirumoorthy - | 105*c0dd33f0SKathiravan Thirumoorthy #include <dt-bindings/interrupt-controller/arm-gic.h> 106*c0dd33f0SKathiravan Thirumoorthy 107*c0dd33f0SKathiravan Thirumoorthy tlmm: pinctrl@1000000 { 108*c0dd33f0SKathiravan Thirumoorthy compatible = "qcom,ipq5210-tlmm"; 109*c0dd33f0SKathiravan Thirumoorthy reg = <0x01000000 0x300000>; 110*c0dd33f0SKathiravan Thirumoorthy gpio-controller; 111*c0dd33f0SKathiravan Thirumoorthy #gpio-cells = <0x2>; 112*c0dd33f0SKathiravan Thirumoorthy gpio-ranges = <&tlmm 0 0 54>; 113*c0dd33f0SKathiravan Thirumoorthy interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>; 114*c0dd33f0SKathiravan Thirumoorthy interrupt-controller; 115*c0dd33f0SKathiravan Thirumoorthy #interrupt-cells = <0x2>; 116*c0dd33f0SKathiravan Thirumoorthy 117*c0dd33f0SKathiravan Thirumoorthy qup-uart1-default-state { 118*c0dd33f0SKathiravan Thirumoorthy pins = "gpio38", "gpio39"; 119*c0dd33f0SKathiravan Thirumoorthy function = "qup_se1"; 120*c0dd33f0SKathiravan Thirumoorthy drive-strength = <6>; 121*c0dd33f0SKathiravan Thirumoorthy bias-pull-down; 122*c0dd33f0SKathiravan Thirumoorthy }; 123*c0dd33f0SKathiravan Thirumoorthy }; 124