xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,ipq9650-tlmm.yaml (revision 53c7db5c1916afcecc8683ae01ff8415c708a883)
1*58631a03SKathiravan Thirumoorthy# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*58631a03SKathiravan Thirumoorthy%YAML 1.2
3*58631a03SKathiravan Thirumoorthy---
4*58631a03SKathiravan Thirumoorthy$id: http://devicetree.org/schemas/pinctrl/qcom,ipq9650-tlmm.yaml#
5*58631a03SKathiravan Thirumoorthy$schema: http://devicetree.org/meta-schemas/core.yaml#
6*58631a03SKathiravan Thirumoorthy
7*58631a03SKathiravan Thirumoorthytitle: Qualcomm IPQ9650 TLMM pin controller
8*58631a03SKathiravan Thirumoorthy
9*58631a03SKathiravan Thirumoorthymaintainers:
10*58631a03SKathiravan Thirumoorthy  - Bjorn Andersson <andersson@kernel.org>
11*58631a03SKathiravan Thirumoorthy  - Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
12*58631a03SKathiravan Thirumoorthy
13*58631a03SKathiravan Thirumoorthydescription:
14*58631a03SKathiravan Thirumoorthy  Top Level Mode Multiplexer pin controller in Qualcomm IPQ9650 SoC.
15*58631a03SKathiravan Thirumoorthy
16*58631a03SKathiravan ThirumoorthyallOf:
17*58631a03SKathiravan Thirumoorthy  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
18*58631a03SKathiravan Thirumoorthy
19*58631a03SKathiravan Thirumoorthyproperties:
20*58631a03SKathiravan Thirumoorthy  compatible:
21*58631a03SKathiravan Thirumoorthy    const: qcom,ipq9650-tlmm
22*58631a03SKathiravan Thirumoorthy
23*58631a03SKathiravan Thirumoorthy  reg:
24*58631a03SKathiravan Thirumoorthy    maxItems: 1
25*58631a03SKathiravan Thirumoorthy
26*58631a03SKathiravan Thirumoorthy  interrupts:
27*58631a03SKathiravan Thirumoorthy    maxItems: 1
28*58631a03SKathiravan Thirumoorthy
29*58631a03SKathiravan Thirumoorthy  gpio-reserved-ranges:
30*58631a03SKathiravan Thirumoorthy    minItems: 1
31*58631a03SKathiravan Thirumoorthy    maxItems: 27
32*58631a03SKathiravan Thirumoorthy
33*58631a03SKathiravan Thirumoorthy  gpio-line-names:
34*58631a03SKathiravan Thirumoorthy    maxItems: 54
35*58631a03SKathiravan Thirumoorthy
36*58631a03SKathiravan ThirumoorthypatternProperties:
37*58631a03SKathiravan Thirumoorthy  "-state$":
38*58631a03SKathiravan Thirumoorthy    oneOf:
39*58631a03SKathiravan Thirumoorthy      - $ref: "#/$defs/qcom-ipq9650-tlmm-state"
40*58631a03SKathiravan Thirumoorthy      - patternProperties:
41*58631a03SKathiravan Thirumoorthy          "-pins$":
42*58631a03SKathiravan Thirumoorthy            $ref: "#/$defs/qcom-ipq9650-tlmm-state"
43*58631a03SKathiravan Thirumoorthy        additionalProperties: false
44*58631a03SKathiravan Thirumoorthy
45*58631a03SKathiravan Thirumoorthy$defs:
46*58631a03SKathiravan Thirumoorthy  qcom-ipq9650-tlmm-state:
47*58631a03SKathiravan Thirumoorthy    type: object
48*58631a03SKathiravan Thirumoorthy    description:
49*58631a03SKathiravan Thirumoorthy      Pinctrl node's client devices use subnodes for desired pin configuration.
50*58631a03SKathiravan Thirumoorthy      Client device subnodes use below standard properties.
51*58631a03SKathiravan Thirumoorthy    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
52*58631a03SKathiravan Thirumoorthy    unevaluatedProperties: false
53*58631a03SKathiravan Thirumoorthy
54*58631a03SKathiravan Thirumoorthy    properties:
55*58631a03SKathiravan Thirumoorthy      pins:
56*58631a03SKathiravan Thirumoorthy        description:
57*58631a03SKathiravan Thirumoorthy          List of gpio pins affected by the properties specified in this
58*58631a03SKathiravan Thirumoorthy          subnode.
59*58631a03SKathiravan Thirumoorthy        items:
60*58631a03SKathiravan Thirumoorthy          pattern: "^gpio([0-9]|[1-4][0-9]|5[0-3])$"
61*58631a03SKathiravan Thirumoorthy        minItems: 1
62*58631a03SKathiravan Thirumoorthy        maxItems: 36
63*58631a03SKathiravan Thirumoorthy
64*58631a03SKathiravan Thirumoorthy      function:
65*58631a03SKathiravan Thirumoorthy        description:
66*58631a03SKathiravan Thirumoorthy          Specify the alternative function to be configured for the specified
67*58631a03SKathiravan Thirumoorthy          pins.
68*58631a03SKathiravan Thirumoorthy
69*58631a03SKathiravan Thirumoorthy        enum: [ atest_char_start, atest_char_status0, atest_char_status1,
70*58631a03SKathiravan Thirumoorthy                atest_char_status2, atest_char_status3, atest_tic_en,
71*58631a03SKathiravan Thirumoorthy                audio_pri_mclk_in0, audio_pri_mclk_out0, audio_pri_mclk_in1,
72*58631a03SKathiravan Thirumoorthy                audio_pri_mclk_out1, audio_pri, audio_sec, audio_sec_mclk_in0,
73*58631a03SKathiravan Thirumoorthy                audio_sec_mclk_out0, audio_sec_mclk_in1, audio_sec_mclk_out1,
74*58631a03SKathiravan Thirumoorthy                core_voltage_0, core_voltage_1, core_voltage_2, core_voltage_3,
75*58631a03SKathiravan Thirumoorthy                core_voltage_4, cri_rng0, cri_rng1, cri_rng2, dbg_out_clk,
76*58631a03SKathiravan Thirumoorthy                gcc_plltest_bypassnl, gcc_plltest_resetn, gcc_tlmm, gpio,
77*58631a03SKathiravan Thirumoorthy                mdc_mst, mdc_slv0, mdc_slv1, mdio_mst, mdio_slv, mdio_slv0,
78*58631a03SKathiravan Thirumoorthy                mdio_slv1, pcie0_clk_req_n, pcie0_wake, pcie1_clk_req_n,
79*58631a03SKathiravan Thirumoorthy                pcie1_wake, pcie2_clk_req_n, pcie2_wake, pcie3_clk_req_n,
80*58631a03SKathiravan Thirumoorthy                pcie3_wake, pcie4_clk_req_n, pcie4_wake, pll_bist_sync,
81*58631a03SKathiravan Thirumoorthy                pll_test, pwm, qdss_cti_trig_in_a0, qdss_cti_trig_in_a1,
82*58631a03SKathiravan Thirumoorthy                qdss_cti_trig_in_b0, qdss_cti_trig_in_b1, qdss_cti_trig_out_a0,
83*58631a03SKathiravan Thirumoorthy                qdss_cti_trig_out_a1, qdss_cti_trig_out_b0, qdss_cti_trig_out_b1,
84*58631a03SKathiravan Thirumoorthy                qdss_traceclk_a, qdss_tracectl_a, qdss_tracedata_a, qspi_data,
85*58631a03SKathiravan Thirumoorthy                qspi_clk, qspi_cs_n, qup_se0, qup_se1, qup_se2, qup_se3,
86*58631a03SKathiravan Thirumoorthy                qup_se4, qup_se5, qup_se6, qup_se7, resout, rx_los0, rx_los1,
87*58631a03SKathiravan Thirumoorthy                rx_los2, sdc_clk, sdc_cmd, sdc_data, tsens_max, tsn ]
88*58631a03SKathiravan Thirumoorthy
89*58631a03SKathiravan Thirumoorthy    required:
90*58631a03SKathiravan Thirumoorthy      - pins
91*58631a03SKathiravan Thirumoorthy
92*58631a03SKathiravan Thirumoorthyrequired:
93*58631a03SKathiravan Thirumoorthy  - compatible
94*58631a03SKathiravan Thirumoorthy  - reg
95*58631a03SKathiravan Thirumoorthy
96*58631a03SKathiravan ThirumoorthyunevaluatedProperties: false
97*58631a03SKathiravan Thirumoorthy
98*58631a03SKathiravan Thirumoorthyexamples:
99*58631a03SKathiravan Thirumoorthy  - |
100*58631a03SKathiravan Thirumoorthy    #include <dt-bindings/interrupt-controller/arm-gic.h>
101*58631a03SKathiravan Thirumoorthy
102*58631a03SKathiravan Thirumoorthy    tlmm: pinctrl@1000000 {
103*58631a03SKathiravan Thirumoorthy        compatible = "qcom,ipq9650-tlmm";
104*58631a03SKathiravan Thirumoorthy        reg = <0x01000000 0x300000>;
105*58631a03SKathiravan Thirumoorthy        gpio-controller;
106*58631a03SKathiravan Thirumoorthy        #gpio-cells = <2>;
107*58631a03SKathiravan Thirumoorthy        gpio-ranges = <&tlmm 0 0 54>;
108*58631a03SKathiravan Thirumoorthy        interrupts = <GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>;
109*58631a03SKathiravan Thirumoorthy        interrupt-controller;
110*58631a03SKathiravan Thirumoorthy        #interrupt-cells = <2>;
111*58631a03SKathiravan Thirumoorthy
112*58631a03SKathiravan Thirumoorthy        qup-uart1-default-state {
113*58631a03SKathiravan Thirumoorthy            pins = "gpio43", "gpio44";
114*58631a03SKathiravan Thirumoorthy            function = "qup_se6";
115*58631a03SKathiravan Thirumoorthy            drive-strength = <8>;
116*58631a03SKathiravan Thirumoorthy            bias-pull-down;
117*58631a03SKathiravan Thirumoorthy        };
118*58631a03SKathiravan Thirumoorthy    };
119