xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,qcs8300-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,qcs8300-tlmm.yaml#
55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65f62a964SEmmanuel Vadot
75f62a964SEmmanuel Vadottitle: Qualcomm Technologies, Inc. QCS8300 TLMM block
85f62a964SEmmanuel Vadot
95f62a964SEmmanuel Vadotmaintainers:
105f62a964SEmmanuel Vadot  - Jingyi Wang <quic_jingyw@quicinc.com>
115f62a964SEmmanuel Vadot
125f62a964SEmmanuel Vadotdescription: |
135f62a964SEmmanuel Vadot  Top Level Mode Multiplexer pin controller in Qualcomm QCS8300 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,qcs8300-tlmm
215f62a964SEmmanuel Vadot
225f62a964SEmmanuel Vadot  reg:
235f62a964SEmmanuel Vadot    maxItems: 1
245f62a964SEmmanuel Vadot
255f62a964SEmmanuel Vadot  interrupts:
265f62a964SEmmanuel Vadot    maxItems: 1
275f62a964SEmmanuel Vadot
285f62a964SEmmanuel Vadot  gpio-reserved-ranges:
295f62a964SEmmanuel Vadot    minItems: 1
305f62a964SEmmanuel Vadot    maxItems: 67
315f62a964SEmmanuel Vadot
325f62a964SEmmanuel Vadot  gpio-line-names:
335f62a964SEmmanuel Vadot    maxItems: 133
345f62a964SEmmanuel Vadot
355f62a964SEmmanuel VadotpatternProperties:
365f62a964SEmmanuel Vadot  "-state$":
375f62a964SEmmanuel Vadot    oneOf:
385f62a964SEmmanuel Vadot      - $ref: "#/$defs/qcom-qcs8300-tlmm-state"
395f62a964SEmmanuel Vadot      - patternProperties:
405f62a964SEmmanuel Vadot          "-pins$":
415f62a964SEmmanuel Vadot            $ref: "#/$defs/qcom-qcs8300-tlmm-state"
425f62a964SEmmanuel Vadot        additionalProperties: false
435f62a964SEmmanuel Vadot
445f62a964SEmmanuel Vadot$defs:
455f62a964SEmmanuel Vadot  qcom-qcs8300-tlmm-state:
465f62a964SEmmanuel Vadot    type: object
475f62a964SEmmanuel Vadot    description:
485f62a964SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
495f62a964SEmmanuel Vadot      Client device subnodes use below standard properties.
505f62a964SEmmanuel Vadot    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
515f62a964SEmmanuel Vadot    unevaluatedProperties: false
525f62a964SEmmanuel Vadot
535f62a964SEmmanuel Vadot    properties:
545f62a964SEmmanuel Vadot      pins:
555f62a964SEmmanuel Vadot        description:
565f62a964SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
575f62a964SEmmanuel Vadot          subnode.
585f62a964SEmmanuel Vadot        items:
595f62a964SEmmanuel Vadot          oneOf:
605f62a964SEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-2][0-9]|13[0-2])$"
615f62a964SEmmanuel Vadot            - enum: [ ufs_reset, sdc1_rclk, sdc1_clk, sdc1_cmd, sdc1_data ]
625f62a964SEmmanuel Vadot        minItems: 1
635f62a964SEmmanuel Vadot        maxItems: 36
645f62a964SEmmanuel Vadot
655f62a964SEmmanuel Vadot      function:
665f62a964SEmmanuel Vadot        description:
675f62a964SEmmanuel Vadot          Specify the alternative function to be configured for the specified
685f62a964SEmmanuel Vadot          pins.
695f62a964SEmmanuel Vadot
705f62a964SEmmanuel Vadot        enum: [ aoss_cti, atest_char, atest_usb2, audio_ref, cam_mclk,
715f62a964SEmmanuel Vadot                cci_async, cci_i2c_scl, cci_i2c_sda, cci_timer, cri_trng,
725f62a964SEmmanuel Vadot                dbg_out, ddr_bist, ddr_pxi0, ddr_pxi1, ddr_pxi2, ddr_pxi3,
735f62a964SEmmanuel Vadot                edp0_hot, edp0_lcd, edp1_lcd, egpio, emac0_mcg0, emac0_mcg1,
745f62a964SEmmanuel Vadot                emac0_mcg2, emac0_mcg3, emac0_mdc, emac0_mdio, emac0_ptp_aux,
755f62a964SEmmanuel Vadot                emac0_ptp_pps, gcc_gp1, gcc_gp2, gcc_gp3, gcc_gp4, gcc_gp5,
765f62a964SEmmanuel Vadot                gpio, hs0_mi2s, hs1_mi2s, hs2_mi2s, ibi_i3c, jitter_bist,
775f62a964SEmmanuel Vadot                mdp0_vsync0, mdp0_vsync1, mdp0_vsync3, mdp0_vsync6, mdp0_vsync7,
785f62a964SEmmanuel Vadot                mdp_vsync, mi2s1_data0, mi2s1_data1, mi2s1_sck, mi2s1_ws,
795f62a964SEmmanuel Vadot                mi2s2_data0, mi2s2_data1, mi2s2_sck, mi2s2_ws, mi2s_mclk0,
805f62a964SEmmanuel Vadot                mi2s_mclk1, pcie0_clkreq, pcie1_clkreq, phase_flag, pll_bist,
815f62a964SEmmanuel Vadot                pll_clk, prng_rosc0, prng_rosc1, prng_rosc2, prng_rosc3,
825f62a964SEmmanuel Vadot                qdss_cti, qdss_gpio, qup0_se0, qup0_se1, qup0_se2, qup0_se3,
835f62a964SEmmanuel Vadot                qup0_se4, qup0_se5, qup0_se6, qup0_se7, qup1_se0, qup1_se1,
845f62a964SEmmanuel Vadot                qup1_se2, qup1_se3, qup1_se4, qup1_se5, qup1_se6, qup1_se7,
855f62a964SEmmanuel Vadot                qup2_se0, sailss_emac0, sailss_ospi, sail_top, sgmii_phy,
865f62a964SEmmanuel Vadot                tb_trig, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3, tsense_pwm1,
875f62a964SEmmanuel Vadot                tsense_pwm2, tsense_pwm3, tsense_pwm4, usb2phy_ac,
885f62a964SEmmanuel Vadot                vsense_trigger ]
895f62a964SEmmanuel Vadot
905f62a964SEmmanuel Vadot    required:
915f62a964SEmmanuel Vadot      - pins
925f62a964SEmmanuel Vadot
935f62a964SEmmanuel Vadotrequired:
945f62a964SEmmanuel Vadot  - compatible
955f62a964SEmmanuel Vadot  - reg
965f62a964SEmmanuel Vadot
975f62a964SEmmanuel VadotunevaluatedProperties: false
985f62a964SEmmanuel Vadot
995f62a964SEmmanuel Vadotexamples:
1005f62a964SEmmanuel Vadot  - |
1015f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1025f62a964SEmmanuel Vadot
1035f62a964SEmmanuel Vadot    tlmm: pinctrl@f100000 {
1045f62a964SEmmanuel Vadot        compatible = "qcom,qcs8300-tlmm";
1055f62a964SEmmanuel Vadot        reg = <0x0f100000 0x300000>;
1065f62a964SEmmanuel Vadot        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1075f62a964SEmmanuel Vadot        gpio-controller;
1085f62a964SEmmanuel Vadot        #gpio-cells = <2>;
109*ae5de77eSEmmanuel Vadot        gpio-ranges = <&tlmm 0 0 134>;
1105f62a964SEmmanuel Vadot        interrupt-controller;
1115f62a964SEmmanuel Vadot        #interrupt-cells = <2>;
1125f62a964SEmmanuel Vadot
1135f62a964SEmmanuel Vadot        qup-uart7-state {
1145f62a964SEmmanuel Vadot            pins = "gpio43", "gpio44";
1155f62a964SEmmanuel Vadot            function = "qup0_se7";
1165f62a964SEmmanuel Vadot        };
1175f62a964SEmmanuel Vadot    };
1185f62a964SEmmanuel Vadot...
119