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