xref: /freebsd/sys/contrib/device-tree/Bindings/pinctrl/qcom,sm6115-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,sm6115-lpass-lpi-pinctrl.yaml#
5aa1a8ff2SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6aa1a8ff2SEmmanuel Vadot
7aa1a8ff2SEmmanuel Vadottitle: Qualcomm SM6115 SoC LPASS LPI TLMM
8aa1a8ff2SEmmanuel Vadot
9aa1a8ff2SEmmanuel Vadotmaintainers:
10aa1a8ff2SEmmanuel Vadot  - Konrad Dybcio <konradybcio@kernel.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 SM6115 SoC.
16aa1a8ff2SEmmanuel Vadot
17aa1a8ff2SEmmanuel Vadotproperties:
18aa1a8ff2SEmmanuel Vadot  compatible:
19aa1a8ff2SEmmanuel Vadot    const: qcom,sm6115-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 Audio voting clock
29aa1a8ff2SEmmanuel Vadot
30aa1a8ff2SEmmanuel Vadot  clock-names:
31aa1a8ff2SEmmanuel Vadot    items:
32aa1a8ff2SEmmanuel Vadot      - const: audio
33aa1a8ff2SEmmanuel Vadot
34aa1a8ff2SEmmanuel VadotpatternProperties:
35aa1a8ff2SEmmanuel Vadot  "-state$":
36aa1a8ff2SEmmanuel Vadot    oneOf:
37aa1a8ff2SEmmanuel Vadot      - $ref: "#/$defs/qcom-sm6115-lpass-state"
38aa1a8ff2SEmmanuel Vadot      - patternProperties:
39aa1a8ff2SEmmanuel Vadot          "-pins$":
40aa1a8ff2SEmmanuel Vadot            $ref: "#/$defs/qcom-sm6115-lpass-state"
41aa1a8ff2SEmmanuel Vadot        additionalProperties: false
42aa1a8ff2SEmmanuel Vadot
43aa1a8ff2SEmmanuel Vadot$defs:
44aa1a8ff2SEmmanuel Vadot  qcom-sm6115-lpass-state:
45aa1a8ff2SEmmanuel Vadot    type: object
46aa1a8ff2SEmmanuel Vadot    description:
47aa1a8ff2SEmmanuel Vadot      Pinctrl node's client devices use subnodes for desired pin configuration.
48aa1a8ff2SEmmanuel Vadot      Client device subnodes use below standard properties.
49*8d13bc63SEmmanuel Vadot    $ref: qcom,lpass-lpi-common.yaml#/$defs/qcom-tlmm-state
50*8d13bc63SEmmanuel Vadot    unevaluatedProperties: false
51aa1a8ff2SEmmanuel Vadot
52aa1a8ff2SEmmanuel Vadot    properties:
53aa1a8ff2SEmmanuel Vadot      pins:
54aa1a8ff2SEmmanuel Vadot        description:
55aa1a8ff2SEmmanuel Vadot          List of gpio pins affected by the properties specified in this
56aa1a8ff2SEmmanuel Vadot          subnode.
57aa1a8ff2SEmmanuel Vadot        items:
58aa1a8ff2SEmmanuel Vadot          pattern: "^gpio([0-9]|1[0-8])$"
59aa1a8ff2SEmmanuel Vadot
60aa1a8ff2SEmmanuel Vadot      function:
61aa1a8ff2SEmmanuel Vadot        enum: [ dmic01_clk, dmic01_data, dmic23_clk, dmic23_data, gpio, i2s1_clk,
62aa1a8ff2SEmmanuel Vadot                i2s1_data, i2s1_ws, i2s2_clk, i2s2_data, i2s2_ws, i2s3_clk,
63aa1a8ff2SEmmanuel Vadot                i2s3_data, i2s3_ws, qua_mi2s_data, qua_mi2s_sclk, qua_mi2s_ws,
64aa1a8ff2SEmmanuel Vadot                swr_rx_clk, swr_rx_data, swr_tx_clk, swr_tx_data, wsa_mclk ]
65aa1a8ff2SEmmanuel Vadot        description:
66aa1a8ff2SEmmanuel Vadot          Specify the alternative function to be configured for the specified
67aa1a8ff2SEmmanuel Vadot          pins.
68aa1a8ff2SEmmanuel Vadot
69aa1a8ff2SEmmanuel Vadot
70aa1a8ff2SEmmanuel VadotallOf:
71*8d13bc63SEmmanuel Vadot  - $ref: qcom,lpass-lpi-common.yaml#
72aa1a8ff2SEmmanuel Vadot
73aa1a8ff2SEmmanuel Vadotrequired:
74aa1a8ff2SEmmanuel Vadot  - compatible
75aa1a8ff2SEmmanuel Vadot  - reg
76aa1a8ff2SEmmanuel Vadot  - clocks
77aa1a8ff2SEmmanuel Vadot  - clock-names
78aa1a8ff2SEmmanuel Vadot
79*8d13bc63SEmmanuel VadotunevaluatedProperties: false
80aa1a8ff2SEmmanuel Vadot
81aa1a8ff2SEmmanuel Vadotexamples:
82aa1a8ff2SEmmanuel Vadot  - |
83aa1a8ff2SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6afe.h>
84aa1a8ff2SEmmanuel Vadot
85aa1a8ff2SEmmanuel Vadot    lpass_tlmm: pinctrl@a7c0000 {
86aa1a8ff2SEmmanuel Vadot        compatible = "qcom,sm6115-lpass-lpi-pinctrl";
87aa1a8ff2SEmmanuel Vadot        reg = <0x0a7c0000 0x20000>,
88aa1a8ff2SEmmanuel Vadot              <0x0a950000 0x10000>;
89aa1a8ff2SEmmanuel Vadot        clocks = <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
90aa1a8ff2SEmmanuel Vadot        clock-names = "audio";
91aa1a8ff2SEmmanuel Vadot
92aa1a8ff2SEmmanuel Vadot        gpio-controller;
93aa1a8ff2SEmmanuel Vadot        #gpio-cells = <2>;
94aa1a8ff2SEmmanuel Vadot        gpio-ranges = <&lpass_tlmm 0 0 19>;
95aa1a8ff2SEmmanuel Vadot    };
96