Skip to content

arm64: dts: apple: t602x: give the first ANE DART its power domain - #1694

Draft
DjDeveloperr wants to merge 1 commit into
integration/aurorafrom
dts/t602x-ane-dart0-power-domain
Draft

DjDeveloperr wants to merge 1 commit into
integration/aurorafrom
dts/t602x-ane-dart0-power-domain

Conversation

@DjDeveloperr

Copy link
Copy Markdown
Contributor

Split out of #1676, which carried this commit alongside four other DART power-domain fixes. The rest of #1676 can merge without it; this one waits for a T602x boot.

ane_dart0 (iommu@285800000) names the always-on ps_pmp. The M2 Pro/Max device trees give dart-ane0 the ANE-SYS-DART vote under ANE_SYS, and the M1-family ANE DARTs at the same place already name ps_ane_sys. With ps_pmp, nothing powers ANE_SYS before ane_dart0 probes: only ane_dart1 and ane_dart2 (ps_ane_cpu, a child of ps_ane_sys) bring it up. The first register read then depends on the loader having left ANE_SYS on, and if it hasn't, apple_dart_readl takes an SError and the boot panics. This change names ps_ane_sys instead.

This has only been build-checked.

Needs one boot

Please boot this on any one of J414s, J416s, J474s, J414c, J416c or J475c and check that:

  • 285800000.iommu probes cleanly (no probe error in dmesg)
  • the ANE still binds
  • there is no SError during boot

🤖 Generated with Claude Code

ane_dart0 names the always-on ps_pmp, while the M2 device trees (macOS
27.2.1: J414s, J414c, J475d) give dart-ane0 the ANE-SYS-DART vote,
parent ANE_SYS, and the engine votes ANE-SYS-V. The M1, M1 Pro/Max/Ultra
and M2 ANE DARTs at the same place already name ps_ane_sys.

With ps_pmp, nothing powers ANE_SYS before ane_dart0 probes. It is the
first of the three ANE DARTs, and only ane_dart1 and ane_dart2
(ps_ane_cpu, a child of ps_ane_sys) bring ANE_SYS up. Its first register
read then depends on the loader having left ANE_SYS on. When the loader
has not, the read takes an SError and panics the boot in
apple_dart_readl, as the T8132 scaler and JPEG DARTs did. Name
ps_ane_sys. After probe nothing changes: ane_dart1 and ane_dart2
already hold ANE_SYS on.

The ANE and its DARTs are enabled on the M2 Pro and M2 Max (J414s,
J416s, J474s, J414c, J416c, J475c), where ane_dart0 binds today with
ps_pmp. This change is build-checked only.

Fixes: 49d05bc ("arm64: dts: apple: t602x: Add the die 0 ANE")
Signed-off-by: Diljit Singh <hey@djdev.me>
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