Skip to content

Commit 8a691bb

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

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 {
@@ -224,6 +235,27 @@
224235
piodma {
225236
iommus = <&DIE_NODE(dispext1_dart) 4>;
226237
};
238+
239+
ports {
240+
#address-cells = <1>;
241+
#size-cells = <0>;
242+
port@0 {
243+
reg = <0>;
244+
DIE_NODE(dcpext1_audio): endpoint {
245+
remote-endpoint = <&DIE_NODE(dpaudio2_dcp)>;
246+
};
247+
};
248+
};
249+
};
250+
251+
DIE_NODE(sio_dart): iommu@39b008000 {
252+
compatible = "apple,t6020-dart", "apple,t8110-dart";
253+
reg = <0x3 0x9b008000 0x0 0x4000>;
254+
interrupt-parent = <&aic>;
255+
interrupts = <AIC_IRQ DIE_NO 1231 IRQ_TYPE_LEVEL_HIGH>;
256+
#iommu-cells = <1>;
257+
power-domains = <&DIE_NODE(ps_sio)>;
258+
//apple,dma-range = <0x100 0x0001c000 0x2ff 0xfffe4000>;
227259
};
228260

229261
DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
@@ -251,6 +283,120 @@
251283
#interrupt-cells = <2>;
252284
};
253285

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

0 commit comments

Comments
 (0)