ARM: dts: tegra30-microsoft-surface-rt: Fix WM8962 SPKVDD supply#140
Draft
blakegordon wants to merge 1 commit into
Draft
ARM: dts: tegra30-microsoft-surface-rt: Fix WM8962 SPKVDD supply#140blakegordon wants to merge 1 commit into
blakegordon wants to merge 1 commit into
Conversation
The WM8962 Class-D speaker outputs require SPKVDD in the 2.5V-5.5V range. The device tree currently wires SPKVDD1/2 to vdd_1v8_sys (1.8V), below the minimum. On postmarketOS/grate the codec probes and playback succeeds in software, but no sound is produced and dmesg reports ASoC error (-16) at register 0x30 and DC servo timeouts. Use vdd_5v0_sys for SPKVDD1/2; digital/analog core supplies stay at 1.8V. Signed-off-by: Blake Gordon <blakegordon@berkeley.edu>
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.
Summary
Fix silent audio on Microsoft Surface RT by wiring the WM8962 Class-D speaker
amplifier supplies (SPKVDD1/2) to the board 5 V rail instead of 1.8 V.
Problem
On postmarketOS with
linux-postmarketos-grate, the WM8962 codec probessuccessfully and ALSA playback appears to work, but no sound is produced from
the internal speakers or headphones. During playback, mixer routes and Class-D
enable bits look correct in software.
dmesgreports on every playback attempt:Root cause
Per the WM8962 datasheet, SPKVDD must be in the 2.5 V–5.5 V range for the
Class-D speaker outputs (SPKOUTL/R). The device tree currently assigns both
SPKVDD1-supplyandSPKVDD2-supplytovdd_1v8_sys(1.8 V), which is belowthe minimum operating voltage for the speaker amplifier.
Digital and analog core supplies correctly remain on 1.8 V; only the speaker
amplifier rails need the higher voltage.
Fix
Point
SPKVDD1-supplyandSPKVDD2-supplyatvdd_5v0_sys, which is alreadymodeled in the device tree and used by other board peripherals (backlight, USB
VBUS, etc.).
The EFI variant (
tegra30-microsoft-surface-rt-efi.dts) includes this file, sono separate change is required there.
Testing
speaker-test -Dhw:1,0dmesgno longer reports WM8962 register0x30errors / DC servo timeouts during playbackTested-by: Blake Gordon blakegordon@berkeley.edu (pending kernel rebuild)
References
linux-postmarketos-grate-7.0.1-r0