Repository navigation
soc: apple: one display gate for T6030, T6031, T8122 and T6041 - #535
Merged
Merged
Conversation
The gate already serves T6030, T6031 and T8122 through struct gate_soc, so it is no longer a T6030 driver. Rename the file to display-gate.c, the object to apple-display-gate and the option to APPLE_DISPLAY_GATE, so the other SoCs' internal display handoffs can join it instead of growing a driver each. No functional change: the gate, its SoC table, its command line options and its KUnit test are unchanged. The driver was written by Chris Kearney; this only moves it. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The J616s internal display and external display chain had their own gate, t6041-display-gate.c, beside the display gate that already serves T6030, T6031 and T8122. Both do the same job: enable the display nodes the device tree keeps disabled, before devices are created, once the boot loader's handoff checks out. Make T6041 an entry in the display gate's SoC table, matched on the apple,t6040 SoC compatible instead of the J616s board. Its handoff has a sequence of its own (the DCP is adopted running and the PMP is the device tree's own), so struct gate_soc gains a run hook, and the T6041 checks use the gate's existing helpers (gate_marked(), gate_disabled(), gate_target()) instead of copies. Appending a display DART to the display subsystem's iommus is now one helper, gate_iommus_append(), shared by the T6030 external processors and the J616s external chain; it is not __init, as the external chain is powered up from a work item. The checks, the order of the enabled nodes, the staged external power-up and the messages (with their apple-t6041-display: prefix) are as before. APPLE_T6041_DISPLAY_GATE is gone; APPLE_DISPLAY_GATE covers it and was already on wherever the T6041 gate was. The T6041 gate was written by Ryan Murray, its external display power-up by František Balázsy. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
RyanTheTide
changed the base branch from
j616s/consolidate-20261028
to
integration/aurora
October 28, 2026 05:08
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 J616s had its own display gate (
t6041-display-gate.c) next to the display gate that already serves T6030, T6031 and T8122 through a per-SoC table. Both enable the display nodes the device tree keeps disabled, before devices are created, once the boot loader's handoff checks out. This makes it one driver.t6030-display-gate.cbecomesdisplay-gate.c, the objectapple-display-gateand the optionAPPLE_DISPLAY_GATE. No functional change.apple,t6040SoC compatible instead of the J616s board. Its handoff keeps its own sequence through a newrunhook instruct gate_soc, because the DCP is adopted running and the PMP is the device tree's own. The T6041 checks now use the gate's helpers instead of copies, and appending a display DART to the display subsystem's iommus is one shared helper for the T6030 external processors and the J616s external chain.The checks, the order of the enabled nodes, the staged external power-up and the log messages are unchanged, so existing boot checks still match.
APPLE_T6041_DISPLAY_GATEis gone andAPPLE_DISPLAY_GATEcovers it (both default toARCH_APPLE).Authorship: the T6030/T6031/T8122 gate is Chris Kearney's, the T6041 gate Ryan Murray's and its external display power-up František Balázsy's. The commit messages and the file header credit them.
It is stacked on the J616s consolidation (#533) because the T6041 gate it folds is the batch5 version, so it merges after #533.
Testing
-Werror): clean, 0 warnings (Image modules dtbs, release7.3.0-aurora-j616s-fold1)W=1ondrivers/soc/apple/: 0 warningsrun.py): 80/80, the same as the consolidation it sits onHardware test plan
apple-t6041-display: display handoff accepted, the internal panel on the DCP,routes enabled, waiting for the PMP,stage 0/1 enabled, thenprocessors and display subsystem enabled. HDMI and dock DisplayPort should light, androute@0 remains disabled: DP PHY unavailableshould appear on a tether boot. Compare dmesg against batch5.🤖 Generated with Claude Code