Skip to content

Commit 5b166c0

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

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>;
@@ -242,6 +263,17 @@
242263
iommus = <&disp0_dart 4>;
243264
phandle = <&disp0_piodma>;
244265
};
266+
267+
ports {
268+
#address-cells = <1>;
269+
#size-cells = <0>;
270+
port@0 {
271+
reg = <0>;
272+
dcp_audio: endpoint {
273+
remote-endpoint = <&dpaudio0_dcp>;
274+
};
275+
};
276+
};
245277
};
246278

247279
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
@@ -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(dispext1_dart): iommu@28c304000 {
@@ -154,6 +165,17 @@
154165
piodma {
155166
iommus = <&DIE_NODE(dispext1_dart) 4>;
156167
};
168+
169+
ports {
170+
#address-cells = <1>;
171+
#size-cells = <0>;
172+
port@0 {
173+
reg = <0>;
174+
DIE_NODE(dcpext1_audio): endpoint {
175+
remote-endpoint = <&DIE_NODE(dpaudio2_dcp)>;
176+
};
177+
};
178+
};
157179
};
158180

159181
DIE_NODE(pmgr): power-management@28e080000 {
@@ -457,6 +479,120 @@
457479
#interrupt-cells = <2>;
458480
};
459481

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

0 commit comments

Comments
 (0)