Skip to content

Commit 07ab228

Browse files
WhatAmISupposedToPutHerejannau
authored andcommitted
arm64: dts: apple: Add AOP and subdevices
Signed-off-by: Sasha Finkelstein <fnkl.kernel@gmail.com>
1 parent ce9bc74 commit 07ab228

4 files changed

Lines changed: 250 additions & 0 deletions

File tree

arch/arm64/boot/dts/apple/t600x-die0.dtsi

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,69 @@
182182
};
183183
};
184184

185+
aop_mbox: mbox@293408000 {
186+
compatible = "apple,t6000-asc-mailbox", "apple,asc-mailbox-v4";
187+
reg = <0x2 0x93408000 0x0 0x4000>;
188+
interrupt-parent = <&aic>;
189+
interrupts = <AIC_IRQ 0 582 IRQ_TYPE_LEVEL_HIGH>,
190+
<AIC_IRQ 0 583 IRQ_TYPE_LEVEL_HIGH>,
191+
<AIC_IRQ 0 584 IRQ_TYPE_LEVEL_HIGH>,
192+
<AIC_IRQ 0 585 IRQ_TYPE_LEVEL_HIGH>;
193+
interrupt-names = "send-empty", "send-not-empty",
194+
"recv-empty", "recv-not-empty";
195+
#mbox-cells = <0>;
196+
status = "disabled";
197+
};
198+
199+
aop_dart: iommu@293808000 {
200+
compatible = "apple,t6000-dart";
201+
reg = <0x2 0x93808000 0x0 0x4000>;
202+
#iommu-cells = <1>;
203+
interrupt-parent = <&aic>;
204+
interrupts = <AIC_IRQ 0 597 IRQ_TYPE_LEVEL_HIGH>;
205+
status = "disabled";
206+
};
207+
208+
aop_admac: dma-controller@293980000 {
209+
/*
210+
* Use "admac2" until commit "dmaengine: apple-admac: Avoid
211+
* accessing registers in probe" is long enough upstream (not
212+
* yet as of 2024-12-30)
213+
*/
214+
// compatible = "apple,t6000-admac", "apple,admac";
215+
compatible = "apple,t6000-admac2", "apple,admac2";
216+
reg = <0x2 0x93980000 0x0 0x34000>;
217+
#dma-cells = <1>;
218+
dma-channels = <16>;
219+
interrupts-extended = <0>,
220+
<0>,
221+
<&aic AIC_IRQ 0 600 IRQ_TYPE_LEVEL_HIGH>,
222+
<0>;
223+
iommus = <&aop_dart 7>;
224+
status = "disabled";
225+
};
226+
227+
aop: aop@293c00000 {
228+
compatible = "apple,t6000-aop";
229+
reg = <0x2 0x93c00000 0x0 0x250000>,
230+
<0x2 0x93400000 0x0 0x6c000>;
231+
mboxes = <&aop_mbox>;
232+
mbox-names = "mbox";
233+
iommus = <&aop_dart 0>;
234+
235+
status = "disabled";
236+
237+
aop_audio: audio {
238+
dmas = <&aop_admac 1>;
239+
dma-names = "dma";
240+
};
241+
242+
aop_als: als {
243+
// intentionally empty
244+
};
245+
246+
};
247+
185248
disp0_dart: iommu@38b304000 {
186249
compatible = "apple,t6000-dart";
187250
reg = <0x3 0x8b304000 0x0 0x4000>;

arch/arm64/boot/dts/apple/t602x-die0.dtsi

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,69 @@
185185
<AIC_IRQ 0 857 IRQ_TYPE_LEVEL_HIGH>;
186186
};
187187

188+
aop_mbox: mbox@2a6408000 {
189+
compatible = "apple,t6020-asc-mailbox", "apple,asc-mailbox-v4";
190+
reg = <0x2 0xa6408000 0x0 0x4000>;
191+
interrupt-parent = <&aic>;
192+
interrupts = <AIC_IRQ 0 613 IRQ_TYPE_LEVEL_HIGH>,
193+
<AIC_IRQ 0 614 IRQ_TYPE_LEVEL_HIGH>,
194+
<AIC_IRQ 0 615 IRQ_TYPE_LEVEL_HIGH>,
195+
<AIC_IRQ 0 616 IRQ_TYPE_LEVEL_HIGH>;
196+
interrupt-names = "send-empty", "send-not-empty",
197+
"recv-empty", "recv-not-empty";
198+
#mbox-cells = <0>;
199+
status = "disabled";
200+
};
201+
202+
aop_dart: iommu@2a6808000 {
203+
compatible = "apple,t6020-dart", "apple,t8110-dart";
204+
reg = <0x2 0xa6808000 0x0 0x4000>;
205+
#iommu-cells = <1>;
206+
interrupt-parent = <&aic>;
207+
interrupts = <AIC_IRQ 0 628 IRQ_TYPE_LEVEL_HIGH>;
208+
status = "disabled";
209+
apple,dma-range = <0x100 0x0 0x300 0x0>;
210+
};
211+
212+
aop_admac: dma-controller@2a6980000 {
213+
/*
214+
* Use "admac2" until commit "dmaengine: apple-admac: Avoid
215+
* accessing registers in probe" is long enough upstream (not
216+
* yet as of 2024-12-30)
217+
*/
218+
// compatible = "apple,t6020-admac", "apple,admac";
219+
compatible = "apple,t6020-admac2", "apple,admac2";
220+
reg = <0x2 0xa6980000 0x0 0x34000>;
221+
#dma-cells = <1>;
222+
dma-channels = <16>;
223+
interrupts-extended = <0>,
224+
<0>,
225+
<&aic AIC_IRQ 0 631 IRQ_TYPE_LEVEL_HIGH>,
226+
<0>;
227+
iommus = <&aop_dart 10>;
228+
status = "disabled";
229+
};
230+
231+
aop: aop@2a6c00000 {
232+
compatible = "apple,t6020-aop";
233+
reg = <0x2 0xa6c00000 0x0 0x250000>,
234+
<0x2 0xa6400000 0x0 0x6c000>;
235+
mboxes = <&aop_mbox>;
236+
mbox-names = "mbox";
237+
iommus = <&aop_dart 0>;
238+
239+
status = "disabled";
240+
241+
aop_audio: audio {
242+
dmas = <&aop_admac 1>;
243+
dma-names = "dma";
244+
};
245+
246+
aop_als: als {
247+
// intentionally empty
248+
};
249+
};
250+
188251
mtp: mtp@2a9400000 {
189252
compatible = "apple,t6020-mtp", "apple,t6020-rtk-helper-asc4", "apple,mtp", "apple,rtk-helper-asc4";
190253
reg = <0x2 0xa9400000 0x0 0x4000>,

arch/arm64/boot/dts/apple/t8103.dtsi

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1320,6 +1320,68 @@
13201320
<AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>;
13211321
};
13221322

1323+
aop_mbox: mbox@24a408000 {
1324+
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
1325+
reg = <0x2 0x4a408000 0x0 0x4000>;
1326+
interrupt-parent = <&aic>;
1327+
interrupts = <AIC_IRQ 285 IRQ_TYPE_LEVEL_HIGH>,
1328+
<AIC_IRQ 286 IRQ_TYPE_LEVEL_HIGH>,
1329+
<AIC_IRQ 287 IRQ_TYPE_LEVEL_HIGH>,
1330+
<AIC_IRQ 288 IRQ_TYPE_LEVEL_HIGH>;
1331+
interrupt-names = "send-empty", "send-not-empty",
1332+
"recv-empty", "recv-not-empty";
1333+
#mbox-cells = <0>;
1334+
status = "disabled";
1335+
};
1336+
1337+
aop_dart: iommu@24a808000 {
1338+
compatible = "apple,t8103-dart";
1339+
reg = <0x2 0x4a808000 0x0 0x4000>;
1340+
#iommu-cells = <1>;
1341+
interrupt-parent = <&aic>;
1342+
interrupts = <AIC_IRQ 300 IRQ_TYPE_LEVEL_HIGH>;
1343+
status = "disabled";
1344+
};
1345+
1346+
aop_admac: dma-controller@24a980000 {
1347+
/*
1348+
* Use "admac2" until commit "dmaengine: apple-admac:
1349+
* Avoid accessing registers in probe" is long enough
1350+
* upstream (not yet as of 2024-12-30)
1351+
*/
1352+
// compatible = "apple,t8103-admac", "apple,admac";
1353+
compatible = "apple,t8103-admac2", "apple,admac2";
1354+
reg = <0x2 0x4a980000 0x0 0x34000>;
1355+
#dma-cells = <1>;
1356+
dma-channels = <16>;
1357+
interrupts-extended = <0>,
1358+
<0>,
1359+
<&aic AIC_IRQ 321 IRQ_TYPE_LEVEL_HIGH>,
1360+
<0>;
1361+
iommus = <&aop_dart 7>;
1362+
status = "disabled";
1363+
};
1364+
1365+
aop: aop@24ac00000 {
1366+
compatible = "apple,t8103-aop";
1367+
reg = <0x2 0x4ac00000 0x0 0x1e0000>,
1368+
<0x2 0x4a400000 0x0 0x6c000>;
1369+
mboxes = <&aop_mbox>;
1370+
mbox-names = "mbox";
1371+
iommus = <&aop_dart 0>;
1372+
1373+
status = "disabled";
1374+
1375+
aop_audio: audio {
1376+
dmas = <&aop_admac 1>;
1377+
dma-names = "dma";
1378+
};
1379+
1380+
aop_als: als {
1381+
// intentionally empty
1382+
};
1383+
};
1384+
13231385
dispext0_dart: iommu@271304000 {
13241386
compatible = "apple,t8103-dart";
13251387
reg = <0x2 0x71304000 0x0 0x4000>;

arch/arm64/boot/dts/apple/t8112.dtsi

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1437,6 +1437,68 @@
14371437
<AIC_IRQ 307 IRQ_TYPE_LEVEL_HIGH>;
14381438
};
14391439

1440+
aop_mbox: mbox@24a408000 {
1441+
compatible = "apple,t8112-asc-mailbox", "apple,asc-mailbox-v4";
1442+
reg = <0x2 0x4a408000 0x0 0x4000>;
1443+
interrupt-parent = <&aic>;
1444+
interrupts = <AIC_IRQ 318 IRQ_TYPE_LEVEL_HIGH>,
1445+
<AIC_IRQ 319 IRQ_TYPE_LEVEL_HIGH>,
1446+
<AIC_IRQ 320 IRQ_TYPE_LEVEL_HIGH>,
1447+
<AIC_IRQ 321 IRQ_TYPE_LEVEL_HIGH>;
1448+
interrupt-names = "send-empty", "send-not-empty",
1449+
"recv-empty", "recv-not-empty";
1450+
#mbox-cells = <0>;
1451+
status = "disabled";
1452+
};
1453+
1454+
aop_dart: iommu@24a808000 {
1455+
compatible = "apple,t8112-dart", "apple,t8110-dart";
1456+
reg = <0x2 0x4a808000 0x0 0x4000>;
1457+
#iommu-cells = <1>;
1458+
interrupt-parent = <&aic>;
1459+
interrupts = <AIC_IRQ 338 IRQ_TYPE_LEVEL_HIGH>;
1460+
status = "disabled";
1461+
};
1462+
1463+
aop_admac: dma-controller@24a980000 {
1464+
/*
1465+
* Use "admac2" until commit "dmaengine: apple-admac:
1466+
* Avoid accessing registers in probe" is long enough
1467+
* upstream (not yet as of 2024-12-30)
1468+
*/
1469+
// compatible = "apple,t8112-admac", "apple,admac";
1470+
compatible = "apple,t8112-admac2", "apple,admac2";
1471+
reg = <0x2 0x4a980000 0x0 0x34000>;
1472+
#dma-cells = <1>;
1473+
dma-channels = <16>;
1474+
interrupts-extended = <0>,
1475+
<0>,
1476+
<&aic AIC_IRQ 359 IRQ_TYPE_LEVEL_HIGH>,
1477+
<0>;
1478+
iommus = <&aop_dart 10>;
1479+
status = "disabled";
1480+
};
1481+
1482+
aop: aop@24ac00000 {
1483+
compatible = "apple,t8112-aop";
1484+
reg = <0x2 0x4ac00000 0x0 0x1e0000>,
1485+
<0x2 0x4a400000 0x0 0x6c000>;
1486+
mboxes = <&aop_mbox>;
1487+
mbox-names = "mbox";
1488+
iommus = <&aop_dart 0>;
1489+
1490+
status = "disabled";
1491+
1492+
aop_audio: audio {
1493+
dmas = <&aop_admac 1>;
1494+
dma-names = "dma";
1495+
};
1496+
1497+
aop_als: als {
1498+
// intentionally empty
1499+
};
1500+
};
1501+
14401502
mtp: mtp@24e400000 {
14411503
compatible = "apple,t8112-mtp", "apple,t8112-rtk-helper-asc4", "apple,mtp", "apple,rtk-helper-asc4";
14421504
reg = <0x2 0x4e400000 0x0 0x4000>,

0 commit comments

Comments
 (0)