Persistent audio mute support revisions (#1169)

* Don't disable DAC when other audio output is using it
* Persistent audio mute revisions
* Moved persistent audio mute code to audio.cpp
* Make "Disable AK speaker amp" take effect immediately
This commit is contained in:
Mark Thompson 2023-06-19 14:06:07 -05:00 committed by GitHub
parent f83027d451
commit fa06df1400
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 25 additions and 38 deletions

View file

@ -175,7 +175,11 @@ void AK4951::headphone_enable() {
void AK4951::headphone_disable() {
set_headphone_power(false);
set_dac_power(false);
// Don't power off DAC unless Speaker is disabled also
if (map.r.power_management_2.PMSL == 0) {
set_dac_power(false);
}
}
void AK4951::speaker_enable() {
@ -210,7 +214,11 @@ void AK4951::speaker_disable() {
update(Register::SignalSelect1);
// Power down DAC, Programmable Filter and speaker: PMDAC=PMPFIL=PMSL bits= “1”→“0”
set_dac_power(false);
// Exception: Don't power off DAC unless Headphones are disabled too
if (map.r.power_management_2.PMHPL == 0) {
set_dac_power(false);
}
// map.r.power_management_1.PMPFIL = 0;
// update(Register::PowerManagement1);
set_speaker_power(false);