From a3fe07ff128e521051aee8bc91add071724d6538 Mon Sep 17 00:00:00 2001 From: Dana Conrad Date: Tue, 21 Nov 2023 19:28:51 -0600 Subject: ErosQ New Revision HW volume Add HW volume control via ES9018K2M, and reorganize eros_qn_codec.c/.h, audiohw-erosqnative.c. This automatically detects the presence of the new DAC and uses its hardware volume scaling. If not present, use same SWVOL we have been using so far. Add debug menu readout of SWVOL/I2C result. Break out es9018k2m stuff into its own file so that maybe it can be useful to other ports. Note that we may need to get smarter about detecting the DAC type if/when another model emerges. Change-Id: I586a1cf7f150dd6b4e221157859825952840af56 --- firmware/target/mips/ingenic_x1000/debug-x1000.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'firmware/target/mips/ingenic_x1000/debug-x1000.c') diff --git a/firmware/target/mips/ingenic_x1000/debug-x1000.c b/firmware/target/mips/ingenic_x1000/debug-x1000.c index 236442a880..827bb37855 100644 --- a/firmware/target/mips/ingenic_x1000/debug-x1000.c +++ b/firmware/target/mips/ingenic_x1000/debug-x1000.c @@ -121,6 +121,9 @@ extern volatile unsigned aic_tx_underruns; #ifdef HAVE_RECORDING extern volatile unsigned aic_rx_overruns; #endif +#ifdef HAVE_EROS_QN_CODEC +extern int es9018k2m_present_flag; +#endif static bool dbg_audio(void) { @@ -129,6 +132,16 @@ static bool dbg_audio(void) lcd_putsf(0, 0, "TX underruns: %u", aic_tx_underruns); #ifdef HAVE_RECORDING lcd_putsf(0, 1, "RX overruns: %u", aic_rx_overruns); +#endif +#ifdef HAVE_EROS_QN_CODEC + if (es9018k2m_present_flag) + { + lcd_putsf(0, 2, "(%d) ES9018K2M HWVOL", es9018k2m_present_flag); + } + else + { + lcd_putsf(0, 2, "(%d) SWVOL", es9018k2m_present_flag); + } #endif lcd_update(); } while(get_action(CONTEXT_STD, HZ) != ACTION_STD_CANCEL); -- cgit v1.2.3