]> www.infradead.org Git - users/hch/misc.git/commitdiff
arm64: dts: apple: t8103-j457: Fix PCIe ethernet iommu-map
authorJanne Grunau <j@jannau.net>
Sat, 23 Aug 2025 09:49:44 +0000 (11:49 +0200)
committerSven Peter <sven@kernel.org>
Sun, 31 Aug 2025 18:26:30 +0000 (20:26 +0200)
PCIe `port01` of t8103-j457 (iMac, M1, 2 USB-C ports, 2021) is unused
and disabled. Linux' PCI subsystem assigns the ethernet nic from
`port02` to bus 02. This results into assigning `pcie0_dart_1` from the
disabled port as iommu. The `pcie0_dart_1` instance is disabled and
probably fused off (it is on the M2 Pro Mac mini which has a disabled
PCIe port as well).
Without iommu the ethernet nic is not expected work.
Adjusts the "bus-range" and the PCIe devices "reg" property to PCI
subsystem's bus number.

Fixes: 7c77ab91b33d ("arm64: dts: apple: Add missing M1 (t8103) devices")
Reviewed-by: Neal Gompa <neal@gompa.dev>
Reviewed-by: Sven Peter <sven@kernel.org>
Signed-off-by: Janne Grunau <j@jannau.net>
Link: https://lore.kernel.org/r/20250823-apple-dt-sync-6-17-v2-1-6dc0daeb4786@jannau.net
Signed-off-by: Sven Peter <sven@kernel.org>
arch/arm64/boot/dts/apple/t8103-j457.dts

index 152f95fd49a2118093396838fbd8b6bd1b518f81..7089ccf3ce55661f3f83810496daed40c8199189 100644 (file)
        };
 };
 
+/*
+ * Adjust pcie0's iommu-map to account for the disabled port01.
+ */
+&pcie0 {
+       iommu-map = <0x100 &pcie0_dart_0 1 1>,
+                       <0x200 &pcie0_dart_2 1 1>;
+};
+
 &bluetooth0 {
        brcm,board-type = "apple,santorini";
 };
  */
 
 &port02 {
-       bus-range = <3 3>;
+       bus-range = <2 2>;
        status = "okay";
        ethernet0: ethernet@0,0 {
-               reg = <0x30000 0x0 0x0 0x0 0x0>;
+               reg = <0x20000 0x0 0x0 0x0 0x0>;
                /* To be filled by the loader */
                local-mac-address = [00 10 18 00 00 00];
        };