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