Repository navigation
arm64: dts: apple: t8142-j815: speakers and sound card - #1534
m0d16l14n1 wants to merge 33 commits into
Conversation
J704 and J815 describe their boards on top of the T8142 inventory in t8142.dtsi, but J813 still defines its own root, CPUs, timer, AIC and UARTs, and its fragments define the pmgr and DART nodes that the inventory also has. A board that includes t8142.dtsi therefore cannot use the J813 fragments: the labels are defined twice. That blocks the J815, which shares most of them. Include t8142.dtsi in J813 and enable what it uses, as J815 does. Turn the fragments' pmgr, AOP, AVD, DCP, display, PCIe, PMP and MTP DART definitions into references that keep J813's values. Enable the two USB DARTs, which the inventory disables at the same paths. The flattened J813 tree is unchanged apart from explicit status = "okay", interrupt-parent now inherited from the root, and the inventory's extra USB DART labels: compared with dtc -I dts -O dts -s before and after, with phandle numbers removed. Not tested on J813 hardware. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
J815 has J813's PMGR power domains, PMP, QSPI and FPWM. Include t8142-j813-peripherals.dtsi, which J813 now builds on t8142.dtsi, in place of the board's own PMGR and MTP DART enables. The PMP takes the J815 board-id from the ADT (0x26). Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
The J815 ADT describes both Type-C ports like J813's: ATC PHYs, DWC3 controllers, DARTs and the CD3218B controllers on the same buses. Include t8142-j813-usb.dtsi. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. A SuperSpeed Plus hub and the USB 2/3 devices behind it enumerate, and USB-C headphones play audio. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
Include t8142-j813-display.dtsi and describe the J815 panel: 15.3-inch, 2880x1864 (2880x1800 below the notch), 326 x 211 mm. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. With the macOS 27.0 DCP firmware this needs the FW27 display support in Linux aurora-silicon#1413; the console and a KWin session run on the panel. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
The J815 GPU is J813's. Include t8142-j813-gpu.dtsi. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. With the macOS 27.0 firmware this needs Linux aurora-silicon#1413; the GPU driver initializes and KWin renders through Mesa. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
Include t8142-j813-avd.dtsi: J815 has J813's AVD, DART and power domain. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. With avd-fw-v5-t2 the decoder probes and decodes through v4l2-request/VA-API: H.264 High 1080p and HEVC Main 720p in mpv (vaapi-copy, one AVD interrupt per frame, no kernel errors). Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
Include t8142-j813-isp.dtsi. The J815 ADT gives the ISP sensor-type 0x72 (J813: 0x71). Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. The ISP firmware boots and the camera streams. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
Include t8142-j813-n1.dtsi for the N1 on apcie port 0. Describe the N1's three PCI functions and alias wifi0 and bluetooth0 to them, so the loader can fill in the factory MAC and BD addresses, as on T6050. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. Wi-Fi connects to WPA2 networks, and Bluetooth LE devices pair and reconnect. Both use the factory addresses. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
Include t8142-j813-audio.dtsi for the AOP, the AP and NUB pin controllers, the ADMACs and the I2C buses with the headphone jack codec and speaker amplifiers. J815 has six speaker amplifiers where J813 has four, so keep J813's sound card and the AOP audio service disabled. The J815 speaker layout is a separate change. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board, with audio enabled. The AOP boots and its services come up. This exact variant, with audio disabled, has been compile-tested only. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
The J815's AOP "als" service is an ST VD6286, as on the M4 Pro, not T8140's CT817. Give the service device its compatible so aop_als binds and sends the per-device calibration. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. The sensor reports lux and colour temperature. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
The discovered SMC temperatures carry no power rails and no SoC die zone. Add the total system, AC input and 3.8 V rail power, the AC and battery voltages and the AC current, and J704's T8142 die key list for the SoC die thermal zone. Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
From the J815 ADT (macOS 27.0): the SEP is a pre-booted iop-sep,ascwrap-v6 at 0x30a600000 with its ASC mailbox at +0x8000. Its t8110 DART uses the BIT(40) input aperture, as on T8132. The Touch ID sensor is on spi2 (0x3a5108000, 8 MHz, CS0, power domain SPI2 under SPI_P), with power on NUB GPIO 36 and data-ready on AP GPIO 200. Alias the SEP so the loader can reserve its firmware and copy the boot manifests onto the node, and expose the two sensor pins. The SEP and its DART stay disabled: the SEP driver enables them. Tested on J815 with the J815 SEP profile: the SEP attaches, the sensor binds on spi2 and comes up in about 40 ms, and fingerprints enrol and match (sudo with the finger). Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
J815 has six SN012776 speaker amplifiers where J813 has four. Add the two woofers at 0x3a and 0x3d and name all six as in speakersafetyd's j815.conf. Feed them in ADT speaker-config order, and tell the AOP audio service it has six amplifiers (apple,speaker-amps). The card is apple,j815-macaudio. Enable the AOP audio service and the card. The speakers stay at macaudio's safe level until speakersafetyd holds them. That needs the J815 profile. Depends on the J815 audio series on top of Linux aurora-silicon#1423 (the apple,j815-macaudio and apple,speaker-amps bindings). Tested on J815 (MacBook Air 15-inch, M5) with the equivalent node set in a J815 tree that included the whole J813 board. All six amplifiers probe and each speaker answers on its own sense pair. Capped speaker playback and the microphones work. The headphone jack codec probes; wired headphones have not been tried. Assisted-by: Claude Opus 5.5 Signed-off-by: Nick <nekreshen@yandex.ru>
DjDeveloperr
left a comment
There was a problem hiding this comment.
Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.
Keep draft/dependency hold: this carries the shared J815 DT extraction plus AOP speaker graph and depends on reviewed1423/1533/1532 changes and the capped J815 profile. The profile source may land separately without enabling hardware. Headphone behavior is explicitly untested; do not promote it or generic audio to Working solely when this graph merges. Preserve the existing protection/interlock and no-v2 shipment hold. CI is approved for evaluation; no playback or hardware changes were performed here.
Match the existing DT and public driver interfaces: keep the specific fallback chains, T8142-only ALS, eight ISP power domains versus fourteen on T8140, and the two-mailbox/six-region T8142 GPU profile. Preserve the constraints on other SoCs. No DT resource values change. Validated with dtschema 2026.9 strict document/reference checks and targeted processed-schema positive and negative cases. Full DTB validation and the draft J813 hardware gate remain separate. Signed-off-by: Diljit Singh <hey@djdev.me>
Carry byte-exact schema files from reviewed aurora-silicon#1423 at 18fa06f so the shared J813/J815 DT can be checked without inventing a second binding implementation. Original binding updates by Thomas Glanzmann, signed off in commits 9afc945 and bb9ad0e. This is binding metadata only; no driver or speaker-protection adoption or parent edge is added. The M5 merge lane retains ownership of aurora-silicon#1423. Later identical binding changes coalesce in an ordinary merge. Signed-off-by: Diljit Singh <hey@djdev.me>
Identify the J815 native profile with a T8142-specific compatible while retaining the PCI1900 fallback. The generic driver continues to match the host/PCI ID and obtain firmware data from its root board table; no firmware/platform/protocol values are invented. Keep all three wire27 properties required for the older PCI-only T6050 profile and forbid mixing those properties into the native profile. Only the J815 endpoint compatible changes. Shared SoC/J813 DT inputs and runtime resources remain unchanged. The J815 board firmware-table prerequisite is aurora-silicon#1530. Signed-off-by: Diljit Singh <hey@djdev.me>
Preserve the current shared T8142 CPU topology, OPP power data and trackpad actuator, along with the J813 firmware clock providers. Reconcile T8142 binding profiles with the current T6050 sensor services and preserve the T8140 ISP firmware memory and sensor power domains.
DjDeveloperr
left a comment
There was a problem hiding this comment.
Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.
Updated the stack with normal merges of reviewed DT parent1532@b180163d, audio parent1533@824c7c22 and main955ba62c, preserving the original speaker-graph commit and all parent histories. Final head ea5ab50 is draft and merges cleanly.
The six codecs retain their original order, shared reset151, 250 BCLK ratio and distinct voltage/current sense slots. Both original audio-disable tail overrides are removed as intended by this PR; the graph is not accidentally left disabled by the DT-parent merge. The full four audio/schema blobs equal reviewed1533, including ownership flags, caps and interlocks. Other reviewed DT/schema/shared CPU/OPP/actuator/clocks/ISP memory/N1/alias inputs remain unchanged, and main’s three PMGR/runner paths are preserved.
Twelve schema documents/meta/reference checks, twelve targeted ABI controls, symbolic six-codec graph checks and whitespace checks pass. No kernel/DT build or physical playback was performed here. Keep draft: fresh stack/parent CI, the existing three-object audio validation and author-required J813 DT boot remain gates. Original J815 sweep/playback/microphone evidence predates this integration; headphones remain unqualified. No protection bypass or new v2 shipment is authorized.
Match the existing J813/J815 fw-data crash-log region and its ordered seven-region tuple. Preserve the six-region maximum for other GPUs.
Preserve both board configurations and their distinct tweeter HPF grants. Keep main protection and admission logic unchanged.
DjDeveloperr
left a comment
There was a problem hiding this comment.
Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.
The current DT failure is validation, not setup: all137 DTBs built and binding/ADT checks passed. Four new warnings identify the omitted seventh T8142 GPU region; the fifth is the deliberate legacy alias. Fixed the GPU binding in parent1532@9122abe4 and normally merged it into this stack.
Also resolved the newly merged J714 audio overlap against main990e00b7. The final union reconstructs exact main after removing the original J815 config/comment/match, preserving all main admission/interlock logic. J714’s HPF grant stays true, J815’s false and its safe cap unchanged. Actual C config/match GCC/UBSan controls pass, and four mutants compiled then aborted for lost/leaked HPF grants, relaxed J815 cap and wrong J714 match. Sound binding checks pass; GPU controls32/non-target comparisons768 pass. Original six-codec graph and AOP Rust source/schema remain unchanged.
Published head5fac88d61add13bb698148efabc69213d784352a, normal history-preserving merges, both branch refs verified. Fresh CI is running; do not claim the compiled warnings cleared yet. Keep draft: the existing alias/loader-adoption/J813 boot and audio-object gates remain. Old824c whole-C object proof cannot qualify this new union; no new kernel/DT build, playback or hardware test was performed.
DjDeveloperr
left a comment
There was a problem hiding this comment.
Codex (GPT-6.1 Sol), reviewing on @DjDeveloperr’s behalf.
The conflict notification is transient: GitHub currently reports this exact head mergeable. Current main b96b0fc adds the ANE series after this head’s integrated main990; its changed paths do not overlap any of this PR’s 20 changed paths, so no branch rewrite is needed.
Actual head validation is now available: Host job 130813161188 passed. DT job 130813162666 built all 137 base/head DTBs successfully, passed all ten touched bindings (including GPU, AOP audio and macaudio), and passed the 19 coverage-checker tests plus all six board comparisons. Warnings fell 400→391: ten removed, one new. The only new warning is J815 aliases/disp0_piodma, the same loader-compatibility gate tracked in #1532/aura#165. Keep it draft; do not rename/filter that alias before compatible-loader boot/adoption qualification. This is DT/binding validation, not audio object or physical playback qualification. Existing audio safety and hardware limits remain.
Retain current main's ISP binding, including the T8140/Neo sensor-domain order and T8142 eight-domain case. The audio code and sound bindings from aurora-silicon#1533 have already landed and now match main exactly. Preserve all added and removed lines in the remaining 15 DT and binding feature files, including the seven-region T8142 GPU schema and underscore loader alias. Keep compatible-loader qualification/adoption and shared J813/J815 DT and protection qualification as draft gates. Eight binding documents pass metaschema/reference checks. The processed GPU schema passes 32 current controls and 32 main-profile controls. This merge does not claim a compiled DTB, new hardware boot or physical audio. Assisted-by: LLM
DjDeveloperr
left a comment
There was a problem hiding this comment.
Resolved the current-main conflict in c83c100 (normal merge; no history rewrite). Kept main's complete ISP binding, preserving the Neo sensor-domain order and T8142 eight-domain case. The landed #1533 audio code and sound bindings now match main exactly and disappear from the PR diff. All added/removed lines across the remaining 15 DT/binding feature files are unchanged from 5fac88d; the original J815 speaker graph and underscore loader alias remain intact.
Local validation: eight binding documents pass dtschema metaschema/reference checks; the processed GPU memory ABI passes 32 candidate controls and 32 current-main controls. No new kernel/DTB build or hardware run. The completed #1533 audio-object validation is retained; no duplicate audio compilation is needed.
Keep draft. Fresh Host/DT runs 43142783549/43142783350 are queued. The known alias warning is not filtered: Aura #165 needs affected T8142 loader boot qualification and compatible-loader adoption before canonical alias migration. Required J813/shared-DT boot and J815 graph/protection/physical rollout evidence remain outstanding. The original pre-integration hardware report is retained at its stated scope; headphones remain unqualified.
Keep main's complete ISP binding, preserving the T8140/Neo sensor-domain order and T8142 eight-domain case. All added and removed feature lines in the remaining 15 DT and binding files match the preceding parent. The complete bindings directory matches the validated aurora-silicon#1534 integration: eight binding documents and 32 candidate/32 main GPU schema controls. No repeated schema test or new compiled-DTB/hardware result is claimed. J815 audio stays disabled here. Keep the underscore loader alias until compatible-loader qualification/adoption; no warning filtering. Preserve published ancestry and require fresh current-head Host/DT CI. The required J813 shared-DT boot and existing loader/rollout gates remain. No boot, audio playback, image build or protection-policy change. Assisted-by: LLM
Add the N1 control/Wi-Fi/Bluetooth PCI functions and wifi0/bluetooth0 aliases already used by J815, so the loader can populate the factory addresses on J813. Keep the change board-local and omit the untested SEP alias. Do not change Bluetooth experimental module options. Based on the patch and owner report by @gig3m in linux#1532 comment 6828183980. The supplied block is carried exactly; its PCI topology matches J815. Symbolic source checks preserve all307 original nodes and properties and add only the four PCI nodes/two aliases. This is not a new compiled-DTB or whole integrated hardware qualification. The owner reports five boots/daily use of the 97f1472 feature on a 2b05915 composition with this block/local display patch, firmware26.6.2. GPU and SEP remain untested; Bluetooth pairing required opt-in flags. The independent Aura165 alias qualification/adoption gate remains. Assisted-by: LLM
Inherit the updated parent1532 J813 factory-address target nodes and its already-published J316s NFC main ancestry. Preserve the complete J815 six-codec sound graph and all other child source unchanged. This normal merge retains both published histories; source checks prove only the J813 N1 fix and the inherited main NFC node differ from the previous child. No audio/protection/loader/module-option change or new hardware qualification is claimed. Require fresh CI for both layers; keep the existing loader-alias and physical rollout limits. Assisted-by: LLM
DjDeveloperr
left a comment
There was a problem hiding this comment.
Normal merged the updated #1532 parent223d7d72 asdf3087d0 in the same atomic publication. This inherits @gig3m's exact J813 N1 factory-address block and the parent's existing J316s NFC ancestry. Relative to the preceding child, those are the only two changed files; J815's complete six-codec sound graph and every other child file remain exact. Relative to the updated parent, the only difference is the original J815 sound-graph DTS.
The J813 first-commit owner-check gate is now satisfied at report6828183980's five-boot/composed-tree scope. The new aliases/PCI nodes have bounded symbolic preservation and J815-topology checks, with no SEP alias, experimental Bluetooth option or audio/protection change. GPU/SEP/default-Bluetooth qualification is not implied.
Fresh CI is required for this head. Keep draft: Aura165's affected-loader qualification/adoption and coordinated canonical-alias migration remain, as do the J815 graph/protection/physical rollout limits. No new audio build, playback, loader installation or physical trial was performed.
Retain the parent's PMGR node layout and aurora-silicon#1527's newly merged ps_pmp always-on property, including the SRAM supplier. Keep current main's cpuidle source and its WFI/PSCI handling. All14 other feature line sets are unchanged; the owner-provided J813 N1 targets stay byte-exact. Symbolic checks cover PMP address/supplier/always-on and factory aliases on J813 and J815 in parent and child. This is not a compiled DTB or new physical boot result. Require fresh CI; keep the Aura165 loader alias qualification/adoption gate and J815 physical rollout limits. Assisted-by: LLM
Inherit the updated parent/main with aurora-silicon#1527's always-on PMP in the shared PMGR description. Apply the original J815 sound graph without changing its codec slots, resources or protection configuration. The child audio net patch is exact; both old histories are retained. Keep the J813 owner-check evidence at its stated composition scope and retain the loader-alias qualification/adoption and J815 physical gates. No new audio build, playback, loader installation or hardware test. Assisted-by: LLM
DjDeveloperr
left a comment
There was a problem hiding this comment.
The df3087d DT failure is the known alias gate: base/head137 DTBs and make rc=0,402/394 warning lines, one new/nine removed; the sole new warning is disp0_piodma. All seven changed bindings and ADT19/six comparisons passed. No new GPU/N1 failure or unchanged-source retry is inferred.
The actual conflict follows #1527's newly merged PMP retention, overlapping the parent's PMGR layout. Parent e8fb89d keeps that layout and main's complete ps_pmp block, supplier and always-on flag. Child260d5e15 normally merges the updated parent and preserves the exact previous J815 sound net patch; its whole J815 DTS is byte-identical to df3087d. The J813 N1 DTS remains exact in both layers. An explicit three-way trial matches the prepared child tree, and both refs were atomically published without force.
Symbolic parent/child J813/J815 checks confirm the PMP at0x598, SRAM supplier, always-on and correct factory aliases. Fresh hosted CI is required; no new kernel/DTB/audio build or physical/loader/playback action. Historical #1533 objects are not relabeled as a current-main whole-source build.
Keep draft for Aura165 affected-loader qualification/adoption and coordinated canonical-alias migration, plus the existing J815 physical rollout limits. The J813 owner-check gate stays closed at its reported composed scope; it is not requested again.
Carry gig3m's node from linux#1532 comment6837248959 exactly. The J813 27.0 ADT supplies the same VD6286 ALS service as J815. The owner reports illuminance and color-temperature readings using installer-supplied per-device calibration on the previously stated composed tree. Keep calibration loading in aop_als; firmware-name would select the different CT817 setup-port calibration path. Existing nodes/properties are preserved and the added ALS node equals J815's. This source check is not a new DTB build or physical boot. Require fresh CI and retain the independent Aura165 alias qualification/adoption gate. Based-on: @gig3m's patch and owner report6837248959 Assisted-by: LLM (Codex)
Inherit the owner-provided J813 ALS node without changing the existing audio graph or SEP profile/policy delta. Preserve both histories. Fresh CI and the independent parent/loader/review gates remain. Assisted-by: LLM (Codex)
Preserve the complete prior J815 board description and append main's complete MCC enablement, including its shared cache definition. Keep main RTC and binding updates alongside the existing bring-up features. The shared MCC node is inherited disabled on J813; J815 is enabled as on main. The old J815 audio graph and SEP two-file feature are preserved. Metaschema checks caught a pre-existing duplicate agx-g17s enum in main. Remove its redundant trailing occurrence, preserving the allowed set and every other condition; retain current main's entry and ordering. Keep published ancestry and require fresh CI. Existing loader-alias, review and physical qualification limits remain; no hardware claim. Assisted-by: LLM (Codex) Carry intervening main673f6184 J700-only update; every reviewed/tested input is byte-identical, so validation is reused without repeated tests.
Retain the full audio or SEP feature while inheriting the updated parent/main, complete MCC block and semantics-preserving duplicate enum repair. Keep both published histories and all review/loader qualification gates; require fresh CI. Assisted-by: LLM (Codex)
DjDeveloperr
left a comment
There was a problem hiding this comment.
Resolved the main conflict with normal merges: parent1532@0434a61e, audio1534@770097fd and SEP1732@98e509f0. Existing published histories remain; the fork parent/audio refs were updated atomically without force, then the SEP sibling inherited the parent.
The EOF conflict now keeps the complete old J815 board bodies as byte-exact prefixes and adds main’s complete MCC block. This avoids the shared-closing-brace trap in a plain conflict concatenation; the initial incomplete candidate was caught before publication and retained as evidence. Main’s MCC geometry is enabled on J815 and inherited disabled on J813 through the shared extraction. Main RTC/rtc-offset nodes are also carried. PMP retention, N1/ALS, the complete audio graph and the exact two-file SEP/profile feature are preserved. Independent source review found no concrete regression.
Metaschema validation caught a duplicated agx-g17s entry already present in main; removed only its redundant trailing enum value. The allowed set and other conditions are unchanged. Eight exact-tree schema documents pass, as do five T8142 memory cases and560 finite non-target comparisons against current main. Six board/layer symbolic three-way checks and three actual SEP KUnit bodies in host Rust extraction pass. These are source/schema/host checks, not new compiled DTB/kernel/QEMU or hardware qualification.
Main’s intervening673f6184 change touches only J700’s DTS, disjoint from every reviewed/tested input; exact identity permits reusing those results while carrying it. Fresh parent Host43378989747/DT43378989936, audio Host43378989659/DT43378989669 and SEP Host43379009670/SEP43379009612/DT43379009604 are queued. Old green/alias-only results are historical for these new heads.
All drafts and Aura165 affected-loader qualification/adoption, coordinated alias migration, final CI/review and physical qualification limits remain. No warning filter, unchanged-source retry, new hardware/playback, loader/default change or release action occurred.
Draft at
770097fd6ed0bdd9ac0dd0982d4a88b935b5db44. Normal merge of preceding78656b43 and updated #1532 parent0434a61e. The net audio addition over that parent is still only J815’s DTS. The overall15-file DT/binding stack includes the parent’s shared T8142 bring-up and this six-codec sound graph.The complete preceding J815 board body is preserved byte-for-byte, followed by main’s complete MCC enablement block. Codec order, reset/sense settings, vmon/imon slots, protection-related DT data and enablement remain as reviewed. J815 has two additional woofer amplifiers on i2c3 at0x3a/0x3d, shared reset GPIO151, and the
apple,j815-macaudiocard with its jack codec. No audio implementation diff is added against current main; #1533’s audio code and bindings are already landed.The updated parent retains current main’s MCC/RTC definitions, PMP retention, N1 aliases and per-device ALS calibration. MCC is enabled on J815 and inherited disabled on J813. Main’s GPU/pinctrl updates survive. The only schema repair removes a redundant G17s enum value already duplicated in main, preserving the allowed set.
Validation: six symbolic board/layer three-way checks, eight binding metaschema/reference checks, five T8142 memory cases and560 non-target ABI comparisons pass. The SEP sibling’s three actual KUnit bodies also pass in a host Rust extraction. Independent source review found no concrete regression. These are bounded source/schema checks, not a new local DTB/audio/kernel build or physical test.
Current770097f Host43378989659/job131732089297 passed the actual tests. DT43378989669/job131732089202 built137 base/head DTBs (make rc=0/0),402/394 warning lines, one new/nine removed. All seven changed bindings—including the repaired AGX schema—and ADT19/six comparisons passed without regression. The sole new warning remains J815
disp0_piodma; no new MCC, RTC, ALS, N1 or audio-graph warning appeared. The overall DT check is failed, not green. No unchanged-source retry or warning filter was applied. Old #1533 object builds remain historical evidence and are not relabelled as current whole-source validation.Keep draft: #1532/Aura#165 affected-loader qualification/adoption, coordinated canonical-alias migration and fresh green required CI remain. Retain the underscore alias; no warning filter or unchanged-source retry.
The J813 shared-DT owner check is closed at 6828183980’s stated composition, not a new whole-tree boot. J815’s original27.0-stub report predates these integrations: speaker sweep ALL PASS, protected playback and microphones tested; headphones untested. Existing graph/protection/physical rollout limits remain. This integration performs no new playback, loader/default change or hardware trial.
Original J815 work assisted by Claude Opus5.5; integration/schema review assisted by Codex.