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
Why does no NHI bind on the J516M, and what exactly must change for each port's NHI to bind and its USB4 domain and host router to appear?
Today the three ACIOs bind (thunderbolt-apple-acio: 701ac0000.cio, b01ac0000.cio, f01ac0000.cio) and the four ATC PHYs bind, but thunderbolt-apple-nhi binds nothing, although the device tree has cio@…/nhi@f00000 under every ACIO with no status = "disabled". /sys/bus/thunderbolt is empty.
Find the cause with evidence from the source on the usb4-m3max branch and the running machine (child-node population, compatible match, power domain, reset, probe deferral, firmware or mailbox), and compare it with the path the J516S (T6030) takes. The answer is the cause plus the list of changes bring-up needs, each marked kernel or m1n1.
Answer: nothing is wrong with NHI matching (apple,t8103-usb4-nhi matches). The NHI is never created because the ACIO populates its DART and NHI children only in apple_cio_start(), which runs only when the PD controller reports USB4/TBT mode entry. No partner has been on any USB-C port in any retained boot. The J516S works the same way.
The real bring-up gap is on connect. The T6031 ACIO uses the t8103 start sequence, but the J516M ADT lists acio-cpuN as iop,mxwrap-acio at the T6030 cpu address (0xN_01100000). Without the MxWrap RUN step the M3 should fail to boot before the NHI is populated (inferred, not yet seen on hardware).
Changes for bring-up: kernel DT (add pcie-adapter and cpu reg windows to the 3 ACIOs) together with a kernel driver change (apple_cio_t6031_hw gets mxwrap, lstx_explicit, strict_fw_ready). m1n1 needs no change for bring-up. Tunnel and DP follow-ups are listed in the findings.
Findings: https://github.com/hungbenjamin402/linux-aurora/blob/research/nhi-bind/research/nhi-bind.md
Correction from Existing Apple USB4 work and what applies to the T6034: draft omacom#406 shows another J516M bringing up a USB4 domain on ACIO2 (a Studio Display at 5K over Thunderbolt) with the stock T6031 ACIO start, i.e. without MxWrap, using m1n1 aurora22-103. The predicted RTKit failure without MxWrap was an inference; that evidence says the stock start can work. Treat the overlay plus .mxwrap change as unproven until the first plug-in (Linux behaviour today with the dock and enclosure) shows which is true.
Activity
hungbenjamin402 commentedon Nov 9, 2026
Answer: nothing is wrong with NHI matching (
apple,t8103-usb4-nhimatches). The NHI is never created because the ACIO populates its DART and NHI children only inapple_cio_start(), which runs only when the PD controller reports USB4/TBT mode entry. No partner has been on any USB-C port in any retained boot. The J516S works the same way.The real bring-up gap is on connect. The T6031 ACIO uses the t8103 start sequence, but the J516M ADT lists
acio-cpuNasiop,mxwrap-acioat the T6030cpuaddress (0xN_01100000). Without the MxWrap RUN step the M3 should fail to boot before the NHI is populated (inferred, not yet seen on hardware).Changes for bring-up: kernel DT (add
pcie-adapterandcpureg windows to the 3 ACIOs) together with a kernel driver change (apple_cio_t6031_hwgetsmxwrap,lstx_explicit,strict_fw_ready). m1n1 needs no change for bring-up. Tunnel and DP follow-ups are listed in the findings.Findings: https://github.com/hungbenjamin402/linux-aurora/blob/research/nhi-bind/research/nhi-bind.md
hungbenjamin402 commentedon Nov 9, 2026
Correction from Existing Apple USB4 work and what applies to the T6034: draft omacom#406 shows another J516M bringing up a USB4 domain on ACIO2 (a Studio Display at 5K over Thunderbolt) with the stock T6031 ACIO start, i.e. without MxWrap, using m1n1
aurora22-103. The predicted RTKit failure without MxWrap was an inference; that evidence says the stock start can work. Treat the overlay plus.mxwrapchange as unproven until the first plug-in (Linux behaviour today with the dock and enclosure) shows which is true.