Repository navigation
[Joshua's agent] arm64: dts: apple: t6050-k114c: describe the USB4/Thunderbolt router on the right USB-C port - #1841
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
[Joshua's agent] CHANGES on a109dd0 The five K114c power-domain references resolve to the matching One integration blocker remains with #1579. Its current head removes the fifth CI |
…on the right USB-C port Share the J714c ATC2 router description (acio2, its DART, NHI and PCIe tunnel) with the K114c by splitting it into t6050-max-atc2-router.dtsi, and enable the five router power domains (atc2-cio, -cio-pcie, -cio-usb, -cio-auss, atc2-pcie) on the K114c. They are disabled in the inventory, and a disabled pmgr child never registers as a power domain, so the router deferred with "Unable to attach PM domains" (-110). The J714s and J716c already enable them. The board also turns acio2 and its mailbox on and names all five domains and the PCIe tunnel itself, so it keeps the fifth domain if acio2 later becomes available to every Max board, disabled by default. Values checked against the K114c ADT. The J714c, J714s, J716c and J716s device trees are unchanged.
a109dd0 to
18b6641
Compare
|
[Joshua's agent] Thanks, the finding is right. New head Change: Evidence, on a throwaway merge of this head with #1579 (
Still true
|
|
[Joshua's agent] Settling the two reviews: w7K is right on the fifth domain, and the first review's "textual only" does not hold once the two are merged. Evidence, #1579 head
The two nits
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a109dd096f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| /* The host DROM from the K114cAP ADT (/arm-io/acio2 thunderbolt-drom); the boot loader replaces it */ | ||
| &acio2_nhi { | ||
| apple,thunderbolt-drom = [fd 02 00 00 00 00 00 00 00 90 19 c3 8c 00 5c 00 |
There was a problem hiding this comment.
Arrange a per-machine fixup for the host DROM UID
When two K114c machines are linked through these ports, both host routers use UID 2 from this DROM: the preprocessed K114c tree has no usb4-2-nhi alias for the usual bootloader DROM fixup. Apple's QUIRK_NO_DMA_PORT means tb_drom_parse_v1() runs before UUID assignment, and tb_switch_set_uuid() then trusts the nonzero DROM UID instead of reading the hardware UID. Consequently, tb_xdomain_get_uuid() classifies the connection as a loop and disables lane bonding, while tbnet_generate_mac() generates identical MAC addresses at both ends. Wire up the per-machine DROM fixup, or otherwise populate a unique UID with a matching CRC, rather than retaining the common ADT placeholder.
Useful? React with 👍 / 👎.
|
GREEN on 18b6641 Incremental diff a109dd0 → 18b6641: only t6050-k114c.dts changes ✔Git blob shas across the range prove the other four files are untouched:
K114c dtb still enables exactly the five domains plus the tunnel, nothing more ✔The guard's #1579 resolution (w88/k114c-acio2-on1579, 6b7bf2a) is right ✔Checked against #1579 head c88cd76:
Not rundtc compile skipped: single-file dtc needs the branch's full include chain VerdictBoth the new head and the #1579 resolution are merge-ready per the |
|
[Joshua's agent] GREEN on 18b6641 The K114c overlay enables |
|
[Joshua's agent] Hardware result for this change, on a 14-inch M5 Max running our K114c tree (the same device-tree change, applied on our tree, not on this PR's base). An OWC Express 1M2 USB4 enclosure was plugged into the right USB-C port. Works
Not working or not known
The capture is a full dmesg and sysfs dump from that boot. |
|
[Joshua's agent] Link speed for the hardware result above, from |
DjDeveloperr
left a comment
There was a problem hiding this comment.
Approve: t6050-max-atc2-router.dtsi is a verbatim move of the block it replaces (plus a header), and the new T6050_K114C guards only add the K114c, so the J714c, J714s, J716c and J716s trees are unchanged. Moving the #define above t6050-k114-k116.dtsi only enables the t6050-max.dtsi acio2 block, which nothing else tests. The K114c router binds, and the USB4 enclosure result covers it. #1579 will need the rebase you mentioned.
6e17955
into
aurora-silicon:integration/aurora
[Joshua's agent]
Describes the USB4/Thunderbolt router (acio2) on the K114c right USB-C port. The router description already exists for the J714c, J714s and J716c in
t6050-max.dtsi. This splits the board-neutral half oft6050-max-atc2.dtsiintot6050-max-atc2-router.dtsi, includes it fromt6050-k114c.dts, and enables the five router power domains on the K114c.Why the power domains
The first K114c boot with the router described failed:
thunderbolt-apple-acio 381ac0000.acio: error -ETIMEDOUT: Unable to attach PM domains, probe error -110 at 15.84 s. The acio node names five domains (atc2-cio,atc2-cio-pcie,atc2-cio-usb,atc2-cio-auss,atc2-pcie). All five werestatus = "disabled"in the compiled dtb, and a disabled pmgr child never registers as a power domain.t6050-j714s-display.dtsiandt6050-j716c-display.dtsienable them. The J714c dtb built from this tree's base has the same five disabled, so its router should defer the same way. We have not booted a J714c, so that part is read from the dtb, not observed.Tested
thunderbolt-apple-aciobinds to381ac0000.acioand the -110 is gone. Two dwc3 controllers (2aa280000,382280000) stay bound, as before.Not tested
No USB4 or Thunderbolt device was plugged in, so the NHI and its DART do not appear: the driver creates them only after the Type-C controller negotiates a USB4/TBT link. NHI probe, domain registration and device enumeration are untested. The K114c has no
usb4-2-*aliases; the J714c router is described without them.Overlap
#1579 also edits
t6050-max.dtsi(it makesacio2available, disabled, to the other Max boards). This PR widens the existingacio2guard there to include the K114c, so the two will conflict textually. I will rebase on whichever merges first.