Skip to content

drm: apple: add J773g HDMI display support - #1192

Open
techmore wants to merge 7 commits into
aurora-silicon:integration/aurorafrom
techmore:j773g/hdmi-display-20261107
Open

techmore wants to merge 7 commits into
aurora-silicon:integration/aurorafrom
techmore:j773g/hdmi-display-20261107

Conversation

@techmore

@techmore techmore commented Nov 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This seven-patch series turns the J773g HDMI proof of concept into a bisectable chain: T8132 PMP report resources, main external-display DART handoff, retained main-DCP external output, the T8122 DPTX PHY, and the fixed J773g DPTX-to-HDMI DT path.

It does not duplicate the topology already merged through #1142 or the generalized M4 handoff on the base. Test-only admission, manual-bind controls, and unrelated changes are absent.

Provenance

The hardware behavior and register effects were observed during our own J773g witness runs and firmware-interface behavior. No Apple source code was copied. Pavel Shago identified retained-display and DPTX sequencing lessons; his authorship is retained on the T8122 PHY commit.

The notes-repo audit aurora/upstream/mesa/PROVENANCE-NOV1-20261107.md supports the same boundary: no constants, encodings, or behavior in this work came from the November 1 G16G firmware disassembly.

Results

  • pass — prior witness tree: three repeated 1080p HDMI desktop boots succeeded; a later witness exposed 37 modes and ran 1080p, with 4K30 as the highest observed mode.
  • pass — per-commit build: every commit tree built on SER8 with arm64 LLVM W=1 Image modules dtbs; no new warnings in touched paths.
  • pass — checkpatch: every commit has 0 errors, 0 warnings, 0 checks with strict --no-signoff.
  • pass — bindings: the new PMP binding and updated DPTX binding checks pass.
  • fail — current dtbs_check: pre-existing conflicting apple,tunable schema types abort decoding of unrelated existing Apple properties before J773g validation. This remains an un-draft gate.
  • not tested — exact PR head: the booted witness tree contained test admission that this series removes.
  • not tested — KUnit and regressions: no KUnit run; J713 regression, hotplug, suspend/resume, and a cold/warm retained-session matrix remain outstanding.

Hardware test plan

Before this leaves draft: boot the exact head on J773g, verify connector/mode state and a displayed desktop, exercise hotplug and suspend/resume, repeat cold and warm boots, and run the available J713 regression coverage. This PR stays draft until those affected-hardware checks and the DT validation gate are recorded.

The commits intentionally have no Signed-off-by yet. The human submitter will add his own DCO sign-off after review, as required by Documentation/process/coding-assistants.rst.

@techmore

techmore commented Nov 8, 2026

Copy link
Copy Markdown
Contributor Author

Per Documentation/process/coding-assistants.rst, this draft branch deliberately carries no Signed-off-by added by an AI agent. After reviewing the final commits, the human submitter will run agents/sean-signoff.sh himself to add his own DCO certification and push the human-signed commits before the PR leaves draft.

@techmore
techmore force-pushed the j773g/hdmi-display-20261107 branch from c24e00b to 04e1d87 Compare November 8, 2026 07:37
techmore and others added 7 commits November 8, 2026 05:31
T8132 firmware exposes a report window and a small event-configuration
window. Describe both resources and the optional per-device report entries.

Assisted-by: LLM checkpatch
Signed-off-by: Sean Dolbec <sdolbec1@gmail.com>
Describe the report and event-configuration resources published by T8132
firmware, along with the address cells used by optional report entries.

Assisted-by: LLM checkpatch
Signed-off-by: Sean Dolbec <sdolbec1@gmail.com>
A T8132 main DCP wired to fixed HDMI uses six firmware segments and shares
the retained SID 0/SID 16 frontend contract with the external display path.
Qualify that layout from the available main DCP and its connector role.
Validate its physical framebuffer separately from inherited mappings and
preserve both frontend streams without a board-name gate.

Assisted-by: LLM checkpatch
Signed-off-by: Sean Dolbec <sdolbec1@gmail.com>
Some T8132 desktops route the main DCP through a fixed DPTX-to-HDMI path
instead of an internal panel. Use the existing connector-type property as
that role contract, prepare the PHY and converter rails, adopt the retained
firmware session, and register it through the external-output KMS path.
Accept the retained physical framebuffer without manual bind controls or
machine-name checks.

Assisted-by: LLM checkpatch
Signed-off-by: Sean Dolbec <sdolbec1@gmail.com>
The T8122 driver maps its core and DPTX windows by name. Describe those
resource names now that the PHY has an implementation.

Assisted-by: LLM checkpatch
Signed-off-by: Sean Dolbec <sdolbec1@gmail.com>
T8122 uses a distinct cold activation sequence and a handful of link-rate
register choices. Add the sequence, runtime-PM provider setup, and
compatible so the fixed DPTX-to-HDMI path can use the generic PHY
interface.

Assisted-by: LLM checkpatch
Signed-off-by: Sean Dolbec <sdolbec1@gmail.com>
The Mac mini routes its main DCP through the T8122 DPTX PHY and an HDMI
converter controlled by two SMC GPIOs. Describe that fixed path and enable
the retained DCP, mailbox, and display DART nodes. Do not attach the DCP or
mailbox to DISP_CPU: iBoot leaves that domain in auto mode and direct PMGR
writes fault on this machine.

Assisted-by: LLM checkpatch
Signed-off-by: Sean Dolbec <sdolbec1@gmail.com>
@techmore
techmore force-pushed the j773g/hdmi-display-20261107 branch from 04e1d87 to 396679f Compare November 8, 2026 10:31
@techmore
techmore marked this pull request as ready for review November 8, 2026 10:31
@chatgpt-codex-connector

Copy link
Copy Markdown
Codex Review Summary: ❌ Failed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ❌ Failed 2026-11-08T10:31:58.579814Z
We couldn’t complete this review. Comment @codex review to try again.
396679f Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@RyanTheTide RyanTheTide left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Commit 7e92f49 is authored by Pavel Shago but carries only the submitter's Signed-off-by. It needs a Signed-off-by from its author as well (DCO, Documentation/process/submitting-patches.rst).

@RyanTheTide RyanTheTide left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Besides the Signed-off-by from its author still needed on 7e92f49:

  1. This no longer merges into integration/aurora. drivers/phy/apple/dptx.c conflicts with c0e42a1 ("phy: apple: dptx: Add the T6050 variant", from #940, merged as 328654f). Please rebase and keep both the T6050 and T8122 variants.

  2. The description lists the exact head as not booted. After the rebase, please add the J773g result for that head (HDMI connector and modes, desktop, cold and warm boot). iomfb_m4.c, dcp.c and apple-dart.c are shared with J713, so please also add a J713 internal and external display check.

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.

3 participants