Skip to content

kernel: Start the AOP firmware the way a fresh coprocessor is started - #134

Merged
henrikklee merged 1 commit into
mainfrom
aop-start-order
Nov 12, 2026
Merged

henrikklee merged 1 commit into
mainfrom
aop-start-order

Conversation

@henrikklee

Copy link
Copy Markdown
Contributor

The AOP driver cold-starts its firmware, then called apple_rtkit_wake(), which sends an IOP power request before the firmware's hello: the call for already-running firmware. Use apple_rtkit_boot() as nvme-apple and pvr_apple (T8010 GPU) do for a coprocessor they start themselves. Targets the iPad 6 AOP start crash (co-processor has crashed 1 ms after start, firmware did not boot: -62, roughly one boot in six). Untested on hardware.

The AOP sensor coprocessor crashed at start in some boots of the iPad 6
(no rotation until the next boot). The driver sent the freshly loaded
firmware a power request before it had said hello; it now waits for the
hello, as Orchard's GPU and NVMe drivers do. All A9 and A10 boards
with the AOP.
@henrikklee
henrikklee merged commit 266bc38 into main Nov 12, 2026
11 checks passed
@henrikklee
henrikklee deleted the aop-start-order branch November 12, 2026 22:20
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