Skip to content

Commit fbd4a97

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

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
@@ -372,6 +372,17 @@
372372
iommus = <&disp0_dart 4>;
373373
phandle = <&disp0_piodma>;
374374
};
375+
376+
ports {
377+
#address-cells = <1>;
378+
#size-cells = <0>;
379+
port@0 {
380+
reg = <0>;
381+
dcp_audio: endpoint {
382+
remote-endpoint = <&dpaudio0_dcp>;
383+
};
384+
};
385+
};
375386
};
376387

377388
display: display-subsystem {
@@ -381,15 +392,6 @@
381392
phandle = <&display>;
382393
};
383394

384-
sio_dart: iommu@39b008000 {
385-
compatible = "apple,t6020-dart", "apple,t8110-dart";
386-
reg = <0x3 0x9b008000 0x0 0x8000>;
387-
interrupt-parent = <&aic>;
388-
interrupts = <AIC_IRQ 0 1231 IRQ_TYPE_LEVEL_HIGH>;
389-
#iommu-cells = <1>;
390-
power-domains = <&ps_sio_cpu>;
391-
};
392-
393395
fpwm0: pwm@39b030000 {
394396
compatible = "apple,t6020-fpwm", "apple,s5l-fpwm";
395397
reg = <0x3 0x9b030000 0x0 0x4000>;
@@ -596,6 +598,27 @@
596598
resets = <&ps_audio_p>;
597599
};
598600

601+
dpaudio0: audio-controller@39b500000 {
602+
compatible = "apple,t6020-dpaudio", "apple,dpaudio";
603+
reg = <0x3 0x9b500000 0x0 0x4000>;
604+
dmas = <&sio 0x64>;
605+
dma-names = "tx";
606+
power-domains = <&ps_dpa0>;
607+
reset-domains = <&ps_dpa0>;
608+
status = "disabled";
609+
610+
ports {
611+
#address-cells = <1>;
612+
#size-cells = <0>;
613+
port@0 {
614+
reg = <0>;
615+
dpaudio0_dcp: endpoint {
616+
remote-endpoint = <&dcp_audio>;
617+
};
618+
};
619+
};
620+
};
621+
599622
mca: mca@39b600000 {
600623
compatible = "apple,t6020-mca", "apple,mca";
601624
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
@@ -85,6 +85,17 @@
8585
piodma {
8686
iommus = <&DIE_NODE(dispext0_dart) 4>;
8787
};
88+
89+
ports {
90+
#address-cells = <1>;
91+
#size-cells = <0>;
92+
port@0 {
93+
reg = <0>;
94+
DIE_NODE(dcpext0_audio): endpoint {
95+
remote-endpoint = <&DIE_NODE(dpaudio1_dcp)>;
96+
};
97+
};
98+
};
8899
};
89100

90101
DIE_NODE(pmgr): power-management@28e080000 {
@@ -226,6 +237,27 @@
226237
piodma {
227238
iommus = <&DIE_NODE(dispext1_dart) 4>;
228239
};
240+
241+
ports {
242+
#address-cells = <1>;
243+
#size-cells = <0>;
244+
port@0 {
245+
reg = <0>;
246+
DIE_NODE(dcpext1_audio): endpoint {
247+
remote-endpoint = <&DIE_NODE(dpaudio2_dcp)>;
248+
};
249+
};
250+
};
251+
};
252+
253+
DIE_NODE(sio_dart): iommu@39b008000 {
254+
compatible = "apple,t6020-dart", "apple,t8110-dart";
255+
reg = <0x3 0x9b008000 0x0 0x4000>;
256+
interrupt-parent = <&aic>;
257+
interrupts = <AIC_IRQ DIE_NO 1231 IRQ_TYPE_LEVEL_HIGH>;
258+
#iommu-cells = <1>;
259+
power-domains = <&DIE_NODE(ps_sio)>;
260+
//apple,dma-range = <0x100 0x0001c000 0x2ff 0xfffe4000>;
229261
};
230262

231263
DIE_NODE(pinctrl_ap): pinctrl@39b028000 {
@@ -253,6 +285,120 @@
253285
#interrupt-cells = <2>;
254286
};
255287

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

0 commit comments

Comments
 (0)