xref: /openbmc/linux/Documentation/devicetree/bindings/sound/qcom,lpass-tx-macro.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
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:
146e3b196eSSrinivasa Rao Mandadapu    enum:
156e3b196eSSrinivasa Rao Mandadapu      - qcom,sc7280-lpass-tx-macro
166e3b196eSSrinivasa Rao Mandadapu      - qcom,sm8250-lpass-tx-macro
17473d218bSSrinivas Kandagatla      - qcom,sm8450-lpass-tx-macro
18*050578c6SKrzysztof Kozlowski      - qcom,sm8550-lpass-tx-macro
19473d218bSSrinivas Kandagatla      - qcom,sc8280xp-lpass-tx-macro
20ca955cc9SSrinivas Kandagatla
21ca955cc9SSrinivas Kandagatla  reg:
22ca955cc9SSrinivas Kandagatla    maxItems: 1
23ca955cc9SSrinivas Kandagatla
24ca955cc9SSrinivas Kandagatla  "#sound-dai-cells":
25ca955cc9SSrinivas Kandagatla    const: 1
26ca955cc9SSrinivas Kandagatla
27ca955cc9SSrinivas Kandagatla  '#clock-cells':
28ca955cc9SSrinivas Kandagatla    const: 0
29ca955cc9SSrinivas Kandagatla
30ca955cc9SSrinivas Kandagatla  clocks:
31bf4afbf9SKrzysztof Kozlowski    minItems: 3
32bf4afbf9SKrzysztof Kozlowski    maxItems: 5
33ca955cc9SSrinivas Kandagatla
34ca955cc9SSrinivas Kandagatla  clock-names:
35bf4afbf9SKrzysztof Kozlowski    minItems: 3
36bf4afbf9SKrzysztof Kozlowski    maxItems: 5
37ca955cc9SSrinivas Kandagatla
38ca955cc9SSrinivas Kandagatla  clock-output-names:
39bcdc73e1SKrzysztof Kozlowski    maxItems: 1
40ca955cc9SSrinivas Kandagatla
416619c7d4SSrinivasa Rao Mandadapu  power-domains:
426619c7d4SSrinivasa Rao Mandadapu    maxItems: 2
436619c7d4SSrinivasa Rao Mandadapu
446619c7d4SSrinivasa Rao Mandadapu  power-domain-names:
456619c7d4SSrinivasa Rao Mandadapu    items:
466619c7d4SSrinivasa Rao Mandadapu      - const: macro
476619c7d4SSrinivasa Rao Mandadapu      - const: dcodec
486619c7d4SSrinivasa Rao Mandadapu
49ca955cc9SSrinivas Kandagatla  qcom,dmic-sample-rate:
50ca955cc9SSrinivas Kandagatla    description: dmic sample rate
51ca955cc9SSrinivas Kandagatla    $ref: /schemas/types.yaml#/definitions/uint32
52ca955cc9SSrinivas Kandagatla
53ca955cc9SSrinivas Kandagatlarequired:
54ca955cc9SSrinivas Kandagatla  - compatible
55ca955cc9SSrinivas Kandagatla  - reg
56ca955cc9SSrinivas Kandagatla  - "#sound-dai-cells"
57ca955cc9SSrinivas Kandagatla
58bf4afbf9SKrzysztof KozlowskiallOf:
59bf4afbf9SKrzysztof Kozlowski  - $ref: dai-common.yaml#
60bf4afbf9SKrzysztof Kozlowski  - if:
61bf4afbf9SKrzysztof Kozlowski      properties:
62bf4afbf9SKrzysztof Kozlowski        compatible:
63bf4afbf9SKrzysztof Kozlowski          enum:
64bf4afbf9SKrzysztof Kozlowski            - qcom,sc7280-lpass-tx-macro
65bf4afbf9SKrzysztof Kozlowski    then:
66bf4afbf9SKrzysztof Kozlowski      properties:
67bf4afbf9SKrzysztof Kozlowski        clock-names:
68bf4afbf9SKrzysztof Kozlowski          oneOf:
69bf4afbf9SKrzysztof Kozlowski            - items:   # for ADSP based platforms
70bf4afbf9SKrzysztof Kozlowski                - const: mclk
71bf4afbf9SKrzysztof Kozlowski                - const: npl
72bf4afbf9SKrzysztof Kozlowski                - const: macro
73bf4afbf9SKrzysztof Kozlowski                - const: dcodec
74bf4afbf9SKrzysztof Kozlowski                - const: fsgen
75bf4afbf9SKrzysztof Kozlowski            - items:   # for ADSP bypass based platforms
76bf4afbf9SKrzysztof Kozlowski                - const: mclk
77bf4afbf9SKrzysztof Kozlowski                - const: npl
78bf4afbf9SKrzysztof Kozlowski                - const: fsgen
79bf4afbf9SKrzysztof Kozlowski
80bf4afbf9SKrzysztof Kozlowski  - if:
81bf4afbf9SKrzysztof Kozlowski      properties:
82bf4afbf9SKrzysztof Kozlowski        compatible:
83bf4afbf9SKrzysztof Kozlowski          enum:
84bf4afbf9SKrzysztof Kozlowski            - qcom,sc8280xp-lpass-tx-macro
85bf4afbf9SKrzysztof Kozlowski            - qcom,sm8250-lpass-tx-macro
86bf4afbf9SKrzysztof Kozlowski            - qcom,sm8450-lpass-tx-macro
87bf4afbf9SKrzysztof Kozlowski    then:
88bf4afbf9SKrzysztof Kozlowski      properties:
89bf4afbf9SKrzysztof Kozlowski        clocks:
90bf4afbf9SKrzysztof Kozlowski          minItems: 5
91bf4afbf9SKrzysztof Kozlowski          maxItems: 5
92bf4afbf9SKrzysztof Kozlowski        clock-names:
93bf4afbf9SKrzysztof Kozlowski          items:
94bf4afbf9SKrzysztof Kozlowski            - const: mclk
95bf4afbf9SKrzysztof Kozlowski            - const: npl
96bf4afbf9SKrzysztof Kozlowski            - const: macro
97bf4afbf9SKrzysztof Kozlowski            - const: dcodec
98bf4afbf9SKrzysztof Kozlowski            - const: fsgen
99bf4afbf9SKrzysztof Kozlowski
100*050578c6SKrzysztof Kozlowski  - if:
101*050578c6SKrzysztof Kozlowski      properties:
102*050578c6SKrzysztof Kozlowski        compatible:
103*050578c6SKrzysztof Kozlowski          enum:
104*050578c6SKrzysztof Kozlowski            - qcom,sm8550-lpass-tx-macro
105*050578c6SKrzysztof Kozlowski    then:
106*050578c6SKrzysztof Kozlowski      properties:
107*050578c6SKrzysztof Kozlowski        clocks:
108*050578c6SKrzysztof Kozlowski          minItems: 4
109*050578c6SKrzysztof Kozlowski          maxItems: 4
110*050578c6SKrzysztof Kozlowski        clock-names:
111*050578c6SKrzysztof Kozlowski          items:
112*050578c6SKrzysztof Kozlowski            - const: mclk
113*050578c6SKrzysztof Kozlowski            - const: macro
114*050578c6SKrzysztof Kozlowski            - const: dcodec
115*050578c6SKrzysztof Kozlowski            - const: fsgen
116*050578c6SKrzysztof Kozlowski
11758ae9a2aSKrzysztof KozlowskiunevaluatedProperties: false
118ca955cc9SSrinivas Kandagatla
119ca955cc9SSrinivas Kandagatlaexamples:
120ca955cc9SSrinivas Kandagatla  - |
121ca955cc9SSrinivas Kandagatla    #include <dt-bindings/sound/qcom,q6afe.h>
122ca955cc9SSrinivas Kandagatla    codec@3220000 {
123ca955cc9SSrinivas Kandagatla      compatible = "qcom,sm8250-lpass-tx-macro";
124ca955cc9SSrinivas Kandagatla      reg = <0x3220000 0x1000>;
125ca955cc9SSrinivas Kandagatla      #sound-dai-cells = <1>;
126ca955cc9SSrinivas Kandagatla      #clock-cells = <0>;
127ca955cc9SSrinivas Kandagatla      clocks = <&aoncc 0>,
128ca955cc9SSrinivas Kandagatla               <&aoncc 1>,
129ca955cc9SSrinivas Kandagatla               <&q6afecc LPASS_HW_MACRO_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
130ca955cc9SSrinivas Kandagatla               <&q6afecc LPASS_HW_DCODEC_VOTE LPASS_CLK_ATTRIBUTE_COUPLE_NO>,
131ca955cc9SSrinivas Kandagatla               <&vamacro>;
132ca955cc9SSrinivas Kandagatla      clock-names = "mclk", "npl", "macro", "dcodec", "fsgen";
133ca955cc9SSrinivas Kandagatla      clock-output-names = "mclk";
134ca955cc9SSrinivas Kandagatla      qcom,dmic-sample-rate = <600000>;
135ca955cc9SSrinivas Kandagatla    };
136