155c487eaSLijuan Gao# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 255c487eaSLijuan Gao%YAML 1.2 355c487eaSLijuan Gao--- 455c487eaSLijuan Gao$id: http://devicetree.org/schemas/pinctrl/qcom,qcs615-tlmm.yaml# 555c487eaSLijuan Gao$schema: http://devicetree.org/meta-schemas/core.yaml# 655c487eaSLijuan Gao 755c487eaSLijuan Gaotitle: Qualcomm Technologies, Inc. QCS615 TLMM block 855c487eaSLijuan Gao 955c487eaSLijuan Gaomaintainers: 1055c487eaSLijuan Gao - Lijuan Gao <quic_lijuang@quicinc.com> 1155c487eaSLijuan Gao 1255c487eaSLijuan Gaodescription: 1355c487eaSLijuan Gao Top Level Mode Multiplexer pin controller in Qualcomm QCS615 SoC. 1455c487eaSLijuan Gao 1555c487eaSLijuan GaoallOf: 1655c487eaSLijuan Gao - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml# 1755c487eaSLijuan Gao 1855c487eaSLijuan Gaoproperties: 1955c487eaSLijuan Gao compatible: 2055c487eaSLijuan Gao const: qcom,qcs615-tlmm 2155c487eaSLijuan Gao 2255c487eaSLijuan Gao reg: 2355c487eaSLijuan Gao maxItems: 3 2455c487eaSLijuan Gao 2555c487eaSLijuan Gao reg-names: 2655c487eaSLijuan Gao items: 2755c487eaSLijuan Gao - const: east 2855c487eaSLijuan Gao - const: west 2955c487eaSLijuan Gao - const: south 3055c487eaSLijuan Gao 3155c487eaSLijuan Gao interrupts: 3255c487eaSLijuan Gao maxItems: 1 3355c487eaSLijuan Gao 3455c487eaSLijuan Gao gpio-reserved-ranges: 3555c487eaSLijuan Gao minItems: 1 3655c487eaSLijuan Gao maxItems: 62 3755c487eaSLijuan Gao 3855c487eaSLijuan Gao gpio-line-names: 3955c487eaSLijuan Gao maxItems: 123 4055c487eaSLijuan Gao 4155c487eaSLijuan GaopatternProperties: 4255c487eaSLijuan Gao "-state$": 4355c487eaSLijuan Gao oneOf: 4455c487eaSLijuan Gao - $ref: "#/$defs/qcom-qcs615-tlmm-state" 4555c487eaSLijuan Gao - type: object 4655c487eaSLijuan Gao patternProperties: 4755c487eaSLijuan Gao "-pins$": 4855c487eaSLijuan Gao $ref: "#/$defs/qcom-qcs615-tlmm-state" 4955c487eaSLijuan Gao additionalProperties: false 5055c487eaSLijuan Gao 5155c487eaSLijuan Gao$defs: 5255c487eaSLijuan Gao qcom-qcs615-tlmm-state: 5355c487eaSLijuan Gao type: object 5455c487eaSLijuan Gao description: 5555c487eaSLijuan Gao Pinctrl node's client devices use subnodes for desired pin configuration. 5655c487eaSLijuan Gao Client device subnodes use below standard properties. 5755c487eaSLijuan Gao $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state 5855c487eaSLijuan Gao unevaluatedProperties: false 5955c487eaSLijuan Gao 6055c487eaSLijuan Gao properties: 6155c487eaSLijuan Gao pins: 6255c487eaSLijuan Gao description: 6355c487eaSLijuan Gao List of gpio pins affected by the properties specified in this 6455c487eaSLijuan Gao subnode. 6555c487eaSLijuan Gao items: 6655c487eaSLijuan Gao oneOf: 6755c487eaSLijuan Gao - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-2])$" 6855c487eaSLijuan Gao - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc1_rclk, 6955c487eaSLijuan Gao sdc2_clk, sdc2_cmd, sdc2_data, ufs_reset ] 7055c487eaSLijuan Gao minItems: 1 7155c487eaSLijuan Gao maxItems: 36 7255c487eaSLijuan Gao 7355c487eaSLijuan Gao function: 7455c487eaSLijuan Gao description: 7555c487eaSLijuan Gao Specify the alternative function to be configured for the specified 7655c487eaSLijuan Gao pins. 7755c487eaSLijuan Gao enum: [ gpio, adsp_ext, agera_pll, aoss_cti, atest_char, atest_tsens, 7855c487eaSLijuan Gao atest_usb, cam_mclk, cci_async, cci_i2c, cci_timer, copy_gp, 7955c487eaSLijuan Gao copy_phase, cri_trng, dbg_out_clk, ddr_bist, ddr_pxi, dp_hot, 8055c487eaSLijuan Gao edp_hot, edp_lcd, emac_gcc, emac_phy_intr, forced_usb, gcc_gp, 8155c487eaSLijuan Gao gp_pdm, gps_tx, hs0_mi2s, hs1_mi2s, jitter_bist, ldo_en, 8255c487eaSLijuan Gao ldo_update, m_voc, mclk1, mclk2, mdp_vsync, mdp_vsync0_out, 8355c487eaSLijuan Gao mdp_vsync1_out, mdp_vsync2_out, mdp_vsync3_out, mdp_vsync4_out, 8455c487eaSLijuan Gao mdp_vsync5_out, mi2s_1, mss_lte, nav_pps_in, nav_pps_out, 8555c487eaSLijuan Gao pa_indicator_or, pcie_clk_req, pcie_ep_rst, phase_flag, pll_bist, 8655c487eaSLijuan Gao pll_bypassnl, pll_reset_n, prng_rosc, qdss_cti, qdss_gpio, 8755c487eaSLijuan Gao qlink_enable, qlink_request, qspi, qup0, qup1, rgmii, 8855c487eaSLijuan Gao sd_write_protect, sp_cmu, ter_mi2s, tgu_ch, uim1, uim2, usb0_hs, 8955c487eaSLijuan Gao usb1_hs, usb_phy_ps, vfr_1, vsense_trigger_mirnat, wlan, wsa_clk, 9055c487eaSLijuan Gao wsa_data ] 9155c487eaSLijuan Gao 9255c487eaSLijuan Gao required: 9355c487eaSLijuan Gao - pins 9455c487eaSLijuan Gao 9555c487eaSLijuan Gaorequired: 9655c487eaSLijuan Gao - compatible 9755c487eaSLijuan Gao - reg 9855c487eaSLijuan Gao - reg-names 9955c487eaSLijuan Gao 10055c487eaSLijuan GaounevaluatedProperties: false 10155c487eaSLijuan Gao 10255c487eaSLijuan Gaoexamples: 10355c487eaSLijuan Gao - | 10455c487eaSLijuan Gao #include <dt-bindings/interrupt-controller/arm-gic.h> 10555c487eaSLijuan Gao 10655c487eaSLijuan Gao tlmm: pinctrl@3000000 { 10755c487eaSLijuan Gao compatible = "qcom,qcs615-tlmm"; 10855c487eaSLijuan Gao reg = <0x03100000 0x300000>, 10955c487eaSLijuan Gao <0x03500000 0x300000>, 11055c487eaSLijuan Gao <0x03c00000 0x300000>; 11155c487eaSLijuan Gao reg-names = "east", "west", "south"; 11255c487eaSLijuan Gao interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>; 113*2f87c9aaSLijuan Gao gpio-ranges = <&tlmm 0 0 124>; 11455c487eaSLijuan Gao gpio-controller; 11555c487eaSLijuan Gao #gpio-cells = <2>; 11655c487eaSLijuan Gao interrupt-controller; 11755c487eaSLijuan Gao #interrupt-cells = <2>; 11855c487eaSLijuan Gao 11955c487eaSLijuan Gao qup3-uart2-state { 12055c487eaSLijuan Gao pins ="gpio16", "gpio17"; 12155c487eaSLijuan Gao function = "qup0"; 12255c487eaSLijuan Gao }; 12355c487eaSLijuan Gao }; 12455c487eaSLijuan Gao... 125