Skip to content

Commit 3418bd4

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

4 files changed

Lines changed: 385 additions & 0 deletions

File tree

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

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,103 @@
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,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+
apple,aop-target = <0>;
236+
apple,aop-alignment = <64>;
237+
status = "disabled";
238+
239+
aop_audio: audio {
240+
dmas = <&aop_admac 1>;
241+
dma-names = "dma";
242+
apple,bytes-per-sample = <2>;
243+
apple,clock-source = <0x706c6c20>; // 'pll '
244+
apple,pdm-frequency = <2400000>;
245+
apple,pdmc-frequency = <24000000>;
246+
apple,slow-clock-speed = <24000000>;
247+
apple,fast-clock-speed = <24000000>;
248+
apple,channel-polarity-select = <256>;
249+
apple,channel-phase-select = <0>;
250+
apple,mic-turn-on-time-ms = <20>;
251+
apple,mic-settle-time-ms = <50>;
252+
253+
apple,filter-lengths = <0x542c47>;
254+
apple,decm-ratios = [0f 05 02];
255+
apple,decm-latency = <15>;
256+
apple,coefficients = <
257+
0x88030000 0x82080000 0x51120000 0x0a230000 0xce3d0000 0x97660000
258+
0x43a20000 0x9cf60000 0x536a0100 0xe6040200 0x7ece0200 0xaecf0300
259+
0x2e110500 0x7d9b0600 0x75760800 0xd8a80a00 0xd2370d00 0x82261000
260+
0x86751300 0x97221700 0x39281b00 0x897d1f00 0x2e162400 0x69e22800
261+
0x56cf2d00 0x51c73200 0x80b23700 0x87773c00 0x4cfc4000 0xd9264500
262+
0x47de4800 0xa00b4c00 0xc19a4e00 0x1f7b5000 0x68a05100 0x06035200
263+
0x4a250000 0x4caf0000 0xc0070200 0x45990400 0x9a840800 0x7d380d00
264+
0x5f1a1100 0xd9811100 0x80440b00 0x8ee5fbff 0xca32e3ff 0x52c7c4ff
265+
0xa6bca8ff 0x83e69aff 0xb85ba8ff 0x6baedbff 0xe7d83800 0x2442ba00
266+
0x33205001 0x6edce201 0x42235802 0x2c509902 0xcffaffff 0x530affff
267+
0x6623fbff 0xa03ef4ff 0xe668f0ff 0xb835f7ff 0x56ec0400 0x37a30900
268+
0x00d4feff 0x78a3f5ff 0x03bffeff 0x84d50b00 0xbe0b0400 0x5254f2ff
269+
0x6d3ff8ff 0xc57f0f00 0xe69e0c00 0x7903efff 0xd533edff 0xecd11100
270+
0x7d691a00 0xd655eeff 0x8866dcff 0x57261000 0xc78d2e00 0x822ef3ff
271+
0x6369c4ff 0xcd080700 0x35344b00 0xaf210200 0x83b6a1ff 0xe2d5efff
272+
0x949b7600 0xf3d72500 0xfffc67ff 0xe3acb6ff 0x521bcc00 0x3c8a8b00
273+
0x9f0ccdfe 0x5c68ccfe 0x4dc59802 0x82cffb06>;
274+
};
275+
276+
aop_als: als {
277+
// intentionally empty
278+
};
279+
280+
};
281+
185282
disp0_dart: iommu@38b304000 {
186283
compatible = "apple,t6000-dart";
187284
reg = <0x3 0x8b304000 0x0 0x4000>;

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

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,102 @@
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+
};
210+
211+
aop_admac: dma-controller@2a6980000 {
212+
/*
213+
* Use "admac2" until commit "dmaengine: apple-admac: Avoid
214+
* accessing registers in probe" is long enough upstream (not
215+
* yet as of 2024-12-30)
216+
*/
217+
// compatible = "apple,t6020-admac", "apple,admac";
218+
compatible = "apple,t6020-admac2", "apple,admac2";
219+
reg = <0x2 0xa6980000 0x0 0x34000>;
220+
#dma-cells = <1>;
221+
dma-channels = <16>;
222+
interrupts-extended = <0>,
223+
<0>,
224+
<&aic AIC_IRQ 0 631 IRQ_TYPE_LEVEL_HIGH>,
225+
<0>;
226+
iommus = <&aop_dart 10>;
227+
status = "disabled";
228+
};
229+
230+
aop: aop@2a6c00000 {
231+
compatible = "apple,aop";
232+
reg = <0x2 0xa6c00000 0x0 0x250000>,
233+
<0x2 0xa6400000 0x0 0x6C000>;
234+
mboxes = <&aop_mbox>;
235+
mbox-names = "mbox";
236+
iommus = <&aop_dart 0>;
237+
238+
apple,aop-target = <0>;
239+
apple,aop-alignment = <64>;
240+
status = "disabled";
241+
242+
aop_audio: audio {
243+
dmas = <&aop_admac 1>;
244+
dma-names = "dma";
245+
apple,bytes-per-sample = <2>;
246+
apple,clock-source = <0x706c6c20>; // 'pll '
247+
apple,pdm-frequency = <2400000>;
248+
apple,pdmc-frequency = <24000000>;
249+
apple,slow-clock-speed = <24000000>;
250+
apple,fast-clock-speed = <24000000>;
251+
apple,channel-polarity-select = <256>;
252+
apple,channel-phase-select = <0>;
253+
apple,mic-turn-on-time-ms = <20>;
254+
apple,mic-settle-time-ms = <50>;
255+
256+
apple,filter-lengths = <0x542c47>;
257+
apple,decm-ratios = [0f 05 02];
258+
apple,decm-latency = <15>;
259+
apple,coefficients = <
260+
0x88030000 0x82080000 0x51120000 0x0a230000 0xce3d0000 0x97660000
261+
0x43a20000 0x9cf60000 0x536a0100 0xe6040200 0x7ece0200 0xaecf0300
262+
0x2e110500 0x7d9b0600 0x75760800 0xd8a80a00 0xd2370d00 0x82261000
263+
0x86751300 0x97221700 0x39281b00 0x897d1f00 0x2e162400 0x69e22800
264+
0x56cf2d00 0x51c73200 0x80b23700 0x87773c00 0x4cfc4000 0xd9264500
265+
0x47de4800 0xa00b4c00 0xc19a4e00 0x1f7b5000 0x68a05100 0x06035200
266+
0x4a250000 0x4caf0000 0xc0070200 0x45990400 0x9a840800 0x7d380d00
267+
0x5f1a1100 0xd9811100 0x80440b00 0x8ee5fbff 0xca32e3ff 0x52c7c4ff
268+
0xa6bca8ff 0x83e69aff 0xb85ba8ff 0x6baedbff 0xe7d83800 0x2442ba00
269+
0x33205001 0x6edce201 0x42235802 0x2c509902 0xcffaffff 0x530affff
270+
0x6623fbff 0xa03ef4ff 0xe668f0ff 0xb835f7ff 0x56ec0400 0x37a30900
271+
0x00d4feff 0x78a3f5ff 0x03bffeff 0x84d50b00 0xbe0b0400 0x5254f2ff
272+
0x6d3ff8ff 0xc57f0f00 0xe69e0c00 0x7903efff 0xd533edff 0xecd11100
273+
0x7d691a00 0xd655eeff 0x8866dcff 0x57261000 0xc78d2e00 0x822ef3ff
274+
0x6369c4ff 0xcd080700 0x35344b00 0xaf210200 0x83b6a1ff 0xe2d5efff
275+
0x949b7600 0xf3d72500 0xfffc67ff 0xe3acb6ff 0x521bcc00 0x3c8a8b00
276+
0x9f0ccdfe 0x5c68ccfe 0x4dc59802 0x82cffb06>;
277+
};
278+
279+
aop_als: als {
280+
// intentionally empty
281+
};
282+
};
283+
188284
mtp: mtp@2a9400000 {
189285
compatible = "apple,t6020-mtp", "apple,t6020-rtk-helper-asc4", "apple,mtp", "apple,rtk-helper-asc4";
190286
reg = <0x2 0xa9400000 0x0 0x4000>,

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

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1282,6 +1282,102 @@
12821282
<AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>;
12831283
};
12841284

1285+
aop_mbox: mbox@24a408000 {
1286+
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
1287+
reg = <0x2 0x4a408000 0x0 0x4000>;
1288+
interrupt-parent = <&aic>;
1289+
interrupts = <AIC_IRQ 285 IRQ_TYPE_LEVEL_HIGH>,
1290+
<AIC_IRQ 286 IRQ_TYPE_LEVEL_HIGH>,
1291+
<AIC_IRQ 287 IRQ_TYPE_LEVEL_HIGH>,
1292+
<AIC_IRQ 288 IRQ_TYPE_LEVEL_HIGH>;
1293+
interrupt-names = "send-empty", "send-not-empty",
1294+
"recv-empty", "recv-not-empty";
1295+
#mbox-cells = <0>;
1296+
status = "disabled";
1297+
};
1298+
1299+
aop_dart: iommu@24a808000 {
1300+
compatible = "apple,t8103-dart";
1301+
reg = <0x2 0x4a808000 0x0 0x4000>;
1302+
#iommu-cells = <1>;
1303+
interrupt-parent = <&aic>;
1304+
interrupts = <AIC_IRQ 300 IRQ_TYPE_LEVEL_HIGH>;
1305+
status = "disabled";
1306+
};
1307+
1308+
aop_admac: dma-controller@24a980000 {
1309+
/*
1310+
* Use "admac2" until commit "dmaengine: apple-admac:
1311+
* Avoid accessing registers in probe" is long enough
1312+
* upstream (not yet as of 2024-12-30)
1313+
*/
1314+
// compatible = "apple,t8103-admac", "apple,admac";
1315+
compatible = "apple,t8103-admac2", "apple,admac2";
1316+
reg = <0x2 0x4a980000 0x0 0x34000>;
1317+
#dma-cells = <1>;
1318+
dma-channels = <16>;
1319+
interrupts-extended = <0>,
1320+
<0>,
1321+
<&aic AIC_IRQ 321 IRQ_TYPE_LEVEL_HIGH>,
1322+
<0>;
1323+
iommus = <&aop_dart 7>;
1324+
status = "disabled";
1325+
};
1326+
1327+
aop: aop@24ac00000 {
1328+
compatible = "apple,aop";
1329+
reg = <0x2 0x4ac00000 0x0 0x1e0000>,
1330+
<0x2 0x4a400000 0x0 0x6C000>;
1331+
mboxes = <&aop_mbox>;
1332+
mbox-names = "mbox";
1333+
iommus = <&aop_dart 0>;
1334+
1335+
apple,aop-target = <1>;
1336+
apple,aop-alignment = <128>;
1337+
status = "disabled";
1338+
1339+
aop_audio: audio {
1340+
dmas = <&aop_admac 1>;
1341+
dma-names = "dma";
1342+
apple,bytes-per-sample = <2>;
1343+
apple,clock-source = <0x706c6c20>; // 'pll '
1344+
apple,pdm-frequency = <2400000>;
1345+
apple,pdmc-frequency = <24000000>;
1346+
apple,slow-clock-speed = <24000000>;
1347+
apple,fast-clock-speed = <24000000>;
1348+
apple,channel-polarity-select = <256>;
1349+
apple,channel-phase-select = <0>;
1350+
apple,mic-turn-on-time-ms = <20>;
1351+
apple,mic-settle-time-ms = <50>;
1352+
1353+
apple,filter-lengths = <0x542c47>;
1354+
apple,decm-ratios = [0f 05 02];
1355+
apple,decm-latency = <15>;
1356+
apple,coefficients = <
1357+
0x88030000 0x82080000 0x51120000 0x0a230000 0xce3d0000 0x97660000
1358+
0x43a20000 0x9cf60000 0x536a0100 0xe6040200 0x7ece0200 0xaecf0300
1359+
0x2e110500 0x7d9b0600 0x75760800 0xd8a80a00 0xd2370d00 0x82261000
1360+
0x86751300 0x97221700 0x39281b00 0x897d1f00 0x2e162400 0x69e22800
1361+
0x56cf2d00 0x51c73200 0x80b23700 0x87773c00 0x4cfc4000 0xd9264500
1362+
0x47de4800 0xa00b4c00 0xc19a4e00 0x1f7b5000 0x68a05100 0x06035200
1363+
0x4a250000 0x4caf0000 0xc0070200 0x45990400 0x9a840800 0x7d380d00
1364+
0x5f1a1100 0xd9811100 0x80440b00 0x8ee5fbff 0xca32e3ff 0x52c7c4ff
1365+
0xa6bca8ff 0x83e69aff 0xb85ba8ff 0x6baedbff 0xe7d83800 0x2442ba00
1366+
0x33205001 0x6edce201 0x42235802 0x2c509902 0xcffaffff 0x530affff
1367+
0x6623fbff 0xa03ef4ff 0xe668f0ff 0xb835f7ff 0x56ec0400 0x37a30900
1368+
0x00d4feff 0x78a3f5ff 0x03bffeff 0x84d50b00 0xbe0b0400 0x5254f2ff
1369+
0x6d3ff8ff 0xc57f0f00 0xe69e0c00 0x7903efff 0xd533edff 0xecd11100
1370+
0x7d691a00 0xd655eeff 0x8866dcff 0x57261000 0xc78d2e00 0x822ef3ff
1371+
0x6369c4ff 0xcd080700 0x35344b00 0xaf210200 0x83b6a1ff 0xe2d5efff
1372+
0x949b7600 0xf3d72500 0xfffc67ff 0xe3acb6ff 0x521bcc00 0x3c8a8b00
1373+
0x9f0ccdfe 0x5c68ccfe 0x4dc59802 0x82cffb06>;
1374+
};
1375+
1376+
aop_als: als {
1377+
// intentionally empty
1378+
};
1379+
};
1380+
12851381
dispext0_dart: iommu@271304000 {
12861382
compatible = "apple,t8103-dart";
12871383
reg = <0x2 0x71304000 0x0 0x4000>;

0 commit comments

Comments
 (0)