Skip to content

Commit 30b025d

Browse files
WhatAmISupposedToPutHerejannau
authored andcommitted
arm64: dts: apple: Add AOP and subdevices
Signed-off-by: Sasha Finkelstein <[email protected]>
1 parent 5553f8f commit 30b025d

4 files changed

Lines changed: 373 additions & 0 deletions

File tree

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

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

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

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,99 @@
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+
};
200+
201+
aop_dart: iommu@2a6808000 {
202+
compatible = "apple,t6020-dart", "apple,t8110-dart";
203+
reg = <0x2 0xa6808000 0x0 0x4000>;
204+
#iommu-cells = <1>;
205+
interrupt-parent = <&aic>;
206+
interrupts = <AIC_IRQ 0 628 IRQ_TYPE_LEVEL_HIGH>;
207+
};
208+
209+
aop_admac: dma-controller@2a6980000 {
210+
/*
211+
* Use "admac2" until commit "dmaengine: apple-admac: Avoid
212+
* accessing registers in probe" is long enough upstream (not
213+
* yet as of 2024-12-30)
214+
*/
215+
// compatible = "apple,t6020-admac", "apple,admac";
216+
compatible = "apple,t6020-admac2", "apple,admac2";
217+
reg = <0x2 0xa6980000 0x0 0x34000>;
218+
#dma-cells = <1>;
219+
dma-channels = <16>;
220+
interrupts-extended = <0>,
221+
<0>,
222+
<&aic AIC_IRQ 0 631 IRQ_TYPE_LEVEL_HIGH>,
223+
<0>;
224+
iommus = <&aop_dart 10>;
225+
};
226+
227+
aop: aop@2a6c00000 {
228+
compatible = "apple,aop";
229+
reg = <0x2 0xa6c00000 0x0 0x250000>,
230+
<0x2 0xa6400000 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+
188281
mtp: mtp@2a9400000 {
189282
compatible = "apple,t6020-mtp", "apple,t6020-rtk-helper-asc4", "apple,mtp", "apple,rtk-helper-asc4";
190283
reg = <0x2 0xa9400000 0x0 0x4000>,

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

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

0 commit comments

Comments
 (0)