Skip to content

arm64: dts: apple: t6040: make the J616s tree validate (SMC, DockChannel HID, PCIe) - #398

Merged
RyanTheTide merged 3 commits into
integration/aurorafrom
fix/m4pro-t6040-dt-bindings-20261023
Oct 23, 2026
Merged

RyanTheTide merged 3 commits into
integration/aurorafrom
fix/m4pro-t6040-dt-bindings-20261023

Conversation

@RyanTheTide

Copy link
Copy Markdown
Contributor

Follow-up to #396 (jgoyvaerts' T6040 and MacBook Pro J616s device trees), so the new tree validates against the bindings it uses.

  • dt-bindings: mfd: apple,smc: adds apple,t6041-smc next to the other newer SoCs, with the apple,t8103-smc fallback.
  • dt-bindings: input: apple,dockchannel-hid: allows apple,t6041-dockchannel-hid in front of the generic compatible. Nodes with just the generic one, like the Neo's, still validate.
  • arm64: dts: apple: t6040:
    • The SMC node drops the generic "apple,smc", which the binding only keeps for T8103, T8112 and T6000. The driver matches apple,t8103-smc, same as on the Neo.
    • The PCIe node now lists all four port and PHY windows, as the apple,t6020-pcie layout in dt-bindings: Apple M4 Pro/Max (T6040/T6041) compatibles #372's binding needs. I checked them against the T6040 ADT (apcie0 on the Mac mini J773s, 26.6.2, same SoC): four ports at 0x2_1x028000 and four PHYs at 0x2_1702x000. The driver only maps windows for port nodes that exist, so the J616s with its single Wi-Fi port behaves the same.

apple,panel-j616 needed nothing. The DCP binding already matches it through its apple,panel-j[0-9]+ pattern, so the checkpatch warning about it is a false positive.

Left undocumented on purpose: apple,t6041-aop, apple,t6041-aop-als, apple,t6041-aop-las, apple,t6030-aop-audio, apple,j616-macaudio and apple,j616-macaudio-jack. Their drivers are in series that haven't been submitted yet (jgoyvaerts' m4pro/aop-t6041, m4pro/speakers-j616s and m4pro/jack-j616s), so their bindings should come with those series.

Checks:

Worth knowing for the J616s tether test: if jgoyvaerts' loader looks the SMC up by the generic "apple,smc" compatible, it needs to use the apple,t6041-smc/apple,t8103-smc node now.

🤖 Generated with Claude Code

The T6040 (M4 Pro) device tree added in commit 9dadcc6 ("arm64:
dts: apple: Add the T6040 SoC and the MacBook Pro J616s") uses
"apple,t6041-smc", which the binding does not list. Add it next to the
other post-M2 SoCs, with the "apple,t8103-smc" fallback the driver
matches.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
…l-hid

The T6040 MTP node from commit c7dfa27 ("arm64: dts: apple: t6040:
Add MTP (keyboard, trackpad) support") names its DockChannel HID
"apple,t6041-dockchannel-hid", "apple,dockchannel-hid". The binding
allows only the generic compatible. Allow the SoC-specific one in front
of it; existing nodes with the generic compatible alone stay valid.

Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Two nodes of the T6040 tree do not validate:

- The SMC lists the generic "apple,smc" after "apple,t8103-smc". The
  binding keeps "apple,smc" for the T8103, T8112 and T6000 only; the
  later SoCs, the T8140 among them, use "<soc>-smc", "apple,t8103-smc",
  which is what the driver matches. Drop the generic entry.
- The PCIe controller has the T6020 layout ("apple,t6020-pcie"
  fallback), and the binding requires the four port and four PHY
  windows of that layout. The node listed port 0 and PHY 0 only. The
  T6040's ADT (apcie0, the Mac mini J773s on 26.6.2, the same SoC) has
  four ports at 0x2_1x028000 and four PHYs at 0x2_1702x000, so list
  all of them. The driver maps a port's windows only for the port nodes
  present, so the J616s, with its one Wi-Fi port, is unchanged.

Fixes: 9dadcc6 ("arm64: dts: apple: Add the T6040 SoC and the MacBook Pro J616s")
Fixes: f2a8c96 ("arm64: dts: apple: t6040-j616s: Add Wi-Fi and Bluetooth")
Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant