blob: 08c618e7e4281d46c520b26ea24225bddd0d5e8b [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: Qualcomm DSP LPASS(Low Power Audio SubSystem) Audio Ports
8
9maintainers:
10 - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11
12description: |
13 This binding describes the Qualcomm DSP LPASS Audio ports
14
15properties:
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
30patternProperties:
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
142required:
143 - compatible
144 - "#sound-dai-cells"
145 - "#address-cells"
146 - "#size-cells"
147
148additionalProperties: false
149
150examples:
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 };