1*f126890aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*f126890aSEmmanuel Vadot%YAML 1.2 3*f126890aSEmmanuel Vadot--- 4*f126890aSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sdx75-tlmm.yaml# 5*f126890aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*f126890aSEmmanuel Vadot 7*f126890aSEmmanuel Vadottitle: Qualcomm Technologies, Inc. SDX75 TLMM block 8*f126890aSEmmanuel Vadot 9*f126890aSEmmanuel Vadotmaintainers: 10*f126890aSEmmanuel Vadot - Rohit Agarwal <quic_rohiagar@quicinc.com> 11*f126890aSEmmanuel Vadot 12*f126890aSEmmanuel Vadotdescription: 13*f126890aSEmmanuel Vadot Top Level Mode Multiplexer pin controller in Qualcomm SDX75 SoC. 14*f126890aSEmmanuel Vadot 15*f126890aSEmmanuel VadotallOf: 16*f126890aSEmmanuel Vadot - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 17*f126890aSEmmanuel Vadot 18*f126890aSEmmanuel Vadotproperties: 19*f126890aSEmmanuel Vadot compatible: 20*f126890aSEmmanuel Vadot const: qcom,sdx75-tlmm 21*f126890aSEmmanuel Vadot 22*f126890aSEmmanuel Vadot reg: 23*f126890aSEmmanuel Vadot maxItems: 1 24*f126890aSEmmanuel Vadot 25*f126890aSEmmanuel Vadot interrupts: true 26*f126890aSEmmanuel Vadot interrupt-controller: true 27*f126890aSEmmanuel Vadot "#interrupt-cells": true 28*f126890aSEmmanuel Vadot gpio-controller: true 29*f126890aSEmmanuel Vadot 30*f126890aSEmmanuel Vadot gpio-reserved-ranges: 31*f126890aSEmmanuel Vadot minItems: 1 32*f126890aSEmmanuel Vadot maxItems: 67 33*f126890aSEmmanuel Vadot 34*f126890aSEmmanuel Vadot gpio-line-names: 35*f126890aSEmmanuel Vadot maxItems: 133 36*f126890aSEmmanuel Vadot 37*f126890aSEmmanuel Vadot "#gpio-cells": true 38*f126890aSEmmanuel Vadot gpio-ranges: true 39*f126890aSEmmanuel Vadot wakeup-parent: true 40*f126890aSEmmanuel Vadot 41*f126890aSEmmanuel VadotpatternProperties: 42*f126890aSEmmanuel Vadot "-state$": 43*f126890aSEmmanuel Vadot oneOf: 44*f126890aSEmmanuel Vadot - $ref: "#/$defs/qcom-sdx75-tlmm-state" 45*f126890aSEmmanuel Vadot - patternProperties: 46*f126890aSEmmanuel Vadot "-pins$": 47*f126890aSEmmanuel Vadot $ref: "#/$defs/qcom-sdx75-tlmm-state" 48*f126890aSEmmanuel Vadot additionalProperties: false 49*f126890aSEmmanuel Vadot 50*f126890aSEmmanuel Vadot$defs: 51*f126890aSEmmanuel Vadot qcom-sdx75-tlmm-state: 52*f126890aSEmmanuel Vadot type: object 53*f126890aSEmmanuel Vadot description: 54*f126890aSEmmanuel Vadot Pinctrl node's client devices use subnodes for desired pin configuration. 55*f126890aSEmmanuel Vadot Client device subnodes use below standard properties. 56*f126890aSEmmanuel Vadot $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 57*f126890aSEmmanuel Vadot unevaluatedProperties: false 58*f126890aSEmmanuel Vadot 59*f126890aSEmmanuel Vadot properties: 60*f126890aSEmmanuel Vadot pins: 61*f126890aSEmmanuel Vadot description: 62*f126890aSEmmanuel Vadot List of gpio pins affected by the properties specified in this 63*f126890aSEmmanuel Vadot subnode. 64*f126890aSEmmanuel Vadot items: 65*f126890aSEmmanuel Vadot oneOf: 66*f126890aSEmmanuel Vadot - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-2][0-9]|13[0-2])$" 67*f126890aSEmmanuel Vadot - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc1_rclk, sdc2_clk, sdc2_cmd, sdc2_data ] 68*f126890aSEmmanuel Vadot minItems: 1 69*f126890aSEmmanuel Vadot maxItems: 36 70*f126890aSEmmanuel Vadot 71*f126890aSEmmanuel Vadot function: 72*f126890aSEmmanuel Vadot description: 73*f126890aSEmmanuel Vadot Specify the alternative function to be configured for the specified 74*f126890aSEmmanuel Vadot pins. 75*f126890aSEmmanuel Vadot enum: [ adsp_ext, atest_char, audio_ref_clk, bimc_dte, char_exec, coex_uart2, 76*f126890aSEmmanuel Vadot coex_uart, cri_trng, cri_trng0, cri_trng1, dbg_out_clk, ddr_bist, 77*f126890aSEmmanuel Vadot ddr_pxi0, ebi0_wrcdc, ebi2_a, ebi2_lcd, ebi2_lcd_te, emac0_mcg, 78*f126890aSEmmanuel Vadot emac0_ptp, emac1_mcg, emac1_ptp, emac_cdc, emac_pps_in, eth0_mdc, 79*f126890aSEmmanuel Vadot eth0_mdio, eth1_mdc, eth1_mdio, ext_dbg, gcc_125_clk, gcc_gp1_clk, 80*f126890aSEmmanuel Vadot gcc_gp2_clk, gcc_gp3_clk, gcc_plltest, gpio, i2s_mclk, jitter_bist, 81*f126890aSEmmanuel Vadot ldo_en, ldo_update, m_voc, mgpi_clk, native_char, native_tsens, 82*f126890aSEmmanuel Vadot native_tsense, nav_dr_sync, nav_gpio, pa_indicator, pci_e, 83*f126890aSEmmanuel Vadot pcie0_clkreq_n, pcie1_clkreq_n, pcie2_clkreq_n, pll_bist_sync, 84*f126890aSEmmanuel Vadot pll_clk_aux, pll_ref_clk, pri_mi2s, prng_rosc, qdss_cti, qdss_gpio, 85*f126890aSEmmanuel Vadot qlink0_b_en, qlink0_b_req, qlink0_l_en, qlink0_l_req, qlink0_wmss, 86*f126890aSEmmanuel Vadot qlink1_l_en, qlink1_l_req, qlink1_wmss, qup_se0, qup_se1_l2_mira, 87*f126890aSEmmanuel Vadot qup_se1_l2_mirb, qup_se1_l3_mira, qup_se1_l3_mirb, qup_se2, qup_se3, 88*f126890aSEmmanuel Vadot qup_se4, qup_se5, qup_se6, qup_se7, qup_se8, rgmii_rx_ctl, rgmii_rxc, 89*f126890aSEmmanuel Vadot rgmii_rxd, rgmii_tx_ctl, rgmii_txc, rgmii_txd, sd_card, sdc1_tb, 90*f126890aSEmmanuel Vadot sdc2_tb_trig, sec_mi2s, sgmii_phy_intr0_n, sgmii_phy_intr1_n, 91*f126890aSEmmanuel Vadot spmi_coex, spmi_vgi, tgu_ch0_trigout, tmess_prng0, tmess_prng1, 92*f126890aSEmmanuel Vadot tmess_prng2, tmess_prng3, tri_mi2s, uim1_clk, uim1_data, uim1_present, 93*f126890aSEmmanuel Vadot uim1_reset, uim2_clk, uim2_data, uim2_present, uim2_reset, 94*f126890aSEmmanuel Vadot usb2phy_ac_en, vsense_trigger_mirnat] 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot required: 97*f126890aSEmmanuel Vadot - pins 98*f126890aSEmmanuel Vadot 99*f126890aSEmmanuel Vadotrequired: 100*f126890aSEmmanuel Vadot - compatible 101*f126890aSEmmanuel Vadot - reg 102*f126890aSEmmanuel Vadot 103*f126890aSEmmanuel VadotadditionalProperties: false 104*f126890aSEmmanuel Vadot 105*f126890aSEmmanuel Vadotexamples: 106*f126890aSEmmanuel Vadot - | 107*f126890aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 108*f126890aSEmmanuel Vadot tlmm: pinctrl@f100000 { 109*f126890aSEmmanuel Vadot compatible = "qcom,sdx75-tlmm"; 110*f126890aSEmmanuel Vadot reg = <0x0f100000 0x300000>; 111*f126890aSEmmanuel Vadot gpio-controller; 112*f126890aSEmmanuel Vadot #gpio-cells = <2>; 113*f126890aSEmmanuel Vadot gpio-ranges = <&tlmm 0 0 133>; 114*f126890aSEmmanuel Vadot interrupt-controller; 115*f126890aSEmmanuel Vadot #interrupt-cells = <2>; 116*f126890aSEmmanuel Vadot interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 117*f126890aSEmmanuel Vadot 118*f126890aSEmmanuel Vadot gpio-wo-state { 119*f126890aSEmmanuel Vadot pins = "gpio1"; 120*f126890aSEmmanuel Vadot function = "gpio"; 121*f126890aSEmmanuel Vadot }; 122*f126890aSEmmanuel Vadot 123*f126890aSEmmanuel Vadot uart-w-state { 124*f126890aSEmmanuel Vadot rx-pins { 125*f126890aSEmmanuel Vadot pins = "gpio12"; 126*f126890aSEmmanuel Vadot function = "qup_se1_l2_mira"; 127*f126890aSEmmanuel Vadot bias-disable; 128*f126890aSEmmanuel Vadot }; 129*f126890aSEmmanuel Vadot 130*f126890aSEmmanuel Vadot tx-pins { 131*f126890aSEmmanuel Vadot pins = "gpio13"; 132*f126890aSEmmanuel Vadot function = "qup_se1_l3_mira"; 133*f126890aSEmmanuel Vadot bias-disable; 134*f126890aSEmmanuel Vadot }; 135*f126890aSEmmanuel Vadot }; 136*f126890aSEmmanuel Vadot }; 137*f126890aSEmmanuel Vadot... 138