xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,qdu1000-tlmm.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1cb7aa33aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2cb7aa33aSEmmanuel Vadot%YAML 1.2
3cb7aa33aSEmmanuel Vadot---
4cb7aa33aSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,qdu1000-tlmm.yaml#
5cb7aa33aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6cb7aa33aSEmmanuel Vadot
7cb7aa33aSEmmanuel Vadottitle: Qualcomm Technologies, Inc. QDU1000/QRU1000 TLMM block
8cb7aa33aSEmmanuel Vadot
9cb7aa33aSEmmanuel Vadotmaintainers:
10cb7aa33aSEmmanuel Vadot  - Melody Olvera <quic_molvera@quicinc.com>
11cb7aa33aSEmmanuel Vadot
12cb7aa33aSEmmanuel Vadotdescription: |
13cb7aa33aSEmmanuel Vadot  Top Level Mode Multiplexer pin controller found in the QDU1000 and
14cb7aa33aSEmmanuel Vadot  QRU1000 SoCs.
15cb7aa33aSEmmanuel Vadot
16cb7aa33aSEmmanuel VadotallOf:
17cb7aa33aSEmmanuel Vadot  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
18cb7aa33aSEmmanuel Vadot
19cb7aa33aSEmmanuel Vadotproperties:
20cb7aa33aSEmmanuel Vadot  compatible:
21cb7aa33aSEmmanuel Vadot    const: qcom,qdu1000-tlmm
22cb7aa33aSEmmanuel Vadot
23cb7aa33aSEmmanuel Vadot  reg:
24cb7aa33aSEmmanuel Vadot    maxItems: 1
25cb7aa33aSEmmanuel Vadot
26*8d13bc63SEmmanuel Vadot  interrupts:
27*8d13bc63SEmmanuel Vadot    maxItems: 1
28cb7aa33aSEmmanuel Vadot
29cb7aa33aSEmmanuel Vadot  gpio-reserved-ranges:
30cb7aa33aSEmmanuel Vadot    minItems: 1
31cb7aa33aSEmmanuel Vadot    maxItems: 76
32cb7aa33aSEmmanuel Vadot
33cb7aa33aSEmmanuel Vadot  gpio-line-names:
34cb7aa33aSEmmanuel Vadot    maxItems: 151
35cb7aa33aSEmmanuel Vadot
36cb7aa33aSEmmanuel VadotpatternProperties:
37cb7aa33aSEmmanuel Vadot  "-state$":
38cb7aa33aSEmmanuel Vadot    oneOf:
39cb7aa33aSEmmanuel Vadot      - $ref: "#/$defs/qcom-qdu1000-tlmm-state"
40cb7aa33aSEmmanuel Vadot      - patternProperties:
41cb7aa33aSEmmanuel Vadot          "-pins$":
42cb7aa33aSEmmanuel Vadot            $ref: "#/$defs/qcom-qdu1000-tlmm-state"
43cb7aa33aSEmmanuel Vadot        additionalProperties: false
44cb7aa33aSEmmanuel Vadot
45cb7aa33aSEmmanuel Vadot$defs:
46cb7aa33aSEmmanuel Vadot  qcom-qdu1000-tlmm-state:
47cb7aa33aSEmmanuel Vadot    type: object
48cb7aa33aSEmmanuel Vadot    description:
49cb7aa33aSEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
50cb7aa33aSEmmanuel Vadot      Client device subnodes use below standard properties.
51cb7aa33aSEmmanuel Vadot    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
52fac71e4eSEmmanuel Vadot    unevaluatedProperties: false
53cb7aa33aSEmmanuel Vadot
54cb7aa33aSEmmanuel Vadot    properties:
55cb7aa33aSEmmanuel Vadot      pins:
56cb7aa33aSEmmanuel Vadot        description:
57cb7aa33aSEmmanuel Vadot          List of gpio pins affected by the properties specified in this
58cb7aa33aSEmmanuel Vadot          subnode.
59cb7aa33aSEmmanuel Vadot        items:
60cb7aa33aSEmmanuel Vadot          oneOf:
61cb7aa33aSEmmanuel Vadot            - pattern: "^gpio([0-9]|[1-9][0-9]|1[0-4][0-9]|150)$"
62cb7aa33aSEmmanuel Vadot            - enum: [ sdc1_rclk, sdc1_clk, sdc1_cmd, sdc1_data ]
63cb7aa33aSEmmanuel Vadot        minItems: 1
64cb7aa33aSEmmanuel Vadot        maxItems: 36
65cb7aa33aSEmmanuel Vadot
66cb7aa33aSEmmanuel Vadot      function:
67cb7aa33aSEmmanuel Vadot        description:
68cb7aa33aSEmmanuel Vadot          Specify the alternative function to be configured for the specified
69cb7aa33aSEmmanuel Vadot          pins.
70cb7aa33aSEmmanuel Vadot        enum: [ atest_char, atest_usb, char_exec, CMO_PRI, cmu_rng,
71cb7aa33aSEmmanuel Vadot                dbg_out_clk, ddr_bist, ddr_pxi1, ddr_pxi2, ddr_pxi3, ddr_pxi4,
72cb7aa33aSEmmanuel Vadot                ddr_pxi5, ddr_pxi6, ddr_pxi7, eth012_int_n, eth345_int_n,
73cb7aa33aSEmmanuel Vadot                gcc_gp1, gcc_gp2, gcc_gp3, gpio, gps_pps_in, hardsync_pps_in,
74cb7aa33aSEmmanuel Vadot                intr_c, jitter_bist_ref, pcie_clkreqn, phase_flag, pll_bist,
75cb7aa33aSEmmanuel Vadot                pll_clk, prng_rosc, qdss_cti, qdss_gpio, qlink0_enable,
76cb7aa33aSEmmanuel Vadot                qlink0_request, qlink0_wmss, qlink1_enable, qlink1_request,
77cb7aa33aSEmmanuel Vadot                qlink1_wmss, qlink2_enable, qlink2_request, qlink2_wmss,
78cb7aa33aSEmmanuel Vadot                qlink3_enable, qlink3_request, qlink3_wmss, qlink4_enable,
79cb7aa33aSEmmanuel Vadot                qlink4_request, qlink4_wmss, qlink5_enable, qlink5_request,
80cb7aa33aSEmmanuel Vadot                qlink5_wmss, qlink6_enable, qlink6_request, qlink6_wmss,
81cb7aa33aSEmmanuel Vadot                qlink7_enable, qlink7_request, qlink7_wmss, qspi_clk, qspi_cs,
82cb7aa33aSEmmanuel Vadot                qspi0, qspi1, qspi2, qspi3, qup00, qup01, qup02, qup03, qup04,
83cb7aa33aSEmmanuel Vadot                qup05, qup06, qup07, qup08, qup10, qup11, qup12, qup13, qup14,
84cb7aa33aSEmmanuel Vadot                qup15, qup16, qup17, qup20, qup21, qup22, SI5518_INT, smb_alert,
85cb7aa33aSEmmanuel Vadot                smb_clk, smb_dat, tb_trig, tgu_ch0, tgu_ch1, tgu_ch2, tgu_ch3,
86cb7aa33aSEmmanuel Vadot                tgu_ch4, tgu_ch5, tgu_ch6, tgu_ch7, tmess_prng0, tmess_prng1,
87cb7aa33aSEmmanuel Vadot                tmess_prng2, tmess_prng3, tod_pps_in, tsense_pwm1, tsense_pwm2,
88cb7aa33aSEmmanuel Vadot                usb2phy_ac, usb_con_det, usb_dfp_en, usb_phy, vfr_0, vfr_1,
89cb7aa33aSEmmanuel Vadot                vsense_trigger ]
90cb7aa33aSEmmanuel Vadot
91cb7aa33aSEmmanuel Vadot    required:
92cb7aa33aSEmmanuel Vadot      - pins
93cb7aa33aSEmmanuel Vadot
94cb7aa33aSEmmanuel Vadotrequired:
95cb7aa33aSEmmanuel Vadot  - compatible
96cb7aa33aSEmmanuel Vadot  - reg
97cb7aa33aSEmmanuel Vadot
98*8d13bc63SEmmanuel VadotunevaluatedProperties: false
99cb7aa33aSEmmanuel Vadot
100cb7aa33aSEmmanuel Vadotexamples:
101cb7aa33aSEmmanuel Vadot  - |
102cb7aa33aSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
103cb7aa33aSEmmanuel Vadot
104cb7aa33aSEmmanuel Vadot    pinctrl@f000000 {
105cb7aa33aSEmmanuel Vadot        compatible = "qcom,qdu1000-tlmm";
106cb7aa33aSEmmanuel Vadot        reg = <0xf000000 0x1000000>;
107cb7aa33aSEmmanuel Vadot        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
108cb7aa33aSEmmanuel Vadot        gpio-controller;
109cb7aa33aSEmmanuel Vadot        #gpio-cells = <2>;
110cb7aa33aSEmmanuel Vadot        interrupt-controller;
111cb7aa33aSEmmanuel Vadot        #interrupt-cells = <2>;
112cb7aa33aSEmmanuel Vadot        gpio-ranges = <&tlmm 0 0 151>;
113cb7aa33aSEmmanuel Vadot        wakeup-parent = <&pdc>;
114cb7aa33aSEmmanuel Vadot
115cb7aa33aSEmmanuel Vadot        uart0-default-state {
116cb7aa33aSEmmanuel Vadot            pins = "gpio6", "gpio7", "gpio8", "gpio9";
117cb7aa33aSEmmanuel Vadot            function = "qup00";
118cb7aa33aSEmmanuel Vadot        };
119cb7aa33aSEmmanuel Vadot    };
120