Repository navigation
apple: prepare gated J616S AOP, ISP and inherited USB2 support - #231
Closed
RyanTheTide wants to merge 6 commits into
Closed
RyanTheTide wants to merge 6 commits into
RyanTheTide wants to merge 6 commits into
Conversation
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
Pass the strict synchronization mode explicitly in root handoff tests. Verify that pre-attach synchronization defers roots until their ownership shadow exists, while strict synchronization rejects incomplete ownership without changing the live root. Stream registration does not map the locked roots. Expect the deferred synchronization path to succeed and retain the firmware TTBR and software mapping, rather than expecting an attachment error. Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
Signed-off-by: Ryan Murray <ryan@aurorasilicon.org> Assisted-by: LLM
RyanTheTide
force-pushed
the
j616s/linux-integration-next
branch
from
October 13, 2026 15:24
df475c5 to
a4e7ee8
Compare
This was referenced Oct 14, 2026
Author
|
Closing this stale draft. The M4 Pro (J616s/T6040) line landed in integration/aurora through jgoyvaerts' series (#368 to #379, #383 to #387, #396) and the fixups in #392, #398 and #399, and the aurora-wip base is retired. The AOP jack, ISP profile and inherited USB2 pieces stay on j616s/linux-integration-next if we want them as a fresh PR on integration/aurora. Thanks! |
erikwb
pushed a commit
to erikwb/linux
that referenced
this pull request
Oct 28, 2026
Port the processed config-5 preview command sequence from our m1n1 J616s work, with contiguous V4L2 P010 strides and pool geometry. Query all advertised H17 sensor configs and retain the board defaults while appending consistent output modes. Keep NV12 the default and scope the new path to T6040/IMX958. Retire output and metadata leases after the report ACK, restart an empty P010 queue on requeue, bound ring servicing and latch malformed or timed-out command replies. Add command-byte, geometry, ownership and ring-wrap coverage. These source corrections still require sustained capture validation on 26.6.2. Builds on Jonathan Goyvaerts’ T6040 camera support in PR aurora-silicon#384. Protocol reference: our m1n1 PR aurora-silicon#20 at 9be380c8a5 and Linux PR aurora-silicon#231 at a4e7ee8. No firmware payload is included. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
erikwb
pushed a commit
to erikwb/linux
that referenced
this pull request
Oct 28, 2026
Port the processed config-5 preview command sequence from our m1n1 J616s work, with contiguous V4L2 P010 strides and pool geometry. Query all advertised H17 sensor configs and retain the board defaults while appending consistent output modes. Keep NV12 the default and scope the new path to T6040/IMX958. Retire output and metadata leases after the report ACK, restart an empty P010 queue on requeue, bound ring servicing and latch malformed or timed-out command replies. Add command-byte, geometry, ownership and ring-wrap coverage. These source corrections still require sustained capture validation on 26.6.2. Builds on Jonathan Goyvaerts’ T6040 camera support in PR aurora-silicon#384. Protocol reference: our m1n1 PR aurora-silicon#20 at 9be380c8a5 and Linux PR aurora-silicon#231 at a4e7ee8. No firmware payload is included. Assisted-by: LLM Signed-off-by: Ryan Murray <ryan@aurorasilicon.org>
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.
Prepare J616S driver infrastructure while keeping native camera and streaming audio admission closed. The integrated kernel now has build, host-test and bounded ARM64 startup evidence under m1n1's hypervisor. Native peripheral operation of this integrated image remains unqualified; separate diagnostic native USB evidence is distinguished below.
The patch adds checked AOP boot-argument profiles and service retirement, a profile-pinned jack inspection child without PCM registration, checked ADMAC descriptor ranges, and reserved-firmware/IOMMU lifetime handling. ISP preparation adds explicit profile/IPC layouts, buffer ownership and retirement tracking, and checked video quiescence while retaining upstream genpd/syscore ownership and separate suspend/hibernation callbacks. The inherited USB2 PHY verifies bootloader-owned device-mode state without PHY/PIPE writes.
Hardware gates remain closed: there is no T6040 ISP parent OF match or enabled camera/audio DTS; selecting its ISP profile returns -EOPNOTSUPP. Jack inspection requires the machine, firmware/protocol/endpoint profile, provider admission and idle routes, and registers no PCM. USB2 requires explicit inherited handoff and does not qualify host transitions, hotplug, suspend or SuperSpeed. This patch adds no DCP hardware admission.
The branch preserves the preparation history and merges aurora-wip 27178c4 through 2bf2d1c. Commit 1522b0a corrects stale DART KUnit calls for the locked-root deferral API and checks that deferral, strict rejection and invalidation preserve unpublished firmware roots. Production barriers and hardware gates are unchanged.
Validation at this target snapshot:
Full ARM64 Image and DART object compilation passed with the unchanged boot config. Image SHA256: 7746d86f1aa2d4d5d316a8759fd6f2fe93e4aafa3f33f17fa897f45267faa423; 9,756,680 file bytes and 10,420,224 runtime bytes. DART KUnit is disabled in this boot config, so the final test-only commit does not change the linked Image.
Separate ARM64 brcmfmac PCIe, message-buffer and common-object compilation passed. This is compile coverage, not working Wi-Fi hardware or an enabled Wi-Fi device in the boot test.
QEMU x86 ISP/AFK/IOMFB KUnit: 27/27 passed. ARM64 QEMU DART: corrected focused suite 10/10 passed; the unchanged firmware-leaf and 27 companion cases passed in the preceding ARM64 run. Failed x86 ARM-barrier and stale-expectation logs are retained; production barriers were not replaced with shims.
Relevant host checks passed: 32 allocator/PTE paths, one AOP retirement case, five service-race cases and nine ISP wire fixtures. Previously qualified unaffected harnesses were not repeated. The known upstream Rust dead_code lint-expectation warning remains.
On J616S, the exact new Image booted Linux 7.1.12+ under the existing 64 MiB RAM-only hypervisor DT/initramfs. CPU 0 reached a BusyBox shell; config SHA256 b73d6e295ea372082ea0b210cf97bac11f4dd147529dca7343995dbc4fe89101 matches the build. Timer IRQ 34 advanced 27→1280 over five seconds with zero interrupt errors, and sleep advanced uptime 5.18→7.18. The complete mount table contained only RAM/pseudo filesystems. This closed DT excludes physical USB, audio, ISP, DCP and Wi-Fi consumers.
Separate native USB diagnostic evidence: the original pinned diagnostic kernel and initramfs produced two independent fresh-nonce UID0 commands over physical high-speed ACM bulk traffic after adding bank0/SID0 alongside bank1/SID1 to the generated RAM DT. A later diagnostic kernel returned another complete UID0 command with empty-transfer priming omitted, notifications suppressed and custom request deferral disabled, demonstrating its ordinary queue/kick path for one command. Both trials passed fresh ownership gates and natural watchdog recovery. ACM notifications were suppressed; this is not qualification of this PR Image, a sustained shell, normal ACM, ECM or SuperSpeed. Subsequent comparisons with notifications enabled, including the newly working skip-only setup, failed bounded ACM admission and recovered safely; the hardware cause remains unresolved. The binding documentation records both-bank topology and current handoff limits; no enabled production T6040/J616s DTS is added.
Natural watchdog recovery restored m1n1. Fresh ADT, proxy connectivity and both disabled watchdogs were independently verified before retiring allocations. Installed images, boot policy, partitions and attached storage were preserved.
A 42-artifact manifest and six source pins retain the latest-base evidence under outputs/j616s-linux-latest-merge; the target transcript and recovery proof are under outputs/j616s-linux-latest-merge-hv-comparison. Earlier build and runtime evidence remain separate. Reliable normal native ACM/notifications, sustained USB and ECM, Wi-Fi, audio streaming, camera, display, SuperSpeed and a persistent Linux installation still require hardware validation before leaving draft.
Watchdog ownership follow-up (df475c5): the Apple watchdog now assigns its platform-device parent before registration and applies the configured nowayout policy. The exact two-line driver delta was built as ARM64 Image 7d4c272437e78cd70faebbd4570e5bc7a1170cb48fb0025cd0220f398dfaeaf5 and live-qualified on J616S in RAM-only Linux. Visible sysfs identity resolved to the primary 0x50836c000 watchdog, timeout30/nowayout1/bootfeedN/open10. Three separate bounded trials proved autonomous recovery after owner SIGKILL, deliberate host-heartbeat loss and an independent 20-second hard deadline; each returned to a fresh m1n1 generation with stable NOP/ADT/base and both watchdogs disabled. These trials used high-speed ACM with notifications suppressed and do not qualify normal notifications, a production shell, or SuperSpeed.