Skip to content

Commit 61e14b6

Browse files
committed
arm64: apple: t600x: Add sio and dpaudio device nodes
Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 6972990 commit 61e14b6

2 files changed

Lines changed: 168 additions & 0 deletions

File tree

arch/arm64/boot/dts/apple/t600x-die0.dtsi

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,6 +188,27 @@
188188
apple,dma-range = <0x1f0 0x0 0x0 0xfc000000>;
189189
};
190190

191+
dpaudio0: audio-controller@39b500000 {
192+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
193+
reg = <0x3 0x9b500000 0x0 0x4000>;
194+
dmas = <&sio 0x64>;
195+
dma-names = "tx";
196+
power-domains = <&ps_dpa0>;
197+
reset-domains = <&ps_dpa0>;
198+
status = "disabled";
199+
200+
ports {
201+
#address-cells = <1>;
202+
#size-cells = <0>;
203+
port@0 {
204+
reg = <0>;
205+
dpaudio0_dcp: endpoint {
206+
remote-endpoint = <&dcp_audio>;
207+
};
208+
};
209+
};
210+
};
211+
191212
dcp_mbox: mbox@38bc08000 {
192213
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
193214
reg = <0x3 0x8bc08000 0x0 0x4000>;
@@ -227,6 +248,17 @@
227248
iommus = <&disp0_dart 4>;
228249
phandle = <&disp0_piodma>;
229250
};
251+
252+
ports {
253+
#address-cells = <1>;
254+
#size-cells = <0>;
255+
port@0 {
256+
reg = <0>;
257+
dcp_audio: endpoint {
258+
remote-endpoint = <&dpaudio0_dcp>;
259+
};
260+
};
261+
};
230262
};
231263

232264
display: display-subsystem {

arch/arm64/boot/dts/apple/t600x-dieX.dtsi

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,17 @@
8888
piodma {
8989
iommus = <&DIE_NODE(dispext0_dart) 4>;
9090
};
91+
92+
ports {
93+
#address-cells = <1>;
94+
#size-cells = <0>;
95+
port@0 {
96+
reg = <0>;
97+
DIE_NODE(dcpext0_audio): endpoint {
98+
remote-endpoint = <&DIE_NODE(dpaudio1_dcp)>;
99+
};
100+
};
101+
};
91102
};
92103

93104
DIE_NODE(dispext1_dart): iommu@28c304000 {
@@ -154,6 +165,17 @@
154165
piodma {
155166
iommus = <&DIE_NODE(dispext1_dart) 4>;
156167
};
168+
169+
ports {
170+
#address-cells = <1>;
171+
#size-cells = <0>;
172+
port@0 {
173+
reg = <0>;
174+
DIE_NODE(dcpext1_audio): endpoint {
175+
remote-endpoint = <&DIE_NODE(dpaudio2_dcp)>;
176+
};
177+
};
178+
};
157179
};
158180

159181
DIE_NODE(pmgr): power-management@28e080000 {
@@ -270,6 +292,120 @@
270292
#interrupt-cells = <2>;
271293
};
272294

295+
DIE_NODE(sio_mbox): mbox@39bc08000 {
296+
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
297+
reg = <0x3 0x9bc08000 0x0 0x4000>;
298+
interrupt-parent = <&aic>;
299+
interrupts = <AIC_IRQ DIE_NO 1147 IRQ_TYPE_LEVEL_HIGH>,
300+
<AIC_IRQ DIE_NO 1148 IRQ_TYPE_LEVEL_HIGH>,
301+
<AIC_IRQ DIE_NO 1149 IRQ_TYPE_LEVEL_HIGH>,
302+
<AIC_IRQ DIE_NO 1150 IRQ_TYPE_LEVEL_HIGH>;
303+
interrupt-names = "send-empty", "send-not-empty",
304+
"recv-empty", "recv-not-empty";
305+
#mbox-cells = <0>;
306+
power-domains = <&DIE_NODE(ps_sio_cpu)>;
307+
};
308+
309+
DIE_NODE(sio): sio@39bc00000 {
310+
compatible = "apple,t6000-sio", "apple,sio";
311+
reg = <0x3 0x9bc00000 0x0 0x8000>;
312+
dma-channels = <128>;
313+
#dma-cells = <1>;
314+
mboxes = <&DIE_NODE(sio_mbox)>;
315+
iommus = <&DIE_NODE(sio_dart_0) 0>, <&DIE_NODE(sio_dart_1) 0>;
316+
power-domains = <&DIE_NODE(ps_sio_cpu)>;
317+
resets = <&DIE_NODE(ps_sio)>; /* TODO: verify reset does something */
318+
status = "disabled";
319+
};
320+
321+
DIE_NODE(dpaudio1): audio-controller@39b504000 {
322+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
323+
reg = <0x3 0x9b540000 0x0 0x4000>;
324+
dmas = <&DIE_NODE(sio) 0x66>;
325+
dma-names = "tx";
326+
power-domains = <&DIE_NODE(ps_dpa1)>;
327+
reset-domains = <&DIE_NODE(ps_dpa1)>;
328+
status = "disabled";
329+
330+
ports {
331+
#address-cells = <1>;
332+
#size-cells = <0>;
333+
port@0 {
334+
reg = <0>;
335+
DIE_NODE(dpaudio1_dcp): endpoint {
336+
remote-endpoint = <&DIE_NODE(dcpext0_audio)>;
337+
};
338+
};
339+
};
340+
};
341+
342+
DIE_NODE(dpaudio2): audio-controller@39b508000 {
343+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
344+
reg = <0x3 0x9b580000 0x0 0x4000>;
345+
dmas = <&DIE_NODE(sio) 0x68>;
346+
dma-names = "tx";
347+
power-domains = <&DIE_NODE(ps_dpa2)>;
348+
reset-domains = <&DIE_NODE(ps_dpa2)>;
349+
status = "disabled";
350+
351+
ports {
352+
#address-cells = <1>;
353+
#size-cells = <0>;
354+
port@0 {
355+
reg = <0>;
356+
DIE_NODE(dpaudio2_dcp): endpoint {
357+
remote-endpoint = <&DIE_NODE(dcpext1_audio)>;
358+
};
359+
};
360+
};
361+
};
362+
363+
/*
364+
* omit dpaudio3 / 4 as long as the linked dcpext nodes don't exist
365+
*
366+
DIE_NODE(dpaudio3): audio-controller@39b50c000 {
367+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
368+
reg = <0x3 0x9b5c0000 0x0 0x4000>;
369+
dmas = <&DIE_NODE(sio) 0x6a>;
370+
dma-names = "tx";
371+
power-domains = <&DIE_NODE(ps_dpa3)>;
372+
reset-domains = <&DIE_NODE(ps_dpa3)>;
373+
status = "disabled";
374+
375+
ports {
376+
#address-cells = <1>;
377+
#size-cells = <0>;
378+
port@0 {
379+
reg = <0>;
380+
DIE_NODE(dpaudio3_dcp): endpoint {
381+
remote-endpoint = <&DIE_NODE(dcpext2_audio)>;
382+
};
383+
};
384+
};
385+
};
386+
387+
DIE_NODE(dpaudio4): audio-controller@39b510000 {
388+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
389+
reg = <0x3 0x9b500000 0x0 0x4000>;
390+
dmas = <&DIE_NODE(sio) 0x6c>;
391+
dma-names = "tx";
392+
power-domains = <&DIE_NODE(ps_dpa4)>;
393+
reset-domains = <&DIE_NODE(ps_dpa4)>;
394+
status = "disabled";
395+
396+
ports {
397+
#address-cells = <1>;
398+
#size-cells = <0>;
399+
port@0 {
400+
reg = <0>;
401+
DIE_NODE(dpaudio4_dcp): endpoint {
402+
remote-endpoint = <&DIE_NODE(dcpext3_audio)>;
403+
};
404+
};
405+
};
406+
};
407+
*/
408+
273409
DIE_NODE(dwc3_0): usb@702280000 {
274410
compatible = "apple,t6000-dwc3", "apple,t8103-dwc3";
275411
reg = <0x7 0x02280000 0x0 0xcd00>, <0x7 0x0228cd00 0x0 0x3200>;

0 commit comments

Comments
 (0)