xref: /src/sys/contrib/device-tree/Bindings/sound/qcom,lpass-va-macro.yaml (revision 833e5d42ab135b0238e61c5b3c19b8619677cbfa)
1f544df78SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2f544df78SEmmanuel Vadot%YAML 1.2
3f544df78SEmmanuel Vadot---
4f544df78SEmmanuel Vadot$id: http://devicetree.org/schemas/sound/qcom,lpass-va-macro.yaml#
5f544df78SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6f544df78SEmmanuel Vadot
7c227958aSEmmanuel Vadottitle: LPASS(Low Power Audio Subsystem) VA Macro audio codec
8f544df78SEmmanuel Vadot
9f544df78SEmmanuel Vadotmaintainers:
10f544df78SEmmanuel Vadot  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11f544df78SEmmanuel Vadot
12f544df78SEmmanuel Vadotproperties:
13f544df78SEmmanuel Vadot  compatible:
1448aa10e0SEmmanuel Vadot    oneOf:
1548aa10e0SEmmanuel Vadot      - enum:
16dec44e53SEmmanuel Vadot          - qcom,sc7280-lpass-va-macro
17dec44e53SEmmanuel Vadot          - qcom,sm8250-lpass-va-macro
18582be9a4SEmmanuel Vadot          - qcom,sm8450-lpass-va-macro
19c47d0ea1SEmmanuel Vadot          - qcom,sm8550-lpass-va-macro
20582be9a4SEmmanuel Vadot          - qcom,sc8280xp-lpass-va-macro
2148aa10e0SEmmanuel Vadot      - items:
2248aa10e0SEmmanuel Vadot          - enum:
2348aa10e0SEmmanuel Vadot              - qcom,sm8650-lpass-va-macro
242aa9fc59SEmmanuel Vadot              - qcom,sm8750-lpass-va-macro
2548aa10e0SEmmanuel Vadot              - qcom,x1e80100-lpass-va-macro
2648aa10e0SEmmanuel Vadot          - const: qcom,sm8550-lpass-va-macro
27f544df78SEmmanuel Vadot
28f544df78SEmmanuel Vadot  reg:
29f544df78SEmmanuel Vadot    maxItems: 1
30f544df78SEmmanuel Vadot
31f544df78SEmmanuel Vadot  "#sound-dai-cells":
32f544df78SEmmanuel Vadot    const: 1
33f544df78SEmmanuel Vadot
34f544df78SEmmanuel Vadot  '#clock-cells':
35f544df78SEmmanuel Vadot    const: 0
36f544df78SEmmanuel Vadot
37f544df78SEmmanuel Vadot  clocks:
38c47d0ea1SEmmanuel Vadot    minItems: 1
39c47d0ea1SEmmanuel Vadot    maxItems: 4
40f544df78SEmmanuel Vadot
41f544df78SEmmanuel Vadot  clock-names:
42c47d0ea1SEmmanuel Vadot    minItems: 1
43d50fbf35SEmmanuel Vadot    items:
44d50fbf35SEmmanuel Vadot      - const: mclk
45d50fbf35SEmmanuel Vadot      - const: macro
46d50fbf35SEmmanuel Vadot      - const: dcodec
47d50fbf35SEmmanuel Vadot      - const: npl
48f544df78SEmmanuel Vadot
49f544df78SEmmanuel Vadot  clock-output-names:
50c227958aSEmmanuel Vadot    maxItems: 1
51f544df78SEmmanuel Vadot
529066e824SEmmanuel Vadot  power-domains:
539066e824SEmmanuel Vadot    maxItems: 2
549066e824SEmmanuel Vadot
559066e824SEmmanuel Vadot  power-domain-names:
569066e824SEmmanuel Vadot    items:
579066e824SEmmanuel Vadot      - const: macro
589066e824SEmmanuel Vadot      - const: dcodec
599066e824SEmmanuel Vadot
60f544df78SEmmanuel Vadot  qcom,dmic-sample-rate:
61f544df78SEmmanuel Vadot    description: dmic sample rate
62f544df78SEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
63f544df78SEmmanuel Vadot
64f544df78SEmmanuel Vadot  vdd-micb-supply:
65f544df78SEmmanuel Vadot    description: phandle to voltage regulator of MIC Bias
66f544df78SEmmanuel Vadot
67f544df78SEmmanuel Vadotrequired:
68f544df78SEmmanuel Vadot  - compatible
69f544df78SEmmanuel Vadot  - reg
70f544df78SEmmanuel Vadot  - "#sound-dai-cells"
71c47d0ea1SEmmanuel Vadot  - clock-names
72c47d0ea1SEmmanuel Vadot  - clocks
73c47d0ea1SEmmanuel Vadot
74c47d0ea1SEmmanuel VadotallOf:
75c47d0ea1SEmmanuel Vadot  - $ref: dai-common.yaml#
76c47d0ea1SEmmanuel Vadot
77c47d0ea1SEmmanuel Vadot  - if:
78c47d0ea1SEmmanuel Vadot      properties:
79c47d0ea1SEmmanuel Vadot        compatible:
80c47d0ea1SEmmanuel Vadot          contains:
81c47d0ea1SEmmanuel Vadot            const: qcom,sc7280-lpass-va-macro
82c47d0ea1SEmmanuel Vadot    then:
83c47d0ea1SEmmanuel Vadot      properties:
84c47d0ea1SEmmanuel Vadot        clocks:
85c47d0ea1SEmmanuel Vadot          maxItems: 1
86c47d0ea1SEmmanuel Vadot        clock-names:
87d50fbf35SEmmanuel Vadot          maxItems: 1
88c47d0ea1SEmmanuel Vadot
89c47d0ea1SEmmanuel Vadot  - if:
90c47d0ea1SEmmanuel Vadot      properties:
91c47d0ea1SEmmanuel Vadot        compatible:
92c47d0ea1SEmmanuel Vadot          contains:
93c47d0ea1SEmmanuel Vadot            const: qcom,sm8250-lpass-va-macro
94c47d0ea1SEmmanuel Vadot    then:
95c47d0ea1SEmmanuel Vadot      properties:
96c47d0ea1SEmmanuel Vadot        clocks:
97c47d0ea1SEmmanuel Vadot          minItems: 3
98c47d0ea1SEmmanuel Vadot          maxItems: 3
99c47d0ea1SEmmanuel Vadot        clock-names:
100d50fbf35SEmmanuel Vadot          minItems: 3
101d50fbf35SEmmanuel Vadot          maxItems: 3
102c47d0ea1SEmmanuel Vadot
103c47d0ea1SEmmanuel Vadot  - if:
104c47d0ea1SEmmanuel Vadot      properties:
105c47d0ea1SEmmanuel Vadot        compatible:
106c47d0ea1SEmmanuel Vadot          contains:
107c47d0ea1SEmmanuel Vadot            enum:
108c47d0ea1SEmmanuel Vadot              - qcom,sc8280xp-lpass-va-macro
109c47d0ea1SEmmanuel Vadot              - qcom,sm8450-lpass-va-macro
110c47d0ea1SEmmanuel Vadot    then:
111c47d0ea1SEmmanuel Vadot      properties:
112c47d0ea1SEmmanuel Vadot        clocks:
113c47d0ea1SEmmanuel Vadot          minItems: 4
114c47d0ea1SEmmanuel Vadot          maxItems: 4
115c47d0ea1SEmmanuel Vadot        clock-names:
116d50fbf35SEmmanuel Vadot          minItems: 4
117d50fbf35SEmmanuel Vadot          maxItems: 4
118c47d0ea1SEmmanuel Vadot
119c47d0ea1SEmmanuel Vadot  - if:
120c47d0ea1SEmmanuel Vadot      properties:
121c47d0ea1SEmmanuel Vadot        compatible:
122c47d0ea1SEmmanuel Vadot          contains:
123c47d0ea1SEmmanuel Vadot            enum:
124c47d0ea1SEmmanuel Vadot              - qcom,sm8550-lpass-va-macro
125c47d0ea1SEmmanuel Vadot    then:
126c47d0ea1SEmmanuel Vadot      properties:
127c47d0ea1SEmmanuel Vadot        clocks:
128c47d0ea1SEmmanuel Vadot          minItems: 3
129c47d0ea1SEmmanuel Vadot          maxItems: 3
130c47d0ea1SEmmanuel Vadot        clock-names:
131d50fbf35SEmmanuel Vadot          minItems: 3
132d50fbf35SEmmanuel Vadot          maxItems: 3
133f544df78SEmmanuel Vadot
134c227958aSEmmanuel VadotunevaluatedProperties: false
135f544df78SEmmanuel Vadot
136f544df78SEmmanuel Vadotexamples:
137f544df78SEmmanuel Vadot  - |
138f544df78SEmmanuel Vadot    #include <dt-bindings/sound/qcom,q6afe.h>
139f544df78SEmmanuel Vadot    codec@3370000 {
140f544df78SEmmanuel Vadot      compatible = "qcom,sm8250-lpass-va-macro";
141f544df78SEmmanuel Vadot      reg = <0x3370000 0x1000>;
142f544df78SEmmanuel Vadot      #sound-dai-cells = <1>;
143f544df78SEmmanuel Vadot      #clock-cells = <0>;
144f544df78SEmmanuel Vadot      clocks = <&aoncc 0>,
145f544df78SEmmanuel Vadot               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
146f544df78SEmmanuel Vadot               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>;
1474a8223f2SEmmanuel Vadot      clock-names = "mclk", "macro", "dcodec";
148f544df78SEmmanuel Vadot      clock-output-names = "fsgen";
149f544df78SEmmanuel Vadot      qcom,dmic-sample-rate = <600000>;
150f544df78SEmmanuel Vadot      vdd-micb-supply = <&vreg_s4a_1p8>;
151f544df78SEmmanuel Vadot    };
152