You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Where does the Linux device tree for the J516M's USB4 hardware disagree with Apple's own device tree (ADT) for this machine?
Compare the ADT's ACIO, NHI, ATC PHY, PCIe-C / tunnel root port, DART, mailbox, power and tunable nodes with what t6034-j516m.dts inherits through t6031.dtsi and t6031-dieX.dtsi, and with the J516S's t6030-usb4.dtsi. The ADT was dumped earlier to the session scratchpad as dtree-j516m.json; re-dump it with ipsw dtree if it is gone.
The answer lists every mismatch (missing node, address, interrupt, tunable, power domain, firmware property), each tied to the port it affects.
None of the J516M's three ports has a tunnel root port in the Linux DT. The ADT has apciec0/1/2 with dart-apciecN and apciecN-piodma (IRQs 1347/1375/1403, MSI slices AIC 1886/1918/1950 ×32), and T6031/T6034 has none of these nodes. The J516S has only port 0's.
On every port the ACIO lacks the ADT's pcie-adapter region (0xN01e44000) and the cpu region (0xN01100000). The ADT calls the coprocessor iop,mxwrap-acio, like the T6030, but the T6031 driver data says there is no MxWrap. ps_atcN_pcie exists but is never attached. pcie_adapter_regs_tunables and atc-apcie-*-tunables never reach Linux because the usb4_N_pcie_adapter and usb4_N_pcie aliases and nodes are missing.
Everything the DT already has (NHI, PDF, RC, DART, mailbox, IRQs, power-domain registers) matches the ADT. The J516C and J516M ADTs are identical here apart from the router vid-did.
Open: the values of the iBoot-inserted tunables need a live ADT dump.
Activity
hungbenjamin402 commentedon Nov 9, 2026
None of the J516M's three ports has a tunnel root port in the Linux DT. The ADT has
apciec0/1/2withdart-apciecNandapciecN-piodma(IRQs 1347/1375/1403, MSI slices AIC 1886/1918/1950 ×32), and T6031/T6034 has none of these nodes. The J516S has only port 0's.On every port the ACIO lacks the ADT's
pcie-adapterregion (0xN01e44000) and thecpuregion (0xN01100000). The ADT calls the coprocessoriop,mxwrap-acio, like the T6030, but the T6031 driver data says there is no MxWrap.ps_atcN_pcieexists but is never attached.pcie_adapter_regs_tunablesandatc-apcie-*-tunablesnever reach Linux because theusb4_N_pcie_adapterandusb4_N_pciealiases and nodes are missing.Everything the DT already has (NHI, PDF, RC, DART, mailbox, IRQs, power-domain registers) matches the ADT. The J516C and J516M ADTs are identical here apart from the router vid-did.
Open: the values of the iBoot-inserted tunables need a live ADT dump.
https://github.com/hungbenjamin402/linux-aurora/blob/research/adt-usb4/research/adt-usb4.md