Repository navigation
J714s: sound through the AOP (speakers and headphone jack) - #1554
Conversation
|
Owner-confirmed audible playback on the J714s: with the machine's owner at the M5, a short tone (440 Hz, then 1 kHz, 4 s) played through speakerguardd v2 at 5% and then 10% of the volume slider, and the owner confirmed hearing both tones, clean, with no distortion. Setup: the current default kernel 7.3.0-m5-intg2 (integration/aurora 69a9fbb) with this PR's three changes plus #1423 and #1521 as modules, booting this branch's own
Still not exercised: the headphone jack's streams (the CS42L84 probes and binds). |
The MacBook Pro 14" (M5 Pro) J714s, as the J813: the T8152-style AOP audio driver is the CPU component, with the CS42L84 jack on its jack back-end and six SN012776 amps (two woofers and a tweeter per side) on its speaker back-end, in the J616s frame. The speakers are behind the protection interfaces from the bind, and each amp's level is its apple,speaker-config from the boot loader. Signed-off-by: Diljit Singh <hey@djdev.me>
Sound through the AOP, as on J813: the six SN012776 speaker amps on i2c1 and i2c3 (shared shutdown line and fault interrupt), the CS42L84 jack codec on i2c2, and the sound card linking the AOP audio service's jack and speaker back-ends to them. The audio node's identity and DMA channels come from the microphone array's block. Slots, sense slots, idle masks and pins are from the J714s ADT; expose only the pins these nodes use. Signed-off-by: Diljit Singh <hey@djdev.me>
59e2a6e to
9f5a070
Compare
|
Headphone jack, tested after the merge (11-11, lab boot of 7.3.0-m5-intg2 with this branch's DT, headphones without a mic plugged in):
So the jack's detection and playback path work on the J714s; headset-mic capture is still untested. 🤖 Generated with Claude Code |
Sound on the MacBook Pro 14" (M5 Pro, J714s) through the AOP, as on the J813: the T6050 AOP runs
the same audio service as T8142.
Rebased onto integration/aurora 58784a9: #1423, #1521 and #1557 (which carries the T6050 entry in
the T8152 AOP audio driver) are merged, so this PR is now two commits. The DT commit uses #1557's
audio node block (identity and DMA list) and adds the pins it needs to #1570's.
ASoC: apple: macaudio: Add J714: the J813 configuration with two woofers and a tweeter perside. The speakers are behind the protection interfaces from the bind; each amp's level is its
apple,speaker-configfrom the boot loader. KUnit tables and the binding updated.arm64: dts: apple: t6050-j714s: Add the speakers and the headphone jack: six SN012776 oni2c1/i2c3 (shared shutdown line and fault interrupt, SDZ fail-closed group,
ti,bclk-ratio250as on J813), the CS42L84 on i2c2, and the card. Slots, sense slots, idle masks and
pins from the J714s ADT; only the pins these nodes use are exposed (pin 112 still SErrors).
Validated on the J714s:
69a9fbb) with these three changes plus J813: AOP sound on integration/aurora (speakers, jack, microphones) #1423 and soc: apple: aop: Boot the T6050 (M5 Pro/Max) AOP through its setup port #1521 as modules. The intg2 runs booted this
branch's own
t6050-j714s.dts(plus the unit's GPU leakage words, as the default DTB does) on auraStage 2 ca05ee02, which passes each amp its ADT
speaker-configandamp-tx-zd-configrow.AppleJ714with the jack, speaker and sense PCMs; the six amps and the CS42L84 probe;nothing deferred. Each amp's playback slot (0-5) and V-sense slot read back as the ADT gives
them; at bind all six are in software shutdown with no latched fault, the speaker volumes are held
at the lock's ceiling and every amp gain at its ADT level until a protection owner takes them.
derived from this DT (on both kernels), v2 takes the speakers under the lease, and the supervisor
grants only while a stream plays.
the safety gates passed (v2 owning the speakers and ready, amp temperatures and fault latches,
nothing else playing). The kernel granted protection for the playback, the speaker and sense PCMs
ran, a USB microphone picked up both tones above the quiet baseline, and the amps stayed at
32-36 °C with no fault.
After the rebase (11-11): the rebased DT's audio nodes (card, amps, jack codec, regulator, buses, pins)
compare identical to the validated DTB's, phandles resolved, apart from #1557's
hpaichannel and#1570's pin 81. A silent check on hardware with the rebased DT (intg2 lab boot; #1570's port-1 nodes
disabled there, since intg2 lacks its shared-PHY fix) brought up the speaker card and #1557's
microphone card and passed speakerguardd v2's dry-run check (switch test and verify).
Headphone jack (tested after the merge, same intg2 lab boot): insertion detected (jack switch, input
device, codec status); a 440 Hz tone at -20 dBFS with the jack DAC at -30 dB played clean (no xruns, no
codec errors) and a USB microphone heard it; the speakers stayed off throughout. Headset-mic capture
untested (the headphones have no mic).
🤖 Generated with Claude Code