xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,sc7280-pinctrl.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
15def4c47SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25def4c47SEmmanuel Vadot%YAML 1.2
35def4c47SEmmanuel Vadot---
45def4c47SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sc7280-pinctrl.yaml#
55def4c47SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65def4c47SEmmanuel Vadot
75def4c47SEmmanuel Vadottitle: Qualcomm Technologies, Inc. SC7280 TLMM block
85def4c47SEmmanuel Vadot
95def4c47SEmmanuel Vadotmaintainers:
10b97ee269SEmmanuel Vadot  - Bjorn Andersson <andersson@kernel.org>
115def4c47SEmmanuel Vadot
128bab661aSEmmanuel Vadotdescription:
138bab661aSEmmanuel Vadot  Top Level Mode Multiplexer pin controller in Qualcomm SC7280 SoC.
145def4c47SEmmanuel Vadot
155def4c47SEmmanuel Vadotproperties:
165def4c47SEmmanuel Vadot  compatible:
175def4c47SEmmanuel Vadot    const: qcom,sc7280-pinctrl
185def4c47SEmmanuel Vadot
195def4c47SEmmanuel Vadot  reg:
205def4c47SEmmanuel Vadot    maxItems: 1
215def4c47SEmmanuel Vadot
225def4c47SEmmanuel Vadot  interrupts:
235def4c47SEmmanuel Vadot    description: Specifies the TLMM summary IRQ
245def4c47SEmmanuel Vadot    maxItems: 1
255def4c47SEmmanuel Vadot
2684943d6fSEmmanuel Vadot  gpio-reserved-ranges:
2784943d6fSEmmanuel Vadot    minItems: 1
2884943d6fSEmmanuel Vadot    maxItems: 88
2984943d6fSEmmanuel Vadot
307ef62cebSEmmanuel Vadot  gpio-line-names:
318bab661aSEmmanuel Vadot    maxItems: 175
327ef62cebSEmmanuel Vadot
335def4c47SEmmanuel VadotpatternProperties:
348bab661aSEmmanuel Vadot  "-state$":
358bab661aSEmmanuel Vadot    oneOf:
368bab661aSEmmanuel Vadot      - $ref: "#/$defs/qcom-sc7280-tlmm-state"
378bab661aSEmmanuel Vadot      - patternProperties:
388bab661aSEmmanuel Vadot          "-pins$":
398bab661aSEmmanuel Vadot            $ref: "#/$defs/qcom-sc7280-tlmm-state"
408bab661aSEmmanuel Vadot        additionalProperties: false
418bab661aSEmmanuel Vadot
428bab661aSEmmanuel Vadot$defs:
438bab661aSEmmanuel Vadot  qcom-sc7280-tlmm-state:
445def4c47SEmmanuel Vadot    type: object
455def4c47SEmmanuel Vadot    description:
465def4c47SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
475def4c47SEmmanuel Vadot      Client device subnodes use below standard properties.
488bab661aSEmmanuel Vadot    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
49fac71e4eSEmmanuel Vadot    unevaluatedProperties: false
505def4c47SEmmanuel Vadot
515def4c47SEmmanuel Vadot    properties:
525def4c47SEmmanuel Vadot      pins:
535def4c47SEmmanuel Vadot        description:
545def4c47SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
555def4c47SEmmanuel Vadot          subnode.
565def4c47SEmmanuel Vadot        items:
575def4c47SEmmanuel Vadot          oneOf:
588bab661aSEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-6][0-9]|17[0-4])$"
595def4c47SEmmanuel Vadot            - enum: [ sdc1_rclk, sdc1_clk, sdc1_cmd, sdc1_data, sdc2_clk,
605def4c47SEmmanuel Vadot                      sdc2_cmd, sdc2_data, ufs_reset ]
615def4c47SEmmanuel Vadot        minItems: 1
625def4c47SEmmanuel Vadot        maxItems: 16
635def4c47SEmmanuel Vadot
645def4c47SEmmanuel Vadot      function:
655def4c47SEmmanuel Vadot        description:
665def4c47SEmmanuel Vadot          Specify the alternative function to be configured for the specified
675def4c47SEmmanuel Vadot          pins.
685def4c47SEmmanuel Vadot
695def4c47SEmmanuel Vadot        enum: [ atest_char, atest_char0, atest_char1, atest_char2,
705def4c47SEmmanuel Vadot                atest_char3, atest_usb0, atest_usb00, atest_usb01,
715def4c47SEmmanuel Vadot                atest_usb02, atest_usb03, atest_usb1, atest_usb10,
725def4c47SEmmanuel Vadot                atest_usb11, atest_usb12, atest_usb13, audio_ref,
735def4c47SEmmanuel Vadot                cam_mclk, cci_async, cci_i2c, cci_timer0, cci_timer1,
745def4c47SEmmanuel Vadot                cci_timer2, cci_timer3, cci_timer4, cmu_rng0, cmu_rng1,
755def4c47SEmmanuel Vadot                cmu_rng2, cmu_rng3, coex_uart1, cri_trng, cri_trng0,
765def4c47SEmmanuel Vadot                cri_trng1, dbg_out, ddr_bist, ddr_pxi0, ddr_pxi1, dp_hot,
775def4c47SEmmanuel Vadot                dp_lcd, edp_hot, edp_lcd, gcc_gp1, gcc_gp2, gcc_gp3,
785def4c47SEmmanuel Vadot                gpio, host2wlan_sol, ibi_i3c, jitter_bist, lpass_slimbus,
795def4c47SEmmanuel Vadot                mdp_vsync, mdp_vsync0, mdp_vsync1, mdp_vsync2, mdp_vsync3,
805def4c47SEmmanuel Vadot                mdp_vsync4, mdp_vsync5, mi2s0_data0, mi2s0_data1, mi2s0_sck,
815def4c47SEmmanuel Vadot                mi2s0_ws, mi2s1_data0, mi2s1_data1, mi2s1_sck, mi2s1_ws,
825def4c47SEmmanuel Vadot                mi2s2_data0, mi2s2_data1, mi2s2_sck, mi2s2_ws, mss_grfc0,
835def4c47SEmmanuel Vadot                mss_grfc1, mss_grfc10, mss_grfc11, mss_grfc12, mss_grfc2,
845def4c47SEmmanuel Vadot                mss_grfc3, mss_grfc4, mss_grfc5, mss_grfc6, mss_grfc7,
855def4c47SEmmanuel Vadot                mss_grfc8, mss_grfc9, nav_gpio0, nav_gpio1, nav_gpio2,
865def4c47SEmmanuel Vadot                pa_indicator, pcie0_clkreqn, pcie1_clkreqn, phase_flag,
875def4c47SEmmanuel Vadot                pll_bist, pll_bypassnl, pll_clk, pll_reset, pri_mi2s, prng_rosc,
885def4c47SEmmanuel Vadot                qdss, qdss_cti, qlink0_enable, qlink0_request, qlink0_wmss,
895def4c47SEmmanuel Vadot                qlink1_enable, qlink1_request, qlink1_wmss, qspi_clk, qspi_cs,
905def4c47SEmmanuel Vadot                qspi_data, qup00, qup01, qup02, qup03, qup04, qup05, qup06, qup07,
915def4c47SEmmanuel Vadot                qup10, qup11, qup12, qup13, qup14, qup15, qup16, qup17,
925def4c47SEmmanuel Vadot                sdc40, sdc41, sdc42, sdc43, sdc4_clk, sdc4_cmd, sd_write,
935def4c47SEmmanuel Vadot                sec_mi2s, tb_trig, tgu_ch0, tgu_ch1, tsense_pwm1,
945def4c47SEmmanuel Vadot                tsense_pwm2, uim0_clk, uim0_data, uim0_present, uim0_reset,
955def4c47SEmmanuel Vadot                uim1_clk, uim1_data, uim1_present, uim1_reset, usb2phy_ac,
965def4c47SEmmanuel Vadot                usb_phy, vfr_0, vfr_1, vsense_trigger ]
975def4c47SEmmanuel Vadot
985def4c47SEmmanuel Vadot    required:
995def4c47SEmmanuel Vadot      - pins
1007ef62cebSEmmanuel Vadot
101e67e8565SEmmanuel VadotallOf:
1027ef62cebSEmmanuel Vadot  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
103e67e8565SEmmanuel Vadot
1045def4c47SEmmanuel Vadotrequired:
1055def4c47SEmmanuel Vadot  - compatible
1065def4c47SEmmanuel Vadot  - reg
1075def4c47SEmmanuel Vadot
108*8d13bc63SEmmanuel VadotunevaluatedProperties: false
1095def4c47SEmmanuel Vadot
1105def4c47SEmmanuel Vadotexamples:
1115def4c47SEmmanuel Vadot  - |
1125def4c47SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1135def4c47SEmmanuel Vadot    tlmm: pinctrl@f000000 {
1145def4c47SEmmanuel Vadot        compatible = "qcom,sc7280-pinctrl";
1155def4c47SEmmanuel Vadot        reg = <0xf000000 0x1000000>;
1165def4c47SEmmanuel Vadot        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
1175def4c47SEmmanuel Vadot        gpio-controller;
1185def4c47SEmmanuel Vadot        #gpio-cells = <2>;
1195def4c47SEmmanuel Vadot        interrupt-controller;
1205def4c47SEmmanuel Vadot        #interrupt-cells = <2>;
1215def4c47SEmmanuel Vadot        gpio-ranges = <&tlmm 0 0 175>;
1225def4c47SEmmanuel Vadot        wakeup-parent = <&pdc>;
1235def4c47SEmmanuel Vadot
1248bab661aSEmmanuel Vadot        qup_uart5_default: qup-uart5-state {
1255def4c47SEmmanuel Vadot            pins = "gpio46", "gpio47";
1265def4c47SEmmanuel Vadot            function = "qup13";
1275def4c47SEmmanuel Vadot            drive-strength = <2>;
1285def4c47SEmmanuel Vadot            bias-disable;
1295def4c47SEmmanuel Vadot        };
1305def4c47SEmmanuel Vadot    };
131