xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,ipq9574-tlmm.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2fac71e4eSEmmanuel Vadot%YAML 1.2
3fac71e4eSEmmanuel Vadot---
4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,ipq9574-tlmm.yaml#
5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6fac71e4eSEmmanuel Vadot
7fac71e4eSEmmanuel Vadottitle: Qualcomm Technologies, Inc. IPQ9574 TLMM block
8fac71e4eSEmmanuel Vadot
9fac71e4eSEmmanuel Vadotmaintainers:
10fac71e4eSEmmanuel Vadot  - Bjorn Andersson <andersson@kernel.org>
11fac71e4eSEmmanuel Vadot  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
12fac71e4eSEmmanuel Vadot
13fac71e4eSEmmanuel Vadotdescription:
14fac71e4eSEmmanuel Vadot  Top Level Mode Multiplexer pin controller in Qualcomm IPQ9574 SoC.
15fac71e4eSEmmanuel Vadot
16fac71e4eSEmmanuel Vadotproperties:
17fac71e4eSEmmanuel Vadot  compatible:
18fac71e4eSEmmanuel Vadot    const: qcom,ipq9574-tlmm
19fac71e4eSEmmanuel Vadot
20fac71e4eSEmmanuel Vadot  reg:
21fac71e4eSEmmanuel Vadot    maxItems: 1
22fac71e4eSEmmanuel Vadot
23fac71e4eSEmmanuel Vadot  interrupts:
24fac71e4eSEmmanuel Vadot    maxItems: 1
25fac71e4eSEmmanuel Vadot
26fac71e4eSEmmanuel Vadot  gpio-reserved-ranges:
27fac71e4eSEmmanuel Vadot    minItems: 1
28fac71e4eSEmmanuel Vadot    maxItems: 33
29fac71e4eSEmmanuel Vadot
30fac71e4eSEmmanuel Vadot  gpio-line-names:
31fac71e4eSEmmanuel Vadot    maxItems: 65
32fac71e4eSEmmanuel Vadot
33fac71e4eSEmmanuel VadotpatternProperties:
34fac71e4eSEmmanuel Vadot  "-state$":
35fac71e4eSEmmanuel Vadot    oneOf:
36fac71e4eSEmmanuel Vadot      - $ref: "#/$defs/qcom-ipq9574-tlmm-state"
37fac71e4eSEmmanuel Vadot      - patternProperties:
38fac71e4eSEmmanuel Vadot          "-pins$":
39fac71e4eSEmmanuel Vadot            $ref: "#/$defs/qcom-ipq9574-tlmm-state"
40fac71e4eSEmmanuel Vadot        additionalProperties: false
41fac71e4eSEmmanuel Vadot
42fac71e4eSEmmanuel Vadot$defs:
43fac71e4eSEmmanuel Vadot  qcom-ipq9574-tlmm-state:
44fac71e4eSEmmanuel Vadot    type: object
45fac71e4eSEmmanuel Vadot    description:
46fac71e4eSEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
47fac71e4eSEmmanuel Vadot      Client device subnodes use below standard properties.
48fac71e4eSEmmanuel Vadot    $ref: qcom,tlmm-common.yaml#/$defs/qcom-tlmm-state
49f126890aSEmmanuel Vadot    unevaluatedProperties: false
50fac71e4eSEmmanuel Vadot
51fac71e4eSEmmanuel Vadot    properties:
52fac71e4eSEmmanuel Vadot      pins:
53fac71e4eSEmmanuel Vadot        description:
54fac71e4eSEmmanuel Vadot          List of gpio pins affected by the properties specified in this
55fac71e4eSEmmanuel Vadot          subnode.
56fac71e4eSEmmanuel Vadot        items:
57fac71e4eSEmmanuel Vadot          pattern: "^gpio([0-9]|[1-5][0-9]|6[0-4])$"
58fac71e4eSEmmanuel Vadot        minItems: 1
59fac71e4eSEmmanuel Vadot        maxItems: 8
60fac71e4eSEmmanuel Vadot
61fac71e4eSEmmanuel Vadot      function:
62fac71e4eSEmmanuel Vadot        description:
63fac71e4eSEmmanuel Vadot          Specify the alternative function to be configured for the specified
64fac71e4eSEmmanuel Vadot          pins.
65fac71e4eSEmmanuel Vadot
66fac71e4eSEmmanuel Vadot        enum: [ atest_char, atest_char0, atest_char1, atest_char2, atest_char3,
67fac71e4eSEmmanuel Vadot                audio_pdm0, audio_pdm1, audio_pri, audio_sec, blsp0_spi, blsp0_uart,
68fac71e4eSEmmanuel Vadot                blsp1_i2c, blsp1_spi, blsp1_uart, blsp2_i2c, blsp2_spi,
69fac71e4eSEmmanuel Vadot                blsp2_uart, blsp3_i2c, blsp3_spi, blsp3_uart, blsp4_i2c,
70fac71e4eSEmmanuel Vadot                blsp4_spi, blsp4_uart, blsp5_i2c, blsp5_uart, cri_trng0,
71fac71e4eSEmmanuel Vadot                cri_trng1, cri_trng2, cri_trng3, cxc0, cxc1, dbg_out, dwc_ddrphy,
72fac71e4eSEmmanuel Vadot                gcc_plltest, gcc_tlmm, gpio, mac, mdc, mdio, pcie0_clk, pcie0_wake,
73fac71e4eSEmmanuel Vadot                pcie1_clk, pcie1_wake, pcie2_clk, pcie2_wake, pcie3_clk, pcie3_wake,
74fac71e4eSEmmanuel Vadot                prng_rosc0, prng_rosc1, prng_rosc2, prng_rosc3, pta, pwm,
75fac71e4eSEmmanuel Vadot                qdss_cti_trig_in_a0, qdss_cti_trig_in_a1, qdss_cti_trig_in_b0,
76fac71e4eSEmmanuel Vadot                qdss_cti_trig_in_b1, qdss_cti_trig_out_a0, qdss_cti_trig_out_a1,
77fac71e4eSEmmanuel Vadot                qdss_cti_trig_out_b0, qdss_cti_trig_out_b1, qdss_traceclk_a,
78fac71e4eSEmmanuel Vadot                qdss_traceclk_b, qdss_tracectl_a, qdss_tracectl_b, qdss_tracedata_a,
79fac71e4eSEmmanuel Vadot                qdss_tracedata_b, qspi_clk, qspi_cs, qspi_data,
80fac71e4eSEmmanuel Vadot                rx0, rx1, sdc_clk, sdc_cmd, sdc_data, sdc_rclk, tsens_max,
81fac71e4eSEmmanuel Vadot                wci20, wci21, wsa_swrm ]
82fac71e4eSEmmanuel Vadot
83fac71e4eSEmmanuel Vadot    required:
84fac71e4eSEmmanuel Vadot      - pins
85fac71e4eSEmmanuel Vadot
86fac71e4eSEmmanuel VadotallOf:
87fac71e4eSEmmanuel Vadot  - $ref: /schemas/pinctrl/qcom,tlmm-common.yaml#
88fac71e4eSEmmanuel Vadot
89fac71e4eSEmmanuel Vadotrequired:
90fac71e4eSEmmanuel Vadot  - compatible
91fac71e4eSEmmanuel Vadot  - reg
92fac71e4eSEmmanuel Vadot
93*8d13bc63SEmmanuel VadotunevaluatedProperties: false
94fac71e4eSEmmanuel Vadot
95fac71e4eSEmmanuel Vadotexamples:
96fac71e4eSEmmanuel Vadot  - |
97fac71e4eSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
98fac71e4eSEmmanuel Vadot    tlmm: pinctrl@1000000 {
99fac71e4eSEmmanuel Vadot        compatible = "qcom,ipq9574-tlmm";
100fac71e4eSEmmanuel Vadot        reg = <0x01000000 0x300000>;
101fac71e4eSEmmanuel Vadot        interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
102fac71e4eSEmmanuel Vadot        gpio-controller;
103fac71e4eSEmmanuel Vadot        #gpio-cells = <2>;
104fac71e4eSEmmanuel Vadot        interrupt-controller;
105fac71e4eSEmmanuel Vadot        #interrupt-cells = <2>;
106fac71e4eSEmmanuel Vadot        gpio-ranges = <&tlmm 0 0 65>;
107fac71e4eSEmmanuel Vadot
108fac71e4eSEmmanuel Vadot        uart2-state {
109fac71e4eSEmmanuel Vadot            pins = "gpio34", "gpio35";
110fac71e4eSEmmanuel Vadot            function = "blsp2_uart";
111fac71e4eSEmmanuel Vadot            drive-strength = <8>;
112fac71e4eSEmmanuel Vadot            bias-pull-down;
113fac71e4eSEmmanuel Vadot        };
114fac71e4eSEmmanuel Vadot    };
115