Skip to content

Commit 2568e8b

Browse files
committed
arm64: apple: t602x: Add sio and dpaudio device nodes
Signed-off-by: Janne Grunau <j@jannau.net>
1 parent 047bf32 commit 2568e8b

3 files changed

Lines changed: 179 additions & 9 deletions

File tree

arch/arm64/boot/dts/apple/t6022-jxxxd.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
/delete-node/ &dcp_dart;
6060
/delete-node/ &dcp_mbox;
6161
/delete-node/ &dcp;
62+
/delete-node/ &dpaudio0;
6263

6364
/* delete unused always-on power-domains */
6465
/delete-node/ &ps_disp0_cpu0;

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

Lines changed: 32 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,17 @@
357357
iommus = <&disp0_dart 4>;
358358
phandle = <&disp0_piodma>;
359359
};
360+
361+
ports {
362+
#address-cells = <1>;
363+
#size-cells = <0>;
364+
port@0 {
365+
reg = <0>;
366+
dcp_audio: endpoint {
367+
remote-endpoint = <&dpaudio0_dcp>;
368+
};
369+
};
370+
};
360371
};
361372

362373
display: display-subsystem {
@@ -366,15 +377,6 @@
366377
phandle = <&display>;
367378
};
368379

369-
sio_dart: iommu@39b008000 {
370-
compatible = "apple,t6020-dart", "apple,t8110-dart";
371-
reg = <0x3 0x9b008000 0x0 0x8000>;
372-
interrupt-parent = <&aic>;
373-
interrupts = <AIC_IRQ 0 1231 IRQ_TYPE_LEVEL_HIGH>;
374-
#iommu-cells = <1>;
375-
power-domains = <&ps_sio_cpu>;
376-
};
377-
378380
fpwm0: pwm@39b030000 {
379381
compatible = "apple,t6020-fpwm", "apple,s5l-fpwm";
380382
reg = <0x3 0x9b030000 0x0 0x4000>;
@@ -581,6 +583,27 @@
581583
resets = <&ps_audio_p>;
582584
};
583585

586+
dpaudio0: audio-controller@39b500000 {
587+
compatible = "apple,t6020-dpaudio", "apple,dpaudio";
588+
reg = <0x3 0x9b500000 0x0 0x4000>;
589+
dmas = <&sio 0x64>;
590+
dma-names = "tx";
591+
power-domains = <&ps_dpa0>;
592+
reset-domains = <&ps_dpa0>;
593+
status = "disabled";
594+
595+
ports {
596+
#address-cells = <1>;
597+
#size-cells = <0>;
598+
port@0 {
599+
reg = <0>;
600+
dpaudio0_dcp: endpoint {
601+
remote-endpoint = <&dcp_audio>;
602+
};
603+
};
604+
};
605+
};
606+
584607
mca: mca@39b600000 {
585608
compatible = "apple,t6020-mca", "apple,mca";
586609
reg = <0x3 0x9b600000 0x0 0x10000>,

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

Lines changed: 146 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(pmgr): power-management@28e080000 {
@@ -232,6 +243,27 @@
232243
piodma {
233244
iommus = <&DIE_NODE(dispext1_dart) 4>;
234245
};
246+
247+
ports {
248+
#address-cells = <1>;
249+
#size-cells = <0>;
250+
port@0 {
251+
reg = <0>;
252+
DIE_NODE(dcpext1_audio): endpoint {
253+
remote-endpoint = <&DIE_NODE(dpaudio2_dcp)>;
254+
};
255+
};
256+
};
257+
};
258+
259+
DIE_NODE(sio_dart): iommu@39b008000 {
260+
compatible = "apple,t6020-dart", "apple,t8110-dart";
261+
reg = <0x3 0x9b008000 0x0 0x4000>;
262+
interrupt-parent = <&aic>;
263+
interrupts = <AIC_IRQ DIE_NO 1231 IRQ_TYPE_LEVEL_HIGH>;
264+
#iommu-cells = <1>;
265+
power-domains = <&DIE_NODE(ps_sio)>;
266+
//apple,dma-range = <0x100 0x0001c000 0x2ff 0xfffe4000>;
235267
};
236268

237269
DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
@@ -259,6 +291,120 @@
259291
#interrupt-cells = <2>;
260292
};
261293

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

0 commit comments

Comments
 (0)