xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,qcs615-tlmm.yaml (revision eafd95ea74846eda3e3eac6b2bb7f34619d8a6f8)
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