Skip to content

phy: apple: dptx: give T6050 its own DisplayPort PHY sequence - #940

Merged
DjDeveloperr merged 1 commit into
integration/aurorafrom
j716c/t6050-dptx
Nov 9, 2026
Merged

DjDeveloperr merged 1 commit into
integration/aurorafrom
j716c/t6050-dptx

Conversation

@erikwb

@erikwb erikwb commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

T6050's lpdptx PHY has the T602x bank layout, but its PLL calibration, clocking, rate programming, AUX calibration and power follow newer blocks. The T6020 sequence would program the wrong fields, so this adds a T6050 sequence: activate and deactivate, PLL and PHY up/down, per-rate PLL records from 1.62 to 8.1 Gbit/s, with every write a field update.

Commit by Jeff Queisser. It isn't exercised on J716c yet: nothing drives an external display there.

Created with Claude Opus 5.5 in Claude Code.

The M5 Ultra's lpdptx PHY has the T602x bank layout: core plus dptx, with
the PLL command at dptx+0x100c. Its PLL calibration, clocking, rate
programming, AUX impedance calibration and PHY power follow the newer
blocks. The T6020 sequence replays captured register words, and
on this PHY it would program the wrong fields. Give T6050 its own
sequence:

- activate: core power for PLL, AUX and PHY (1 us apart); source select
  from the crossbar's ufp endpoint; the board's PLL calibration
  (DCOCFG split across 0x2240[2:1] and [6:4], DTCVREG, DTCCAL, DCDADJ,
  DLFCFG, optional RODCOROLEAKCOMP) and fixed settings; PLL setup with
  the pixel-clock driver selected by pclkdrv-select and single-ended
  clock out; lanes released; AUX up; impedance calibration, with its
  result copied into 0x4228.
- link reconfiguration, as the DCP brackets it: PHY down, PLL down, lane
  count, rate, then PLL up and PHY up. A per-rate PLL record gives the
  divider and analog fields for 1.62 to 8.1 Gbit/s. PLL commands wait
  100 us, then check the acknowledgment (0x1014[0]) and the lock
  (0x1008[3]) separately.
- deactivate: the reverse.

Every write is a field update.

Signed-off-by: Jeff Queisser <funkzy@users.noreply.github.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
[erik: dropped the bring-up debugfs interface]
Signed-off-by: Erik Bourget <erik@ebourget.net>

@DjDeveloperr DjDeveloperr 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.

Approved: loads on the M5 Pro (J714sAP); the rest is reviewed statically.

phy-apple-dptx with this head (c0e42a1) loads cleanly on J714sAP. The J714s DT has no lpdptx consumer and nothing drives an external display, so the T6050 sequence isn't exercised, the same as on J716c. The code is identical to the copy in our M5 platform kit. Every PLL, calibration and power wait is bounded, and each failure is reported. This head merges cleanly into current integration/aurora.

RyanTheTide added a commit that referenced this pull request Nov 9, 2026
@DjDeveloperr DjDeveloperr reopened this Nov 9, 2026
@DjDeveloperr

Copy link
Copy Markdown
Contributor

Retested before merging on the M5 Pro (J714sAP, bare metal, SSD boot), kernel 7.3.0-m5-merge: the M5's integration kernel with this round's rebased heads in place of the old ones (every PR's own patch identical to what is merged; logs in work/m5-pr-merge-20261109). CI green.

Before merging, this round (these 14 PRs, #1323 and the rebased #1254/#1306/#938/#1316/#1199) was test-merged in order onto integration/aurora f9cf6f9 with no conflicts: apple-dt-check.sh 414 → 414 warning lines (0 new) over 137 DTBs, all 20 changed bindings pass, and a local host-test run fails only where integration itself fails with this host's newer toolchain. A full arm64 build of the same set on 8d98b7a was clean.

  • phy-apple-dptx loads on J714sAP (no external display to drive the T6050 sequence, as before).

🤖 Generated with Claude Code

@DjDeveloperr
DjDeveloperr merged commit 328654f into integration/aurora Nov 9, 2026
1 check passed
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