xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,sm8350-lpass-lpi-pinctrl.yaml (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1aa1a8ff2SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2aa1a8ff2SEmmanuel Vadot%YAML 1.2
3aa1a8ff2SEmmanuel Vadot---
4aa1a8ff2SEmmanuel Vadot$id: http://devicetree.org/schemas/pinctrl/qcom,sm8350-lpass-lpi-pinctrl.yaml#
5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadottitle: Qualcomm SM8350 SoC LPASS LPI TLMM
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11aa1a8ff2SEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
12aa1a8ff2SEmmanuel Vadot
13aa1a8ff2SEmmanuel Vadotdescription:
14aa1a8ff2SEmmanuel Vadot  Top Level Mode Multiplexer pin controller in the Low Power Audio SubSystem
15aa1a8ff2SEmmanuel Vadot  (LPASS) Low Power Island (LPI) of Qualcomm SM8350 SoC.
16aa1a8ff2SEmmanuel Vadot
17aa1a8ff2SEmmanuel Vadotproperties:
18aa1a8ff2SEmmanuel Vadot  compatible:
19aa1a8ff2SEmmanuel Vadot    const: qcom,sm8350-lpass-lpi-pinctrl
20aa1a8ff2SEmmanuel Vadot
21aa1a8ff2SEmmanuel Vadot  reg:
22aa1a8ff2SEmmanuel Vadot    items:
23aa1a8ff2SEmmanuel Vadot      - description: LPASS LPI TLMM Control and Status registers
24aa1a8ff2SEmmanuel Vadot      - description: LPASS LPI MCC registers
25aa1a8ff2SEmmanuel Vadot
26aa1a8ff2SEmmanuel Vadot  clocks:
27aa1a8ff2SEmmanuel Vadot    items:
28aa1a8ff2SEmmanuel Vadot      - description: LPASS Core voting clock
29aa1a8ff2SEmmanuel Vadot      - description: LPASS Audio voting clock
30aa1a8ff2SEmmanuel Vadot
31aa1a8ff2SEmmanuel Vadot  clock-names:
32aa1a8ff2SEmmanuel Vadot    items:
33aa1a8ff2SEmmanuel Vadot      - const: core
34aa1a8ff2SEmmanuel Vadot      - const: audio
35aa1a8ff2SEmmanuel Vadot
36aa1a8ff2SEmmanuel VadotpatternProperties:
37aa1a8ff2SEmmanuel Vadot  "-state$":
38aa1a8ff2SEmmanuel Vadot    oneOf:
39aa1a8ff2SEmmanuel Vadot      - $ref: "#/$defs/qcom-sm8350-lpass-state"
40aa1a8ff2SEmmanuel Vadot      - patternProperties:
41aa1a8ff2SEmmanuel Vadot          "-pins$":
42aa1a8ff2SEmmanuel Vadot            $ref: "#/$defs/qcom-sm8350-lpass-state"
43aa1a8ff2SEmmanuel Vadot        additionalProperties: false
44aa1a8ff2SEmmanuel Vadot
45aa1a8ff2SEmmanuel Vadot$defs:
46aa1a8ff2SEmmanuel Vadot  qcom-sm8350-lpass-state:
47aa1a8ff2SEmmanuel Vadot    type: object
48aa1a8ff2SEmmanuel Vadot    description:
49aa1a8ff2SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
50aa1a8ff2SEmmanuel Vadot      Client device subnodes use below standard properties.
51*8d13bc63SEmmanuel Vadot    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
52*8d13bc63SEmmanuel Vadot    unevaluatedProperties: false
53aa1a8ff2SEmmanuel Vadot
54aa1a8ff2SEmmanuel Vadot    properties:
55aa1a8ff2SEmmanuel Vadot      pins:
56aa1a8ff2SEmmanuel Vadot        description:
57aa1a8ff2SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
58aa1a8ff2SEmmanuel Vadot          subnode.
59aa1a8ff2SEmmanuel Vadot        items:
60aa1a8ff2SEmmanuel Vadot          pattern: "^gpio([0-9]|1[0-9]|2[0-2])$"
61aa1a8ff2SEmmanuel Vadot
62aa1a8ff2SEmmanuel Vadot      function:
63aa1a8ff2SEmmanuel Vadot        enum: [ dmic1_clk, dmic1_data, dmic2_clk, dmic2_data, dmic3_clk,
64aa1a8ff2SEmmanuel Vadot                dmic3_data, dmic4_clk, dmic4_data, ext_mclk1_a, ext_mclk1_b,
65aa1a8ff2SEmmanuel Vadot                ext_mclk1_c, ext_mclk1_d, ext_mclk1_e, gpio, i2s0_clk,
66aa1a8ff2SEmmanuel Vadot                i2s0_data, i2s0_ws, i2s1_clk, i2s1_data, i2s1_ws, i2s2_clk,
67aa1a8ff2SEmmanuel Vadot                i2s2_data, i2s2_ws, i2s3_clk, i2s3_data, i2s3_ws, i2s4_clk,
68aa1a8ff2SEmmanuel Vadot                i2s4_data, i2s4_ws, slimbus_clk, slimbus_data, swr_rx_clk,
69aa1a8ff2SEmmanuel Vadot                swr_rx_data, swr_tx_clk, swr_tx_data, wsa_swr_clk,
70aa1a8ff2SEmmanuel Vadot                wsa_swr_data, wsa2_swr_clk, wsa2_swr_data ]
71aa1a8ff2SEmmanuel Vadot        description:
72aa1a8ff2SEmmanuel Vadot          Specify the alternative function to be configured for the specified
73aa1a8ff2SEmmanuel Vadot          pins.
74aa1a8ff2SEmmanuel Vadot
75aa1a8ff2SEmmanuel VadotallOf:
76*8d13bc63SEmmanuel Vadot  - $ref: qcom,lpass-lpi-common.yaml#
77aa1a8ff2SEmmanuel Vadot
78aa1a8ff2SEmmanuel Vadotrequired:
79aa1a8ff2SEmmanuel Vadot  - compatible
80aa1a8ff2SEmmanuel Vadot  - reg
81aa1a8ff2SEmmanuel Vadot  - clocks
82aa1a8ff2SEmmanuel Vadot  - clock-names
83aa1a8ff2SEmmanuel Vadot
84*8d13bc63SEmmanuel VadotunevaluatedProperties: false
85aa1a8ff2SEmmanuel Vadot
86aa1a8ff2SEmmanuel Vadotexamples:
87aa1a8ff2SEmmanuel Vadot  - |
88aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6afe.h>
89aa1a8ff2SEmmanuel Vadot
90aa1a8ff2SEmmanuel Vadot    lpass_tlmm: pinctrl@33c0000 {
91aa1a8ff2SEmmanuel Vadot        compatible = "qcom,sm8350-lpass-lpi-pinctrl";
92aa1a8ff2SEmmanuel Vadot        reg = <0x033c0000 0x20000>,
93aa1a8ff2SEmmanuel Vadot              <0x03550000 0x10000>;
94aa1a8ff2SEmmanuel Vadot
95aa1a8ff2SEmmanuel Vadot        clocks = <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
96aa1a8ff2SEmmanuel Vadot                 <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
97aa1a8ff2SEmmanuel Vadot        clock-names = "core", "audio";
98aa1a8ff2SEmmanuel Vadot
99aa1a8ff2SEmmanuel Vadot        gpio-controller;
100aa1a8ff2SEmmanuel Vadot        #gpio-cells = <2>;
101aa1a8ff2SEmmanuel Vadot        gpio-ranges = <&lpass_tlmm 0 0 15>;
102aa1a8ff2SEmmanuel Vadot    };
103