~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/soundwire/qcom,soundwire.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/soundwire/qcom,soundwire.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Qualcomm SoundWire Controller
  8 
  9 maintainers:
 10   - Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
 11   - Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
 12 
 13 description:
 14   The Qualcomm SoundWire controller along with its board specific bus parameters.
 15 
 16 properties:
 17   compatible:
 18     enum:
 19       - qcom,soundwire-v1.3.0
 20       - qcom,soundwire-v1.5.0
 21       - qcom,soundwire-v1.5.1
 22       - qcom,soundwire-v1.6.0
 23       - qcom,soundwire-v1.7.0
 24       - qcom,soundwire-v2.0.0
 25 
 26   reg:
 27     maxItems: 1
 28 
 29   interrupts:
 30     minItems: 1
 31     items:
 32       - description: specify the SoundWire controller core.
 33       - description: specify the Soundwire controller wake IRQ.
 34 
 35   interrupt-names:
 36     minItems: 1
 37     items:
 38       - const: core
 39       - const: wakeup
 40 
 41   clocks:
 42     items:
 43       - description: iface clock
 44 
 45   clock-names:
 46     items:
 47       - const: iface
 48 
 49   resets:
 50     items:
 51       - description: SWR_AUDIO_CGCR RESET
 52 
 53   reset-names:
 54     items:
 55       - const: swr_audio_cgcr
 56 
 57   '#sound-dai-cells':
 58     const: 1
 59 
 60   '#address-cells':
 61     const: 2
 62 
 63   '#size-cells':
 64     const: 0
 65 
 66   wakeup-source: true
 67 
 68   qcom,din-ports:
 69     $ref: /schemas/types.yaml#/definitions/uint32
 70     description: count of data in ports
 71 
 72   qcom,dout-ports:
 73     $ref: /schemas/types.yaml#/definitions/uint32
 74     description: count of data out ports
 75 
 76   qcom,ports-word-length:
 77     $ref: /schemas/types.yaml#/definitions/uint8-array
 78     description:
 79       Size of payload channel sample.
 80       Value of 0xff indicates that this option is not implemented
 81       or applicable for the respective data port.
 82       More info in MIPI Alliance SoundWire 1.0 Specifications.
 83     minItems: 3
 84     maxItems: 16
 85 
 86   qcom,ports-sinterval-low:
 87     $ref: /schemas/types.yaml#/definitions/uint8-array
 88     description:
 89       Sample interval (only lowest byte) of each data port.
 90       Out ports followed by In ports. Used for Sample Interval calculation.
 91       Value of 0xff indicates that this option is not implemented
 92       or applicable for the respective data port.
 93       More info in MIPI Alliance SoundWire 1.0 Specifications.
 94     minItems: 3
 95     maxItems: 16
 96 
 97   qcom,ports-sinterval:
 98     $ref: /schemas/types.yaml#/definitions/uint16-array
 99     description:
100       Sample interval of each data port.
101       Out ports followed by In ports. Used for Sample Interval calculation.
102       Value of 0xffff indicates that this option is not implemented
103       or applicable for the respective data port.
104       More info in MIPI Alliance SoundWire 1.0 Specifications.
105     minItems: 3
106     maxItems: 16
107 
108   qcom,ports-offset1:
109     $ref: /schemas/types.yaml#/definitions/uint8-array
110     description:
111       Payload transport window offset1 of each data port.
112       Out ports followed by In ports.
113       Value of 0xff indicates that this option is not implemented
114       or applicable for the respective data port.
115       More info in MIPI Alliance SoundWire 1.0 Specifications.
116     minItems: 3
117     maxItems: 16
118 
119   qcom,ports-offset2:
120     $ref: /schemas/types.yaml#/definitions/uint8-array
121     description:
122       Payload transport window offset2 of each data port.
123       Out ports followed by In ports.
124       Value of 0xff indicates that this option is not implemented
125       or applicable for the respective data port.
126       More info in MIPI Alliance SoundWire 1.0 Specifications.
127     minItems: 3
128     maxItems: 16
129 
130   qcom,ports-lane-control:
131     $ref: /schemas/types.yaml#/definitions/uint8-array
132     description:
133       Identify which data lane the data port uses.
134       Out ports followed by In ports.
135       Value of 0xff indicates that this option is not implemented
136       or applicable for the respective data port.
137       More info in MIPI Alliance SoundWire 1.0 Specifications.
138     minItems: 3
139     maxItems: 16
140 
141   qcom,ports-block-pack-mode:
142     $ref: /schemas/types.yaml#/definitions/uint8-array
143     description:
144       Indicate the block packing mode.
145       0 to indicate Blocks are per Channel
146       1 to indicate Blocks are per Port.
147       Out ports followed by In ports.
148       Value of 0xff indicates that this option is not implemented
149       or applicable for the respective data port.
150       More info in MIPI Alliance SoundWire 1.0 Specifications.
151     minItems: 3
152     maxItems: 16
153     items:
154       oneOf:
155         - minimum: 0
156           maximum: 1
157         - const: 0xff
158 
159   qcom,ports-hstart:
160     $ref: /schemas/types.yaml#/definitions/uint8-array
161     description:
162       Identifying lowerst numbered column in SoundWire Frame,
163       i.e. left edge of the Transport sub-frame for each port.
164       Out ports followed by In ports.
165       Value of 0xff indicates that this option is not implemented
166       or applicable for the respective data port.
167       More info in MIPI Alliance SoundWire 1.0 Specifications.
168     minItems: 3
169     maxItems: 16
170     items:
171       oneOf:
172         - minimum: 0
173           maximum: 15
174         - const: 0xff
175 
176   qcom,ports-hstop:
177     $ref: /schemas/types.yaml#/definitions/uint8-array
178     description:
179       Identifying highest numbered column in SoundWire Frame,
180       i.e. the right edge of the Transport
181       sub-frame for each port. Out ports followed by In ports.
182       Value of 0xff indicates that this option is not implemented
183       or applicable for the respective data port.
184       More info in MIPI Alliance SoundWire 1.0 Specifications.
185     minItems: 3
186     maxItems: 16
187     items:
188       oneOf:
189         - minimum: 0
190           maximum: 15
191         - const: 0xff
192 
193   qcom,ports-block-group-count:
194     $ref: /schemas/types.yaml#/definitions/uint8-array
195     description:
196       In range 1 to 4 to indicate how many sample intervals are combined
197       into a payload. Out ports followed by In ports.
198       Value of 0xff indicates that this option is not implemented
199       or applicable for the respective data port.
200       More info in MIPI Alliance SoundWire 1.0 Specifications.
201     minItems: 3
202     maxItems: 16
203     items:
204       oneOf:
205         - minimum: 0
206           maximum: 4
207         - const: 0xff
208 
209   label:
210     maxItems: 1
211 
212 required:
213   - compatible
214   - reg
215   - interrupts
216   - clocks
217   - clock-names
218   - '#sound-dai-cells'
219   - '#address-cells'
220   - '#size-cells'
221   - qcom,dout-ports
222   - qcom,din-ports
223   - qcom,ports-offset1
224   - qcom,ports-offset2
225 
226 oneOf:
227   - required:
228       - qcom,ports-sinterval-low
229   - required:
230       - qcom,ports-sinterval
231 
232 allOf:
233   - $ref: soundwire-controller.yaml#
234 
235 unevaluatedProperties: false
236 
237 examples:
238   - |
239     #include <dt-bindings/interrupt-controller/arm-gic.h>
240     #include <dt-bindings/interrupt-controller/irq.h>
241     #include <dt-bindings/clock/qcom,lpassaudiocc-sc7280.h>
242 
243     soundwire@3210000 {
244         compatible = "qcom,soundwire-v1.6.0";
245         reg = <0x03210000 0x2000>;
246 
247         interrupts = <GIC_SPI 155 IRQ_TYPE_LEVEL_HIGH>,
248                      <&pdc 130 IRQ_TYPE_LEVEL_HIGH>;
249 
250         interrupt-names = "core", "wakeup";
251 
252         clocks = <&lpass_rx_macro>;
253         clock-names = "iface";
254 
255         qcom,din-ports = <0>;
256         qcom,dout-ports = <5>;
257 
258         resets = <&lpass_audiocc LPASS_AUDIO_SWR_RX_CGCR>;
259         reset-names = "swr_audio_cgcr";
260 
261         qcom,ports-word-length =        /bits/ 8 <0x01 0x07 0x04 0xff 0xff>;
262         qcom,ports-sinterval-low =      /bits/ 8 <0x03 0x3f 0x1f 0x03 0x03>;
263         qcom,ports-offset1 =            /bits/ 8 <0x00 0x00 0x0b 0x01 0x01>;
264         qcom,ports-offset2 =            /bits/ 8 <0x00 0x00 0x0b 0x00 0x00>;
265         qcom,ports-lane-control =       /bits/ 8 <0x01 0x00 0x00 0x00 0x00>;
266         qcom,ports-block-pack-mode =    /bits/ 8 <0xff 0x00 0x01 0xff 0xff>;
267         qcom,ports-hstart =             /bits/ 8 <0xff 0x03 0xff 0xff 0xff>;
268         qcom,ports-hstop =              /bits/ 8 <0xff 0x06 0xff 0xff 0xff>;
269         qcom,ports-block-group-count =  /bits/ 8 <0xff 0xff 0xff 0xff 0x00>;
270 
271         #sound-dai-cells = <1>;
272         #address-cells = <2>;
273         #size-cells = <0>;
274 
275         codec@0,4 {
276             compatible = "sdw20217010d00";
277             reg = <0 4>;
278             qcom,rx-port-mapping = <1 2 3 4 5>;
279         };
280     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php