Skip to content

Commit 3c866bb

Browse files
Marc Zyngiermarcan
authored andcommitted
arm64: dts: apple: t8103: Add PCIe DARTs
PCIe on the Apple M1 (aka t8103) requires the use of IOMMUs (aka DARTs). Add the three instances that deal with the internal PCIe ports and route each port's traffic through its DART. Signed-off-by: Marc Zyngier <[email protected]> Signed-off-by: Hector Martin <[email protected]>
1 parent ff2a8d9 commit 3c866bb

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

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

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,30 @@
219219
<AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>;
220220
};
221221

222+
pcie0_dart_0: dart@681008000 {
223+
compatible = "apple,t8103-dart";
224+
reg = <0x6 0x81008000 0x0 0x4000>;
225+
#iommu-cells = <1>;
226+
interrupt-parent = <&aic>;
227+
interrupts = <AIC_IRQ 696 IRQ_TYPE_LEVEL_HIGH>;
228+
};
229+
230+
pcie0_dart_1: dart@682008000 {
231+
compatible = "apple,t8103-dart";
232+
reg = <0x6 0x82008000 0x0 0x4000>;
233+
#iommu-cells = <1>;
234+
interrupt-parent = <&aic>;
235+
interrupts = <AIC_IRQ 699 IRQ_TYPE_LEVEL_HIGH>;
236+
};
237+
238+
pcie0_dart_2: dart@683008000 {
239+
compatible = "apple,t8103-dart";
240+
reg = <0x6 0x83008000 0x0 0x4000>;
241+
#iommu-cells = <1>;
242+
interrupt-parent = <&aic>;
243+
interrupts = <AIC_IRQ 702 IRQ_TYPE_LEVEL_HIGH>;
244+
};
245+
222246
pcie0: pcie@690000000 {
223247
compatible = "apple,t8103-pcie", "apple,pcie";
224248
device_type = "pci";
@@ -239,6 +263,12 @@
239263
msi-parent = <&pcie0>;
240264
msi-ranges = <&aic AIC_IRQ 704 IRQ_TYPE_EDGE_RISING 32>;
241265

266+
267+
iommu-map = <0x100 &pcie0_dart_0 1 1>,
268+
<0x200 &pcie0_dart_1 1 1>,
269+
<0x300 &pcie0_dart_2 1 1>;
270+
iommu-map-mask = <0xff00>;
271+
242272
bus-range = <0 3>;
243273
#address-cells = <3>;
244274
#size-cells = <2>;

0 commit comments

Comments
 (0)