xref: /linux/Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1e1b26ac9SSrinivas Kandagatla# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2e1b26ac9SSrinivas Kandagatla%YAML 1.2
3e1b26ac9SSrinivas Kandagatla---
4*e09eb6acSRob Herring$id: http://devicetree.org/schemas/sound/qcom,q6dsp-lpass-ports.yaml#
5*e09eb6acSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6e1b26ac9SSrinivas Kandagatla
784e85359SKrzysztof Kozlowskititle: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports
8e1b26ac9SSrinivas Kandagatla
9e1b26ac9SSrinivas Kandagatlamaintainers:
10e1b26ac9SSrinivas Kandagatla  - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11e1b26ac9SSrinivas Kandagatla
12e1b26ac9SSrinivas Kandagatladescription: |
13e1b26ac9SSrinivas Kandagatla  This binding describes the Qualcomm DSP LPASS Audio ports
14e1b26ac9SSrinivas Kandagatla
15e1b26ac9SSrinivas Kandagatlaproperties:
16e1b26ac9SSrinivas Kandagatla  compatible:
17e1b26ac9SSrinivas Kandagatla    enum:
18e1b26ac9SSrinivas Kandagatla      - qcom,q6afe-dais
19e1b26ac9SSrinivas Kandagatla
20e1b26ac9SSrinivas Kandagatla  '#sound-dai-cells':
21e1b26ac9SSrinivas Kandagatla    const: 1
22e1b26ac9SSrinivas Kandagatla
23e1b26ac9SSrinivas Kandagatla  '#address-cells':
24e1b26ac9SSrinivas Kandagatla    const: 1
25e1b26ac9SSrinivas Kandagatla
26e1b26ac9SSrinivas Kandagatla  '#size-cells':
27e1b26ac9SSrinivas Kandagatla    const: 0
28e1b26ac9SSrinivas Kandagatla
29e1b26ac9SSrinivas Kandagatla# Digital Audio Interfaces
30e1b26ac9SSrinivas KandagatlapatternProperties:
31e1b26ac9SSrinivas Kandagatla  '^dai@[0-9]+$':
32e1b26ac9SSrinivas Kandagatla    type: object
33e1b26ac9SSrinivas Kandagatla    description:
34e1b26ac9SSrinivas Kandagatla      Q6DSP Digital Audio Interfaces.
35e1b26ac9SSrinivas Kandagatla
36e1b26ac9SSrinivas Kandagatla    properties:
37e1b26ac9SSrinivas Kandagatla      reg:
38e1b26ac9SSrinivas Kandagatla        description:
39e1b26ac9SSrinivas Kandagatla          Digital Audio Interface ID
40e1b26ac9SSrinivas Kandagatla
41e1b26ac9SSrinivas Kandagatla      qcom,sd-lines:
42e1b26ac9SSrinivas Kandagatla        $ref: /schemas/types.yaml#/definitions/uint32-array
43e1b26ac9SSrinivas Kandagatla        description:
44e1b26ac9SSrinivas Kandagatla          List of serial data lines used by this dai.should be one or more of the 0-3 sd lines.
45e1b26ac9SSrinivas Kandagatla        minItems: 1
46e1b26ac9SSrinivas Kandagatla        maxItems: 4
47e1b26ac9SSrinivas Kandagatla        uniqueItems: true
48e1b26ac9SSrinivas Kandagatla        items:
49e1b26ac9SSrinivas Kandagatla          minimum: 0
50e1b26ac9SSrinivas Kandagatla          maximum: 3
51e1b26ac9SSrinivas Kandagatla
52e1b26ac9SSrinivas Kandagatla      qcom,tdm-sync-mode:
53e1b26ac9SSrinivas Kandagatla        $ref: /schemas/types.yaml#/definitions/uint32
54e1b26ac9SSrinivas Kandagatla        enum: [0, 1, 2]
55e1b26ac9SSrinivas Kandagatla        description:
56e1b26ac9SSrinivas Kandagatla          TDM Synchronization mode
57e1b26ac9SSrinivas Kandagatla            0 = Short sync bit mode
58e1b26ac9SSrinivas Kandagatla            1 = Long sync mode
59e1b26ac9SSrinivas Kandagatla            2 = Short sync slot mode
60e1b26ac9SSrinivas Kandagatla
61e1b26ac9SSrinivas Kandagatla      qcom,tdm-sync-src:
62e1b26ac9SSrinivas Kandagatla        $ref: /schemas/types.yaml#/definitions/uint32
63e1b26ac9SSrinivas Kandagatla        enum: [0, 1]
64e1b26ac9SSrinivas Kandagatla        description:
65e1b26ac9SSrinivas Kandagatla          TDM Synchronization source
66e1b26ac9SSrinivas Kandagatla            0 = External source
67e1b26ac9SSrinivas Kandagatla            1 = Internal source
68e1b26ac9SSrinivas Kandagatla
69e1b26ac9SSrinivas Kandagatla      qcom,tdm-data-out:
70e1b26ac9SSrinivas Kandagatla        $ref: /schemas/types.yaml#/definitions/uint32
71e1b26ac9SSrinivas Kandagatla        enum: [0, 1]
72e1b26ac9SSrinivas Kandagatla        description:
73e1b26ac9SSrinivas Kandagatla          TDM Data out signal to drive with other masters
74e1b26ac9SSrinivas Kandagatla            0 = Disable
75e1b26ac9SSrinivas Kandagatla            1 = Enable
76e1b26ac9SSrinivas Kandagatla
77e1b26ac9SSrinivas Kandagatla      qcom,tdm-invert-sync:
78e1b26ac9SSrinivas Kandagatla        $ref: /schemas/types.yaml#/definitions/uint32
79e1b26ac9SSrinivas Kandagatla        enum: [0, 1]
80e1b26ac9SSrinivas Kandagatla        description:
81e1b26ac9SSrinivas Kandagatla          TDM Invert the sync
82e1b26ac9SSrinivas Kandagatla            0 = Normal
83e1b26ac9SSrinivas Kandagatla            1 = Invert
84e1b26ac9SSrinivas Kandagatla
85e1b26ac9SSrinivas Kandagatla      qcom,tdm-data-delay:
86e1b26ac9SSrinivas Kandagatla        $ref: /schemas/types.yaml#/definitions/uint32
87e1b26ac9SSrinivas Kandagatla        enum: [0, 1, 2]
88e1b26ac9SSrinivas Kandagatla        description:
89e1b26ac9SSrinivas Kandagatla          TDM Number of bit clock to delay data
90e1b26ac9SSrinivas Kandagatla            0 = 0 bit clock cycle
91e1b26ac9SSrinivas Kandagatla            1 = 1 bit clock cycle
92e1b26ac9SSrinivas Kandagatla            2 = 2 bit clock cycle
93e1b26ac9SSrinivas Kandagatla
94e1b26ac9SSrinivas Kandagatla      qcom,tdm-data-align:
95e1b26ac9SSrinivas Kandagatla        $ref: /schemas/types.yaml#/definitions/uint32
96e1b26ac9SSrinivas Kandagatla        enum: [0, 1]
97e1b26ac9SSrinivas Kandagatla        description:
98e1b26ac9SSrinivas Kandagatla          Indicate how data is packed within the slot. For example, 32 slot
99e1b26ac9SSrinivas Kandagatla          width in case of sample bit width is 24TDM Invert the sync.
100e1b26ac9SSrinivas Kandagatla            0 = MSB
101e1b26ac9SSrinivas Kandagatla            1 = LSB
102e1b26ac9SSrinivas Kandagatla
103e1b26ac9SSrinivas Kandagatla    required:
104e1b26ac9SSrinivas Kandagatla      - reg
105e1b26ac9SSrinivas Kandagatla
106e1b26ac9SSrinivas Kandagatla    allOf:
107e1b26ac9SSrinivas Kandagatla      - if:
108e1b26ac9SSrinivas Kandagatla          properties:
109e1b26ac9SSrinivas Kandagatla            reg:
110e1b26ac9SSrinivas Kandagatla              contains:
111e1b26ac9SSrinivas Kandagatla                # TDM DAI ID range from PRIMARY_TDM_RX_0 - QUINARY_TDM_TX_7
112e1b26ac9SSrinivas Kandagatla                items:
113e1b26ac9SSrinivas Kandagatla                  minimum: 24
114e1b26ac9SSrinivas Kandagatla                  maximum: 103
115e1b26ac9SSrinivas Kandagatla        then:
116e1b26ac9SSrinivas Kandagatla          required:
117e1b26ac9SSrinivas Kandagatla            - qcom,tdm-sync-mode
118e1b26ac9SSrinivas Kandagatla            - qcom,tdm-sync-src
119e1b26ac9SSrinivas Kandagatla            - qcom,tdm-data-out
120e1b26ac9SSrinivas Kandagatla            - qcom,tdm-invert-sync
121e1b26ac9SSrinivas Kandagatla            - qcom,tdm-data-delay
122e1b26ac9SSrinivas Kandagatla            - qcom,tdm-data-align
123e1b26ac9SSrinivas Kandagatla
124e1b26ac9SSrinivas Kandagatla      - if:
125e1b26ac9SSrinivas Kandagatla          properties:
126e1b26ac9SSrinivas Kandagatla            reg:
127e1b26ac9SSrinivas Kandagatla              contains:
128e1b26ac9SSrinivas Kandagatla                # MI2S DAI ID range PRIMARY_MI2S_RX - QUATERNARY_MI2S_TX and
129e1b26ac9SSrinivas Kandagatla                # QUINARY_MI2S_RX - QUINARY_MI2S_TX
130e1b26ac9SSrinivas Kandagatla                items:
131e1b26ac9SSrinivas Kandagatla                  oneOf:
132e1b26ac9SSrinivas Kandagatla                    - minimum: 16
133e1b26ac9SSrinivas Kandagatla                      maximum: 23
134e1b26ac9SSrinivas Kandagatla                    - minimum: 127
135e1b26ac9SSrinivas Kandagatla                      maximum: 128
136e1b26ac9SSrinivas Kandagatla        then:
137e1b26ac9SSrinivas Kandagatla          required:
138e1b26ac9SSrinivas Kandagatla            - qcom,sd-lines
139e1b26ac9SSrinivas Kandagatla
140e1b26ac9SSrinivas Kandagatla    additionalProperties: false
141e1b26ac9SSrinivas Kandagatla
142e1b26ac9SSrinivas Kandagatlarequired:
143e1b26ac9SSrinivas Kandagatla  - compatible
144e1b26ac9SSrinivas Kandagatla  - "#sound-dai-cells"
145e1b26ac9SSrinivas Kandagatla  - "#address-cells"
146e1b26ac9SSrinivas Kandagatla  - "#size-cells"
147e1b26ac9SSrinivas Kandagatla
148e1b26ac9SSrinivas KandagatlaadditionalProperties: false
149e1b26ac9SSrinivas Kandagatla
150e1b26ac9SSrinivas Kandagatlaexamples:
151e1b26ac9SSrinivas Kandagatla  - |
1523e9c0c86SKrzysztof Kozlowski    #include <dt-bindings/sound/qcom,q6dsp-lpass-ports.h>
153b2496de1SKrzysztof Kozlowski
154b2496de1SKrzysztof Kozlowski    dais {
155e1b26ac9SSrinivas Kandagatla        compatible = "qcom,q6afe-dais";
156e1b26ac9SSrinivas Kandagatla        #address-cells = <1>;
157e1b26ac9SSrinivas Kandagatla        #size-cells = <0>;
158e1b26ac9SSrinivas Kandagatla        #sound-dai-cells = <1>;
159e1b26ac9SSrinivas Kandagatla
160e1b26ac9SSrinivas Kandagatla        dai@22 {
161e1b26ac9SSrinivas Kandagatla            reg = <QUATERNARY_MI2S_RX>;
162e1b26ac9SSrinivas Kandagatla            qcom,sd-lines = <0 1 2 3>;
163e1b26ac9SSrinivas Kandagatla        };
164e1b26ac9SSrinivas Kandagatla    };
165