xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,qcs615-tlmm.yaml (revision ae5de77ed78ae54d86cead5604869212e8008e6b)
15f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25f62a964SEmmanuel Vadot%YAML 1.2
35f62a964SEmmanuel Vadot---
45f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,qcs615-tlmm.yaml#
55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65f62a964SEmmanuel Vadot
75f62a964SEmmanuel Vadottitle: Qualcomm Technologies, Inc. QCS615 TLMM block
85f62a964SEmmanuel Vadot
95f62a964SEmmanuel Vadotmaintainers:
105f62a964SEmmanuel Vadot  - Lijuan Gao <quic_lijuang@quicinc.com>
115f62a964SEmmanuel Vadot
125f62a964SEmmanuel Vadotdescription:
135f62a964SEmmanuel Vadot  Top Level Mode Multiplexer pin controller in Qualcomm QCS615 SoC.
145f62a964SEmmanuel Vadot
155f62a964SEmmanuel VadotallOf:
165f62a964SEmmanuel Vadot  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
175f62a964SEmmanuel Vadot
185f62a964SEmmanuel Vadotproperties:
195f62a964SEmmanuel Vadot  compatible:
205f62a964SEmmanuel Vadot    const: qcom,qcs615-tlmm
215f62a964SEmmanuel Vadot
225f62a964SEmmanuel Vadot  reg:
235f62a964SEmmanuel Vadot    maxItems: 3
245f62a964SEmmanuel Vadot
255f62a964SEmmanuel Vadot  reg-names:
265f62a964SEmmanuel Vadot    items:
275f62a964SEmmanuel Vadot      - const: east
285f62a964SEmmanuel Vadot      - const: west
295f62a964SEmmanuel Vadot      - const: south
305f62a964SEmmanuel Vadot
315f62a964SEmmanuel Vadot  interrupts:
325f62a964SEmmanuel Vadot    maxItems: 1
335f62a964SEmmanuel Vadot
345f62a964SEmmanuel Vadot  gpio-reserved-ranges:
355f62a964SEmmanuel Vadot    minItems: 1
365f62a964SEmmanuel Vadot    maxItems: 62
375f62a964SEmmanuel Vadot
385f62a964SEmmanuel Vadot  gpio-line-names:
395f62a964SEmmanuel Vadot    maxItems: 123
405f62a964SEmmanuel Vadot
415f62a964SEmmanuel VadotpatternProperties:
425f62a964SEmmanuel Vadot  "-state$":
435f62a964SEmmanuel Vadot    oneOf:
445f62a964SEmmanuel Vadot      - $ref: "#/$defs/qcom-qcs615-tlmm-state"
455f62a964SEmmanuel Vadot      - type: object
465f62a964SEmmanuel Vadot        patternProperties:
475f62a964SEmmanuel Vadot          "-pins$":
485f62a964SEmmanuel Vadot            $ref: "#/$defs/qcom-qcs615-tlmm-state"
495f62a964SEmmanuel Vadot        additionalProperties: false
505f62a964SEmmanuel Vadot
515f62a964SEmmanuel Vadot$defs:
525f62a964SEmmanuel Vadot  qcom-qcs615-tlmm-state:
535f62a964SEmmanuel Vadot    type: object
545f62a964SEmmanuel Vadot    description:
555f62a964SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
565f62a964SEmmanuel Vadot      Client device subnodes use below standard properties.
575f62a964SEmmanuel Vadot    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
585f62a964SEmmanuel Vadot    unevaluatedProperties: false
595f62a964SEmmanuel Vadot
605f62a964SEmmanuel Vadot    properties:
615f62a964SEmmanuel Vadot      pins:
625f62a964SEmmanuel Vadot        description:
635f62a964SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
645f62a964SEmmanuel Vadot          subnode.
655f62a964SEmmanuel Vadot        items:
665f62a964SEmmanuel Vadot          oneOf:
675f62a964SEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-2])$"
685f62a964SEmmanuel Vadot            - enum: [ sdc1_clk, sdc1_cmd, sdc1_data, sdc1_rclk,
695f62a964SEmmanuel Vadot                      sdc2_clk, sdc2_cmd, sdc2_data, ufs_reset ]
705f62a964SEmmanuel Vadot        minItems: 1
715f62a964SEmmanuel Vadot        maxItems: 36
725f62a964SEmmanuel Vadot
735f62a964SEmmanuel Vadot      function:
745f62a964SEmmanuel Vadot        description:
755f62a964SEmmanuel Vadot          Specify the alternative function to be configured for the specified
765f62a964SEmmanuel Vadot          pins.
775f62a964SEmmanuel Vadot        enum: [ gpio, adsp_ext, agera_pll, aoss_cti, atest_char, atest_tsens,
785f62a964SEmmanuel Vadot                atest_usb, cam_mclk, cci_async, cci_i2c, cci_timer, copy_gp,
795f62a964SEmmanuel Vadot                copy_phase, cri_trng, dbg_out_clk, ddr_bist, ddr_pxi, dp_hot,
805f62a964SEmmanuel Vadot                edp_hot, edp_lcd, emac_gcc, emac_phy_intr, forced_usb, gcc_gp,
815f62a964SEmmanuel Vadot                gp_pdm, gps_tx, hs0_mi2s, hs1_mi2s, jitter_bist, ldo_en,
825f62a964SEmmanuel Vadot                ldo_update, m_voc, mclk1, mclk2, mdp_vsync, mdp_vsync0_out,
835f62a964SEmmanuel Vadot                mdp_vsync1_out, mdp_vsync2_out, mdp_vsync3_out, mdp_vsync4_out,
845f62a964SEmmanuel Vadot                mdp_vsync5_out, mi2s_1, mss_lte, nav_pps_in, nav_pps_out,
855f62a964SEmmanuel Vadot                pa_indicator_or, pcie_clk_req, pcie_ep_rst, phase_flag, pll_bist,
865f62a964SEmmanuel Vadot                pll_bypassnl, pll_reset_n, prng_rosc, qdss_cti, qdss_gpio,
875f62a964SEmmanuel Vadot                qlink_enable, qlink_request, qspi, qup0, qup1, rgmii,
885f62a964SEmmanuel Vadot                sd_write_protect, sp_cmu, ter_mi2s, tgu_ch, uim1, uim2, usb0_hs,
895f62a964SEmmanuel Vadot                usb1_hs, usb_phy_ps, vfr_1, vsense_trigger_mirnat, wlan, wsa_clk,
905f62a964SEmmanuel Vadot                wsa_data ]
915f62a964SEmmanuel Vadot
925f62a964SEmmanuel Vadot    required:
935f62a964SEmmanuel Vadot      - pins
945f62a964SEmmanuel Vadot
955f62a964SEmmanuel Vadotrequired:
965f62a964SEmmanuel Vadot  - compatible
975f62a964SEmmanuel Vadot  - reg
985f62a964SEmmanuel Vadot  - reg-names
995f62a964SEmmanuel Vadot
1005f62a964SEmmanuel VadotunevaluatedProperties: false
1015f62a964SEmmanuel Vadot
1025f62a964SEmmanuel Vadotexamples:
1035f62a964SEmmanuel Vadot  - |
1045f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1055f62a964SEmmanuel Vadot
1065f62a964SEmmanuel Vadot    tlmm: pinctrl@3000000 {
1075f62a964SEmmanuel Vadot        compatible = "qcom,qcs615-tlmm";
1085f62a964SEmmanuel Vadot        reg = <0x03100000 0x300000>,
1095f62a964SEmmanuel Vadot              <0x03500000 0x300000>,
1105f62a964SEmmanuel Vadot              <0x03c00000 0x300000>;
1115f62a964SEmmanuel Vadot        reg-names = "east", "west", "south";
1125f62a964SEmmanuel Vadot        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
113*ae5de77eSEmmanuel Vadot        gpio-ranges = <&tlmm 0 0 124>;
1145f62a964SEmmanuel Vadot        gpio-controller;
1155f62a964SEmmanuel Vadot        #gpio-cells = <2>;
1165f62a964SEmmanuel Vadot        interrupt-controller;
1175f62a964SEmmanuel Vadot        #interrupt-cells = <2>;
1185f62a964SEmmanuel Vadot
1195f62a964SEmmanuel Vadot        qup3-uart2-state {
1205f62a964SEmmanuel Vadot            pins ="gpio16", "gpio17";
1215f62a964SEmmanuel Vadot            function = "qup0";
1225f62a964SEmmanuel Vadot        };
1235f62a964SEmmanuel Vadot    };
1245f62a964SEmmanuel Vadot...
125