Repository navigation
arm64: dts: apple: add the J716c (MacBook Pro 16-inch, M5 Max) - #945
Merged
Merged
Conversation
Add t6050-max.dtsi, the one-die M5 Max: die 0 of the T6050, with six cores in each cluster, 18 in all, and the MTP, so far described for this part only. Add the J716c board on it. Described so far: the CPUs, AIC, NVMe, the SMC, the boot framebuffer, the DockChannel console and the keyboard and trackpad (MTP). The GPU, video decoder and memory cache controllers are not described for the Max yet; the internal PCIe host, USB-C, I2C, the SMC sensors and pinctrl_ap stay disabled until each is brought up on this board. Developed with Claude Code. Signed-off-by: Erik Bourget <erik@ebourget.net>
On J716c, reading pin 112 of the AP pin controller takes an SError. Use the uncached regmap on T6050, as on T8140 and T8132, so that only the pins a board names are ever read. Developed with Claude Code. Signed-off-by: Erik Bourget <erik@ebourget.net>
The boot loader trains port 0 (the N1 Wi-Fi/Bluetooth); describe it with its PERST# on pinctrl_ap pin 80. Pin 112 of pinctrl_ap takes an SError when read, so pin 80 is the only one exposed. Developed with Claude Code. Signed-off-by: Erik Bourget <erik@ebourget.net>
erikwb
force-pushed
the
j716c/t6050-dt
branch
from
November 5, 2026 04:01
8be8191 to
d7ca54c
Compare
The 14-inch M5 Max is the same one-die T6050 as the J716c, so the board file reuses t6050-max.dtsi and enables the set the J716c file enables: CPUs, AIC, NVMe, SMC, boot framebuffer, DockChannel console, keyboard and trackpad, and the N1 Wi-Fi/Bluetooth on PCIe port 0. This PR is stacked on the J716c device tree PR (#945). Three values differ from the J716c file: - the N1 firmware name and platform ID (j714c-ftab.bin, board 0x0a), - the trackpad firmware (tpmtfw-j714c.bin), - the trackpad AFE reset is owned by the MTP firmware (power method 2, apple,firmware-managed-reset), so the board has no smc_pcio reset line. Add the apple,j714c compatible to the binding. Signed-off-by: Joshua Warren <816217+joshuaswarren@users.noreply.github.com>
arm64: dts: apple: add the J714c (MacBook Pro 14-inch, M5 Max)
This was referenced Nov 7, 2026
RyanTheTide
changed the base branch from
j716c/t6050-dt
to
integration/aurora
November 8, 2026 05:13
Integration now has the T6050 base and J775D from #935 with its review fixups. The Makefile conflicted: the two boards go after the T6041 ones. Assisted-by: LLM Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com>
t6050-j716c.dts uses "apple,j716c", which the M5 Max entry did not list. List it next to the J714c. Assisted-by: LLM Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com>
The boot loader always passes the command line, so "maxcpus=1" never applies on a normal boot and would only hide 17 of the 18 cores when it did, as on the J775D. Assisted-by: LLM Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com>
…t pcIO lines The J716c and J714c trees use the T6050 DockChannel FIFO and MTP, which the shared bindings did not list. T6050's MTP carries no SoC-specific helper compatible, so its node is "apple,t6050-mtp", "apple,mtp", "apple,rtk-helper-asc4"; describe that form next to the existing one. The J714c uses none of the SMC pcIO outputs (its MTP firmware owns the trackpad reset), so its pcIO node has no command list. Let a board leave the list out. Assisted-by: LLM Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com>
Contributor
|
Review from the Aurora side, same deal as #935. Ryan wants the T6050 trees in, so I've pushed our fixups on top and left your commits (and Joshua's J714c from #1085) as they are. What I checked
What I pushed
#935 is merged and this PR targets integration/aurora now. With the fixups both boards pass Build-tested, unbooted here. @erikwb if you get a chance to boot the head of this branch on your J716c that would be great, it's the first board that gets all of the fixups at once. |
Every other MTP node lists four compatibles, "apple,<soc>-mtp", "apple,<soc>-rtk-helper-asc4", "apple,mtp", "apple,rtk-helper-asc4", and the binding describes only that form. Add the T6050 helper compatible instead of a second, three-entry form in the binding, which also changed the messages for the T8122 trees that already fail it. The driver matches "apple,rtk-helper-asc4" only, so nothing binds differently. Assisted-by: LLM Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com>
RyanTheTide
added a commit
to rolotrealanis98/linux
that referenced
this pull request
Nov 8, 2026
Integration now has the T6050 base, J775D, J716c and J714c from aurora-silicon#935 and aurora-silicon#945 with their review fixups. This branch carries earlier copies of those commits, so the shared files conflicted: - t6050-max.dtsi keeps this branch's CPU order and takes the MTP helper compatible from integration; - t6050-die0.dtsi keeps the SMC's second GPIO bank; - the J775D, J716c and J714c files, the QSPI and SPMI bindings take the reviewed versions from integration; - arm/apple.yaml lists the J716s in its own M5 Pro entry, the Makefile builds it next to the other T6050 boards. Assisted-by: LLM Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com>
RyanTheTide
pushed a commit
that referenced
this pull request
Nov 8, 2026
The 14-inch M5 Max is the same one-die T6050 as the J716c, so the board file reuses t6050-max.dtsi and enables the set the J716c file enables: CPUs, AIC, NVMe, SMC, boot framebuffer, DockChannel console, keyboard and trackpad, and the N1 Wi-Fi/Bluetooth on PCIe port 0. This PR is stacked on the J716c device tree PR (#945). Three values differ from the J716c file: - the N1 firmware name and platform ID (j714c-ftab.bin, board 0x0a), - the trackpad firmware (tpmtfw-j714c.bin), - the trackpad AFE reset is owned by the MTP firmware (power method 2, apple,firmware-managed-reset), so the board has no smc_pcio reset line. Add the apple,j714c compatible to the binding. Signed-off-by: Joshua Warren <816217+joshuaswarren@users.noreply.github.com>
RyanTheTide
added a commit
that referenced
this pull request
Nov 8, 2026
Integration now has the T6050 base and the J775D, J716c, J714c and J716s trees from #935, #945 and #1167. arm/apple.yaml conflicted: the K boards go into the M5 Pro and M5 Max entries next to the J714/J716 boards. The pwm and pmgr-pwrstate bindings already list T6050. Assisted-by: LLM Signed-off-by: Ryan Murray <81541646+RyanTheTide@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The M5 Max MacBook Pro has no device tree. J716c is the one-die M5 Max: this adds
t6050-max.dtsi, on the T6050 SoC files from the T6050 device tree PR (this PR is stacked on it), and the board file, which only enables and configures. It has 18 CPUs. This describes the CPUs, AIC, NVMe, SMC, boot framebuffer, DockChannel console, keyboard and trackpad, and the N1 Wi-Fi/Bluetooth on PCIe port 0.The AP pin controller moves to the uncached regmap on T6050, as on T8140 and T8132: reading pin 112 takes an SError on this board, so only the pins a board names are read. Pin 80 (the N1's PERST#) is the only one exposed.
Testing (J716c): this runs as part of the full T6050 stack (
j716c/t6050-platform): the machine boots to userspace from NVMe with all 18 CPUs, N1 Wi-Fi up and CPU frequency scaling active.Created with Claude Opus 5.5 in Claude Code.