1*e95f2b21SJingyi Wang# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*e95f2b21SJingyi Wang%YAML 1.2 3*e95f2b21SJingyi Wang--- 4*e95f2b21SJingyi Wang$id: http://devicetree.org/schemas/pinctrl/qcom,maili-tlmm.yaml# 5*e95f2b21SJingyi Wang$schema: http://devicetree.org/meta-schemas/core.yaml# 6*e95f2b21SJingyi Wang 7*e95f2b21SJingyi Wangtitle: Qualcomm Technologies, Inc. Maili TLMM block 8*e95f2b21SJingyi Wang 9*e95f2b21SJingyi Wangmaintainers: 10*e95f2b21SJingyi Wang - Jingyi Wang <jingyi.wang@oss.qualcomm.com> 11*e95f2b21SJingyi Wang 12*e95f2b21SJingyi Wangdescription: 13*e95f2b21SJingyi Wang Top Level Mode Multiplexer pin controller in Qualcomm Maili SoC. 14*e95f2b21SJingyi Wang 15*e95f2b21SJingyi WangallOf: 16*e95f2b21SJingyi Wang - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 17*e95f2b21SJingyi Wang 18*e95f2b21SJingyi Wangproperties: 19*e95f2b21SJingyi Wang compatible: 20*e95f2b21SJingyi Wang const: qcom,maili-tlmm 21*e95f2b21SJingyi Wang 22*e95f2b21SJingyi Wang reg: 23*e95f2b21SJingyi Wang maxItems: 1 24*e95f2b21SJingyi Wang 25*e95f2b21SJingyi Wang interrupts: 26*e95f2b21SJingyi Wang maxItems: 1 27*e95f2b21SJingyi Wang 28*e95f2b21SJingyi Wang gpio-reserved-ranges: 29*e95f2b21SJingyi Wang minItems: 1 30*e95f2b21SJingyi Wang maxItems: 113 31*e95f2b21SJingyi Wang 32*e95f2b21SJingyi Wang gpio-line-names: 33*e95f2b21SJingyi Wang maxItems: 226 34*e95f2b21SJingyi Wang 35*e95f2b21SJingyi WangpatternProperties: 36*e95f2b21SJingyi Wang "-state$": 37*e95f2b21SJingyi Wang oneOf: 38*e95f2b21SJingyi Wang - $ref: "#/$defs/qcom-maili-tlmm-state" 39*e95f2b21SJingyi Wang - patternProperties: 40*e95f2b21SJingyi Wang "-pins$": 41*e95f2b21SJingyi Wang $ref: "#/$defs/qcom-maili-tlmm-state" 42*e95f2b21SJingyi Wang additionalProperties: false 43*e95f2b21SJingyi Wang 44*e95f2b21SJingyi Wang$defs: 45*e95f2b21SJingyi Wang qcom-maili-tlmm-state: 46*e95f2b21SJingyi Wang type: object 47*e95f2b21SJingyi Wang description: 48*e95f2b21SJingyi Wang Pinctrl node's client devices use subnodes for desired pin configuration. 49*e95f2b21SJingyi Wang Client device subnodes use below standard properties. 50*e95f2b21SJingyi Wang $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 51*e95f2b21SJingyi Wang unevaluatedProperties: false 52*e95f2b21SJingyi Wang 53*e95f2b21SJingyi Wang properties: 54*e95f2b21SJingyi Wang pins: 55*e95f2b21SJingyi Wang description: 56*e95f2b21SJingyi Wang List of gpio pins affected by the properties specified in this 57*e95f2b21SJingyi Wang subnode. 58*e95f2b21SJingyi Wang items: 59*e95f2b21SJingyi Wang oneOf: 60*e95f2b21SJingyi Wang - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-9][0-9]|20[0-9]|21[0-9]|22[0-5])$" 61*e95f2b21SJingyi Wang - enum: [ ufs_reset, sdc2_clk, sdc2_cmd, sdc2_data ] 62*e95f2b21SJingyi Wang minItems: 1 63*e95f2b21SJingyi Wang maxItems: 36 64*e95f2b21SJingyi Wang 65*e95f2b21SJingyi Wang function: 66*e95f2b21SJingyi Wang description: 67*e95f2b21SJingyi Wang Specify the alternative function to be configured for the specified 68*e95f2b21SJingyi Wang pins. 69*e95f2b21SJingyi Wang enum: [ gpio, aoss_cti, atest_char, atest_usb, audio_ext_mclk, 70*e95f2b21SJingyi Wang audio_ref_clk, cam_mclk, cci_async_in, cci_i2c0, cci_i2c1, 71*e95f2b21SJingyi Wang cci_i2c2, cci_i2c3, cci_timer, coex_espmi, coex_uart1_rx, 72*e95f2b21SJingyi Wang coex_uart1_tx, dbg_out_clk, ddr_bist, ddr_pxi, dp_hot, egpio, 73*e95f2b21SJingyi Wang gcc_gp, gnss_adc, host2wlan_sol, host_rst, i2chub0_se0, 74*e95f2b21SJingyi Wang i2chub0_se1, i2chub0_se2, i2chub0_se3, i2chub0_se4, i2s0, i2s1, 75*e95f2b21SJingyi Wang ibi_i3c, ibi_i3c_qup5_se0, jitter_bist, mdp_esync0, mdp_esync1, 76*e95f2b21SJingyi Wang mdp_esync2, mdp_vsync, mdp_vsync_e, mdp_vsync_p, mdp_vsync0_out, 77*e95f2b21SJingyi Wang mdp_vsync1_out, mdp_vsync2_out, mdp_vsync3_out, mdp_vsync5_out, 78*e95f2b21SJingyi Wang modem_pps_in, modem_pps_out, nav_gpio, nav_gpio0, nav_gpio3, 79*e95f2b21SJingyi Wang nav_rffe, pcie0_clk_req_n, pcie1_clk_req_n, pcie1_rst_n, 80*e95f2b21SJingyi Wang phase_flag, pll_bist_sync, pll_clk_aux, qdss_cti, qlink, qspi, 81*e95f2b21SJingyi Wang qspi_clk, qspi_cs, qup1_se0, qup1_se1, qup1_se2, qup1_se3, 82*e95f2b21SJingyi Wang qup1_se4, qup1_se5, qup1_se6, qup1_se7, qup2_se0, qup2_se1, 83*e95f2b21SJingyi Wang qup2_se2, qup2_se3, qup2_se4_01, qup2_se4_23, qup3_se0, 84*e95f2b21SJingyi Wang qup3_se1, qup3_se2, qup3_se3, qup3_se4, qup3_se5, qup4_se0, 85*e95f2b21SJingyi Wang qup4_se1, qup4_se2, qup4_se3_01, qup4_se3_23, qup4_se3_l3, 86*e95f2b21SJingyi Wang qup4_se4_01, qup4_se4_23, qup4_se4_l3, qup5_se0, rng_rosc, 87*e95f2b21SJingyi Wang sd_write_protect, sdc2_clk, sdc2_cmd, sdc2_data, sdc2_rclk, 88*e95f2b21SJingyi Wang sdc4_clk, sdc4_cmd, sdc4_data, sys_throttle, tb_trig_sdc, 89*e95f2b21SJingyi Wang tmess_rng, tsense_clm, tsense_pwm, uim0, uim1, usb0_hs, usb_phy, 90*e95f2b21SJingyi Wang vfr, vsense_trigger_mirnat, wcn_sw ] 91*e95f2b21SJingyi Wang 92*e95f2b21SJingyi Wang required: 93*e95f2b21SJingyi Wang - pins 94*e95f2b21SJingyi Wang 95*e95f2b21SJingyi Wangrequired: 96*e95f2b21SJingyi Wang - compatible 97*e95f2b21SJingyi Wang - reg 98*e95f2b21SJingyi Wang 99*e95f2b21SJingyi WangunevaluatedProperties: false 100*e95f2b21SJingyi Wang 101*e95f2b21SJingyi Wangexamples: 102*e95f2b21SJingyi Wang - | 103*e95f2b21SJingyi Wang #include <dt-bindings/interrupt-controller/arm-gic.h> 104*e95f2b21SJingyi Wang 105*e95f2b21SJingyi Wang tlmm: pinctrl@f100000 { 106*e95f2b21SJingyi Wang compatible = "qcom,maili-tlmm"; 107*e95f2b21SJingyi Wang reg = <0x0f100000 0x300000>; 108*e95f2b21SJingyi Wang interrupts = <GIC_ESPI 272 IRQ_TYPE_LEVEL_HIGH>; 109*e95f2b21SJingyi Wang gpio-controller; 110*e95f2b21SJingyi Wang #gpio-cells = <2>; 111*e95f2b21SJingyi Wang gpio-ranges = <&tlmm 0 0 227>; 112*e95f2b21SJingyi Wang interrupt-controller; 113*e95f2b21SJingyi Wang #interrupt-cells = <2>; 114*e95f2b21SJingyi Wang 115*e95f2b21SJingyi Wang qup-uart7-state { 116*e95f2b21SJingyi Wang pins = "gpio62", "gpio63"; 117*e95f2b21SJingyi Wang function = "qup1_se7"; 118*e95f2b21SJingyi Wang }; 119*e95f2b21SJingyi Wang }; 120*e95f2b21SJingyi Wang... 121