Skip to content

Commit 0a1c5f3

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

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
@@ -58,6 +58,7 @@
5858
/delete-node/ &dcp_dart;
5959
/delete-node/ &dcp_mbox;
6060
/delete-node/ &dcp;
61+
/delete-node/ &dpaudio0;
6162

6263
/* delete power-domains for missing disp0 / disp0_die1 */
6364
/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
@@ -355,6 +355,17 @@
355355
iommus = <&disp0_dart 4>;
356356
phandle = <&disp0_piodma>;
357357
};
358+
359+
ports {
360+
#address-cells = <1>;
361+
#size-cells = <0>;
362+
port@0 {
363+
reg = <0>;
364+
dcp_audio: endpoint {
365+
remote-endpoint = <&dpaudio0_dcp>;
366+
};
367+
};
368+
};
358369
};
359370

360371
display: display-subsystem {
@@ -364,15 +375,6 @@
364375
phandle = <&display>;
365376
};
366377

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

584+
dpaudio0: audio-controller@39b500000 {
585+
compatible = "apple,t6020-dpaudio", "apple,dpaudio";
586+
reg = <0x3 0x9b500000 0x0 0x4000>;
587+
dmas = <&sio 0x64>;
588+
dma-names = "tx";
589+
power-domains = <&ps_dpa0>;
590+
reset-domains = <&ps_dpa0>;
591+
status = "disabled";
592+
593+
ports {
594+
#address-cells = <1>;
595+
#size-cells = <0>;
596+
port@0 {
597+
reg = <0>;
598+
dpaudio0_dcp: endpoint {
599+
remote-endpoint = <&dcp_audio>;
600+
};
601+
};
602+
};
603+
};
604+
582605
mca: mca@39b600000 {
583606
compatible = "apple,t6020-mca", "apple,t8103-mca", "apple,mca";
584607
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
@@ -87,6 +87,17 @@
8787
piodma {
8888
iommus = <&DIE_NODE(dispext0_dart) 4>;
8989
};
90+
91+
ports {
92+
#address-cells = <1>;
93+
#size-cells = <0>;
94+
port@0 {
95+
reg = <0>;
96+
DIE_NODE(dcpext0_audio): endpoint {
97+
remote-endpoint = <&DIE_NODE(dpaudio1_dcp)>;
98+
};
99+
};
100+
};
90101
};
91102

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

236268
DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
@@ -258,6 +290,120 @@
258290
#interrupt-cells = <2>;
259291
};
260292

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

0 commit comments

Comments
 (0)