Skip to content

Commit e2780f6

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

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
@@ -188,6 +188,27 @@
188188
apple,dma-range = <0x1f0 0x0 0x0 0xfc000000>;
189189
};
190190

191+
dpaudio0: audio-controller@39b500000 {
192+
compatible = "apple,t6000-dpaudio", "apple,dpaudio";
193+
reg = <0x3 0x9b500000 0x0 0x4000>;
194+
dmas = <&sio 0x64>;
195+
dma-names = "tx";
196+
power-domains = <&ps_dpa0>;
197+
reset-domains = <&ps_dpa0>;
198+
status = "disabled";
199+
200+
ports {
201+
#address-cells = <1>;
202+
#size-cells = <0>;
203+
port@0 {
204+
reg = <0>;
205+
dpaudio0_dcp: endpoint {
206+
remote-endpoint = <&dcp_audio>;
207+
};
208+
};
209+
};
210+
};
211+
191212
dcp_mbox: mbox@38bc08000 {
192213
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
193214
reg = <0x3 0x8bc08000 0x0 0x4000>;
@@ -227,6 +248,17 @@
227248
iommus = <&disp0_dart 4>;
228249
phandle = <&disp0_piodma>;
229250
};
251+
252+
ports {
253+
#address-cells = <1>;
254+
#size-cells = <0>;
255+
port@0 {
256+
reg = <0>;
257+
dcp_audio: endpoint {
258+
remote-endpoint = <&dpaudio0_dcp>;
259+
};
260+
};
261+
};
230262
};
231263

232264
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): usb@702280000 {
461597
compatible = "apple,t6000-dwc3", "apple,t8103-dwc3";
462598
reg = <0x7 0x02280000 0x0 0xcd00>, <0x7 0x0228cd00 0x0 0x3200>;

0 commit comments

Comments
 (0)