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