xref: /linux/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml (revision c771600c6af14749609b49565ffb4cac2959710d)
1ca955cc9SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2ca955cc9SSrinivas Kandagatla%YAML 1.2
3ca955cc9SSrinivas Kandagatla---
4ca955cc9SSrinivas Kandagatla$id: http://devicetree.org/schemas/sound/qcom,lpass-tx-macro.yaml#
5ca955cc9SSrinivas Kandagatla$schema: http://devicetree.org/meta-schemas/core.yaml#
6ca955cc9SSrinivas Kandagatla
7a612130cSKrzysztof Kozlowskititle: LPASS(Low Power Audio Subsystem) TX Macro audio codec
8ca955cc9SSrinivas Kandagatla
9ca955cc9SSrinivas Kandagatlamaintainers:
10ca955cc9SSrinivas Kandagatla  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11ca955cc9SSrinivas Kandagatla
12ca955cc9SSrinivas Kandagatlaproperties:
13ca955cc9SSrinivas Kandagatla  compatible:
145a5085c9SKrzysztof Kozlowski    oneOf:
155a5085c9SKrzysztof Kozlowski      - enum:
166e3b196eSSrinivasa Rao Mandadapu          - qcom,sc7280-lpass-tx-macro
179ff143aaSKonrad Dybcio          - qcom,sm6115-lpass-tx-macro
186e3b196eSSrinivasa Rao Mandadapu          - qcom,sm8250-lpass-tx-macro
19473d218bSSrinivas Kandagatla          - qcom,sm8450-lpass-tx-macro
20050578c6SKrzysztof Kozlowski          - qcom,sm8550-lpass-tx-macro
21473d218bSSrinivas Kandagatla          - qcom,sc8280xp-lpass-tx-macro
225a5085c9SKrzysztof Kozlowski      - items:
237de2109cSKrzysztof Kozlowski          - enum:
247de2109cSKrzysztof Kozlowski              - qcom,sm8650-lpass-tx-macro
25*6a646e6dSKrzysztof Kozlowski              - qcom,sm8750-lpass-tx-macro
267de2109cSKrzysztof Kozlowski              - qcom,x1e80100-lpass-tx-macro
275a5085c9SKrzysztof Kozlowski          - const: qcom,sm8550-lpass-tx-macro
28ca955cc9SSrinivas Kandagatla
29ca955cc9SSrinivas Kandagatla  reg:
30ca955cc9SSrinivas Kandagatla    maxItems: 1
31ca955cc9SSrinivas Kandagatla
32ca955cc9SSrinivas Kandagatla  "#sound-dai-cells":
33ca955cc9SSrinivas Kandagatla    const: 1
34ca955cc9SSrinivas Kandagatla
35ca955cc9SSrinivas Kandagatla  '#clock-cells':
36ca955cc9SSrinivas Kandagatla    const: 0
37ca955cc9SSrinivas Kandagatla
38ca955cc9SSrinivas Kandagatla  clocks:
39bf4afbf9SKrzysztof Kozlowski    minItems: 3
40bf4afbf9SKrzysztof Kozlowski    maxItems: 5
41ca955cc9SSrinivas Kandagatla
42ca955cc9SSrinivas Kandagatla  clock-names:
43bf4afbf9SKrzysztof Kozlowski    minItems: 3
44bf4afbf9SKrzysztof Kozlowski    maxItems: 5
45ca955cc9SSrinivas Kandagatla
46ca955cc9SSrinivas Kandagatla  clock-output-names:
47bcdc73e1SKrzysztof Kozlowski    maxItems: 1
48ca955cc9SSrinivas Kandagatla
496619c7d4SSrinivasa Rao Mandadapu  power-domains:
506619c7d4SSrinivasa Rao Mandadapu    maxItems: 2
516619c7d4SSrinivasa Rao Mandadapu
526619c7d4SSrinivasa Rao Mandadapu  power-domain-names:
536619c7d4SSrinivasa Rao Mandadapu    items:
546619c7d4SSrinivasa Rao Mandadapu      - const: macro
556619c7d4SSrinivasa Rao Mandadapu      - const: dcodec
566619c7d4SSrinivasa Rao Mandadapu
57ca955cc9SSrinivas Kandagatla  qcom,dmic-sample-rate:
58ca955cc9SSrinivas Kandagatla    description: dmic sample rate
59ca955cc9SSrinivas Kandagatla    $ref: /schemas/types.yaml#/definitions/uint32
60ca955cc9SSrinivas Kandagatla
61ca955cc9SSrinivas Kandagatlarequired:
62ca955cc9SSrinivas Kandagatla  - compatible
63ca955cc9SSrinivas Kandagatla  - reg
64ca955cc9SSrinivas Kandagatla  - "#sound-dai-cells"
65ca955cc9SSrinivas Kandagatla
66bf4afbf9SKrzysztof KozlowskiallOf:
67bf4afbf9SKrzysztof Kozlowski  - $ref: dai-common.yaml#
68bf4afbf9SKrzysztof Kozlowski  - if:
69bf4afbf9SKrzysztof Kozlowski      properties:
70bf4afbf9SKrzysztof Kozlowski        compatible:
71bf4afbf9SKrzysztof Kozlowski          enum:
72bf4afbf9SKrzysztof Kozlowski            - qcom,sc7280-lpass-tx-macro
73bf4afbf9SKrzysztof Kozlowski    then:
74bf4afbf9SKrzysztof Kozlowski      properties:
75bf4afbf9SKrzysztof Kozlowski        clock-names:
76bf4afbf9SKrzysztof Kozlowski          oneOf:
77bf4afbf9SKrzysztof Kozlowski            - items:   # for ADSP based platforms
78bf4afbf9SKrzysztof Kozlowski                - const: mclk
79bf4afbf9SKrzysztof Kozlowski                - const: npl
80bf4afbf9SKrzysztof Kozlowski                - const: macro
81bf4afbf9SKrzysztof Kozlowski                - const: dcodec
82bf4afbf9SKrzysztof Kozlowski                - const: fsgen
83bf4afbf9SKrzysztof Kozlowski            - items:   # for ADSP bypass based platforms
84bf4afbf9SKrzysztof Kozlowski                - const: mclk
85bf4afbf9SKrzysztof Kozlowski                - const: npl
86bf4afbf9SKrzysztof Kozlowski                - const: fsgen
87bf4afbf9SKrzysztof Kozlowski
88bf4afbf9SKrzysztof Kozlowski  - if:
89bf4afbf9SKrzysztof Kozlowski      properties:
90bf4afbf9SKrzysztof Kozlowski        compatible:
91bf4afbf9SKrzysztof Kozlowski          enum:
92bf4afbf9SKrzysztof Kozlowski            - qcom,sc8280xp-lpass-tx-macro
93bf4afbf9SKrzysztof Kozlowski            - qcom,sm8250-lpass-tx-macro
94bf4afbf9SKrzysztof Kozlowski            - qcom,sm8450-lpass-tx-macro
95bf4afbf9SKrzysztof Kozlowski    then:
96bf4afbf9SKrzysztof Kozlowski      properties:
97bf4afbf9SKrzysztof Kozlowski        clocks:
98bf4afbf9SKrzysztof Kozlowski          minItems: 5
99bf4afbf9SKrzysztof Kozlowski          maxItems: 5
100bf4afbf9SKrzysztof Kozlowski        clock-names:
101bf4afbf9SKrzysztof Kozlowski          items:
102bf4afbf9SKrzysztof Kozlowski            - const: mclk
103bf4afbf9SKrzysztof Kozlowski            - const: npl
104bf4afbf9SKrzysztof Kozlowski            - const: macro
105bf4afbf9SKrzysztof Kozlowski            - const: dcodec
106bf4afbf9SKrzysztof Kozlowski            - const: fsgen
107bf4afbf9SKrzysztof Kozlowski
108050578c6SKrzysztof Kozlowski  - if:
109050578c6SKrzysztof Kozlowski      properties:
110050578c6SKrzysztof Kozlowski        compatible:
111050578c6SKrzysztof Kozlowski          enum:
1129ff143aaSKonrad Dybcio            - qcom,sm6115-lpass-tx-macro
1139ff143aaSKonrad Dybcio    then:
1149ff143aaSKonrad Dybcio      properties:
1159ff143aaSKonrad Dybcio        clocks:
1169ff143aaSKonrad Dybcio          minItems: 4
1179ff143aaSKonrad Dybcio          maxItems: 4
1189ff143aaSKonrad Dybcio        clock-names:
1199ff143aaSKonrad Dybcio          items:
1209ff143aaSKonrad Dybcio            - const: mclk
1219ff143aaSKonrad Dybcio            - const: npl
1229ff143aaSKonrad Dybcio            - const: dcodec
1239ff143aaSKonrad Dybcio            - const: fsgen
1249ff143aaSKonrad Dybcio
1259ff143aaSKonrad Dybcio  - if:
1269ff143aaSKonrad Dybcio      properties:
1279ff143aaSKonrad Dybcio        compatible:
1285a5085c9SKrzysztof Kozlowski          contains:
1299ff143aaSKonrad Dybcio            enum:
130050578c6SKrzysztof Kozlowski              - qcom,sm8550-lpass-tx-macro
131050578c6SKrzysztof Kozlowski    then:
132050578c6SKrzysztof Kozlowski      properties:
133050578c6SKrzysztof Kozlowski        clocks:
134050578c6SKrzysztof Kozlowski          minItems: 4
135050578c6SKrzysztof Kozlowski          maxItems: 4
136050578c6SKrzysztof Kozlowski        clock-names:
137050578c6SKrzysztof Kozlowski          items:
138050578c6SKrzysztof Kozlowski            - const: mclk
139050578c6SKrzysztof Kozlowski            - const: macro
140050578c6SKrzysztof Kozlowski            - const: dcodec
141050578c6SKrzysztof Kozlowski            - const: fsgen
142050578c6SKrzysztof Kozlowski
14358ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
144ca955cc9SSrinivas Kandagatla
145ca955cc9SSrinivas Kandagatlaexamples:
146ca955cc9SSrinivas Kandagatla  - |
147ca955cc9SSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
148ca955cc9SSrinivas Kandagatla    codec@3220000 {
149ca955cc9SSrinivas Kandagatla      compatible = "qcom,sm8250-lpass-tx-macro";
150ca955cc9SSrinivas Kandagatla      reg = <0x3220000 0x1000>;
151ca955cc9SSrinivas Kandagatla      #sound-dai-cells = <1>;
152ca955cc9SSrinivas Kandagatla      #clock-cells = <0>;
153ca955cc9SSrinivas Kandagatla      clocks = <&aoncc 0>,
154ca955cc9SSrinivas Kandagatla               <&aoncc 1>,
155ca955cc9SSrinivas Kandagatla               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
156ca955cc9SSrinivas Kandagatla               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
157ca955cc9SSrinivas Kandagatla               <&vamacro>;
158ca955cc9SSrinivas Kandagatla      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
159ca955cc9SSrinivas Kandagatla      clock-output-names = "mclk";
160ca955cc9SSrinivas Kandagatla      qcom,dmic-sample-rate = <600000>;
161ca955cc9SSrinivas Kandagatla    };
162