Skip to content
This repository was archived by the owner on Oct 11, 2026. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions arch/arm64/boot/dts/apple/t600x-pciec-dart-tunables.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
* T600x Thunderbolt PCIe (PCIe-C) DART tunables, included in each
* apciec[0-2] DART node. iBoot adds "dart-tunables-instance-0" to the ADT
* at boot, but m1n1 does not copy it for these DARTs, and the DART cannot
* probe without it. Values read from a J314s ADT, identical for all three
* ports. Offsets are relative to the DART's reg.
*/
apple,tunable = <0x20c 0xff000007 0xec000007>,
<0x220 0x000f0f0f 0x000f0f0f>,
<0x224 0x00ffffff 0x00080808>;
3 changes: 3 additions & 0 deletions arch/arm64/boot/dts/apple/t600x-pciec.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 0 1198 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
#include "t600x-pciec-dart-tunables.dtsi"
};

apciec0: pcie@730000000 {
Expand Down Expand Up @@ -84,6 +85,7 @@
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 0 1215 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
#include "t600x-pciec-dart-tunables.dtsi"
};

apciec1: pcie@b30000000 {
Expand Down Expand Up @@ -152,6 +154,7 @@
interrupt-parent = <&aic>;
interrupts = <AIC_IRQ 0 1232 IRQ_TYPE_LEVEL_HIGH>;
#iommu-cells = <1>;
#include "t600x-pciec-dart-tunables.dtsi"
};

apciec2: pcie@f30000000 {
Expand Down
3 changes: 3 additions & 0 deletions arch/arm64/boot/dts/apple/t602x-dieX.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -584,6 +584,7 @@
#iommu-cells = <1>;
apple,dma-range = <0x0 0x80000000 0x0 0x80000000>;
apple,dma-offset = <0x100 0x0>;
#include "t602x-pciec-dart-tunables.dtsi"
};

DIE_NODE(apciec0): pcie@730000000 {
Expand Down Expand Up @@ -812,6 +813,7 @@
#iommu-cells = <1>;
apple,dma-range = <0x0 0x80000000 0x0 0x80000000>;
apple,dma-offset = <0x100 0x0>;
#include "t602x-pciec-dart-tunables.dtsi"
};

DIE_NODE(apciec1): pcie@b30000000 {
Expand Down Expand Up @@ -1040,6 +1042,7 @@
#iommu-cells = <1>;
apple,dma-range = <0x0 0x80000000 0x0 0x80000000>;
apple,dma-offset = <0x100 0x0>;
#include "t602x-pciec-dart-tunables.dtsi"
};

DIE_NODE(apciec2): pcie@f30000000 {
Expand Down
15 changes: 15 additions & 0 deletions arch/arm64/boot/dts/apple/t602x-pciec-dart-tunables.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// SPDX-License-Identifier: GPL-2.0+ OR MIT
/*
* T602x Thunderbolt PCIe (PCIe-C) DART tunables, included in each
* apciec[0-2] DART node. iBoot adds "dart-tunables-instance-0" to the ADT
* at boot, but m1n1 does not copy it for these DARTs, and the DART cannot
* probe without it. Values read from J416c and J414s ADTs, identical on
* both machines and for all three ports. Offsets are relative to the
* DART's reg.
*/
apple,tunable = <0x20c 0xff0000b7 0xe40000b7>,
<0x220 0x000f0f0f 0x000f0f0f>,
<0x224 0x00ffffff 0x00080808>,
<0x300 0x00001f31 0x00000001>,
<0x308 0x3ffffffc 0x10000000>,
<0x310 0x3ffffffc 0x3ffffffc>;
Loading