Skip to content

Commit 92008b6

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

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
@@ -203,6 +203,27 @@
203203
apple,dma-range = <0x1f0 0x0 0x0 0xfc000000>;
204204
};
205205

206+
dpaudio0: audio-controller@39b500000 {
207+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
208+
reg = <0x3 0x9b500000 0x0 0x4000>;
209+
dmas = <&sio 0x64>;
210+
dma-names = "tx";
211+
power-domains = <&ps_dpa0>;
212+
reset-domains = <&ps_dpa0>;
213+
status = "disabled";
214+
215+
ports {
216+
#address-cells = <1>;
217+
#size-cells = <0>;
218+
port@0 {
219+
reg = <0>;
220+
dpaudio0_dcp: endpoint {
221+
remote-endpoint = <&dcp_audio>;
222+
};
223+
};
224+
};
225+
};
226+
206227
dcp_mbox: mbox@38bc08000 {
207228
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
208229
reg = <0x3 0x8bc08000 0x0 0x4000>;
@@ -239,6 +260,17 @@
239260
iommus = <&disp0_dart 4>;
240261
phandle = <&disp0_piodma>;
241262
};
263+
264+
ports {
265+
#address-cells = <1>;
266+
#size-cells = <0>;
267+
port@0 {
268+
reg = <0>;
269+
dcp_audio: endpoint {
270+
remote-endpoint = <&dpaudio0_dcp>;
271+
};
272+
};
273+
};
242274
};
243275

244276
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
@@ -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(dispext1_dart): iommu@28c304000 {
@@ -148,6 +159,17 @@
148159
piodma {
149160
iommus = <&DIE_NODE(dispext1_dart) 4>;
150161
};
162+
163+
ports {
164+
#address-cells = <1>;
165+
#size-cells = <0>;
166+
port@0 {
167+
reg = <0>;
168+
DIE_NODE(dcpext1_audio): endpoint {
169+
remote-endpoint = <&DIE_NODE(dpaudio2_dcp)>;
170+
};
171+
};
172+
};
151173
};
152174

153175
DIE_NODE(pmgr): power-management@28e080000 {
@@ -451,6 +473,120 @@
451473
#interrupt-cells = <2>;
452474
};
453475

476+
DIE_NODE(sio_mbox): mbox@39bc08000 {
477+
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
478+
reg = <0x3 0x9bc08000 0x0 0x4000>;
479+
interrupt-parent = <&aic>;
480+
interrupts = <AIC_IRQ DIE_NO 1147 IRQ_TYPE_LEVEL_HIGH>,
481+
<AIC_IRQ DIE_NO 1148 IRQ_TYPE_LEVEL_HIGH>,
482+
<AIC_IRQ DIE_NO 1149 IRQ_TYPE_LEVEL_HIGH>,
483+
<AIC_IRQ DIE_NO 1150 IRQ_TYPE_LEVEL_HIGH>;
484+
interrupt-names = "send-empty", "send-not-empty",
485+
"recv-empty", "recv-not-empty";
486+
#mbox-cells = <0>;
487+
power-domains = <&DIE_NODE(ps_sio_cpu)>;
488+
};
489+
490+
DIE_NODE(sio): sio@39bc00000 {
491+
compatible = "apple,t6000-sio", "apple,sio";
492+
reg = <0x3 0x9bc00000 0x0 0x8000>;
493+
dma-channels = <128>;
494+
#dma-cells = <1>;
495+
mboxes = <&DIE_NODE(sio_mbox)>;
496+
iommus = <&DIE_NODE(sio_dart_0) 0>, <&DIE_NODE(sio_dart_1) 0>;
497+
power-domains = <&DIE_NODE(ps_sio_cpu)>;
498+
resets = <&DIE_NODE(ps_sio)>; /* TODO: verify reset does something */
499+
status = "disabled";
500+
};
501+
502+
DIE_NODE(dpaudio1): audio-controller@39b504000 {
503+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
504+
reg = <0x3 0x9b540000 0x0 0x4000>;
505+
dmas = <&DIE_NODE(sio) 0x66>;
506+
dma-names = "tx";
507+
power-domains = <&DIE_NODE(ps_dpa1)>;
508+
reset-domains = <&DIE_NODE(ps_dpa1)>;
509+
status = "disabled";
510+
511+
ports {
512+
#address-cells = <1>;
513+
#size-cells = <0>;
514+
port@0 {
515+
reg = <0>;
516+
DIE_NODE(dpaudio1_dcp): endpoint {
517+
remote-endpoint = <&DIE_NODE(dcpext0_audio)>;
518+
};
519+
};
520+
};
521+
};
522+
523+
DIE_NODE(dpaudio2): audio-controller@39b508000 {
524+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
525+
reg = <0x3 0x9b580000 0x0 0x4000>;
526+
dmas = <&DIE_NODE(sio) 0x68>;
527+
dma-names = "tx";
528+
power-domains = <&DIE_NODE(ps_dpa2)>;
529+
reset-domains = <&DIE_NODE(ps_dpa2)>;
530+
status = "disabled";
531+
532+
ports {
533+
#address-cells = <1>;
534+
#size-cells = <0>;
535+
port@0 {
536+
reg = <0>;
537+
DIE_NODE(dpaudio2_dcp): endpoint {
538+
remote-endpoint = <&DIE_NODE(dcpext1_audio)>;
539+
};
540+
};
541+
};
542+
};
543+
544+
/*
545+
* omit dpaudio3 / 4 as long as the linked dcpext nodes don't exist
546+
*
547+
DIE_NODE(dpaudio3): audio-controller@39b50c000 {
548+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
549+
reg = <0x3 0x9b5c0000 0x0 0x4000>;
550+
dmas = <&DIE_NODE(sio) 0x6a>;
551+
dma-names = "tx";
552+
power-domains = <&DIE_NODE(ps_dpa3)>;
553+
reset-domains = <&DIE_NODE(ps_dpa3)>;
554+
status = "disabled";
555+
556+
ports {
557+
#address-cells = <1>;
558+
#size-cells = <0>;
559+
port@0 {
560+
reg = <0>;
561+
DIE_NODE(dpaudio3_dcp): endpoint {
562+
remote-endpoint = <&DIE_NODE(dcpext2_audio)>;
563+
};
564+
};
565+
};
566+
};
567+
568+
DIE_NODE(dpaudio4): audio-controller@39b510000 {
569+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
570+
reg = <0x3 0x9b500000 0x0 0x4000>;
571+
dmas = <&DIE_NODE(sio) 0x6c>;
572+
dma-names = "tx";
573+
power-domains = <&DIE_NODE(ps_dpa4)>;
574+
reset-domains = <&DIE_NODE(ps_dpa4)>;
575+
status = "disabled";
576+
577+
ports {
578+
#address-cells = <1>;
579+
#size-cells = <0>;
580+
port@0 {
581+
reg = <0>;
582+
DIE_NODE(dpaudio4_dcp): endpoint {
583+
remote-endpoint = <&DIE_NODE(dcpext3_audio)>;
584+
};
585+
};
586+
};
587+
};
588+
*/
589+
454590
DIE_NODE(dwc3_0_dart_0): iommu@702f00000 {
455591
compatible = "apple,t6000-dart";
456592
reg = <0x7 0x02f00000 0x0 0x4000>;

0 commit comments

Comments
 (0)