xref: /linux/Documentation/devicetree/bindings/pinctrl/qcom,sdm670-lpass-lpi-pinctrl.yaml (revision 0fc8f6200d2313278fbf4539bbab74677c685531)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/pinctrl/qcom,sdm670-lpass-lpi-pinctrl.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm SDM670 SoC LPASS LPI TLMM
8
9maintainers:
10  - Richard Acayan <mailingradian@gmail.com>
11
12description:
13  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
14  (LPASS) Low Power Island (LPI) of Qualcomm SDM670 SoC.
15
16properties:
17  compatible:
18    const: qcom,sdm670-lpass-lpi-pinctrl
19
20  reg:
21    items:
22      - description: LPASS LPI TLMM Control and Status registers
23
24patternProperties:
25  "-state$":
26    oneOf:
27      - $ref: "#/$defs/qcom-sdm670-lpass-state"
28      - patternProperties:
29          "-pins$":
30            $ref: "#/$defs/qcom-sdm670-lpass-state"
31        additionalProperties: false
32
33$defs:
34  qcom-sdm670-lpass-state:
35    type: object
36    description:
37      Pinctrl node's client devices use subnodes for desired pin configuration.
38      Client device subnodes use below standard properties.
39    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
40    unevaluatedProperties: false
41
42    properties:
43      pins:
44        description:
45          List of gpio pins affected by the properties specified in this
46          subnode.
47        items:
48          pattern: "^gpio([0-9]|1[0-9]|2[0-9]|3[0-1])$"
49
50      function:
51        enum: [ gpio, comp_rx, dmic1_clk, dmic1_data, dmic2_clk, dmic2_data,
52                i2s1_clk, i2s_data, i2s_ws, lpi_cdc_rst, mclk0, pdm_rx,
53                pdm_sync, pdm_tx, slimbus_clk ]
54        description:
55          Specify the alternative function to be configured for the specified
56          pins.
57
58allOf:
59  - $ref: qcom,lpass-lpi-common.yaml#
60
61required:
62  - compatible
63  - reg
64
65unevaluatedProperties: false
66
67examples:
68  - |
69    lpi_tlmm: pinctrl@62b40000 {
70        compatible = "qcom,sdm670-lpass-lpi-pinctrl";
71        reg = <0x62b40000 0x20000>;
72        gpio-controller;
73        #gpio-cells = <2>;
74        gpio-ranges = <&lpi_tlmm 0 0 32>;
75
76        cdc_comp_default: cdc-comp-default-state {
77            pins = "gpio22", "gpio24";
78            function = "comp_rx";
79            drive-strength = <4>;
80        };
81    };
82