summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_x1000/debug-x1000.c
diff options
context:
space:
mode:
authorDana Conrad <dconrad@fastmail.com>2023-11-21 19:28:51 -0600
committerAidan MacDonald <amachronic@protonmail.com>2024-01-02 06:51:07 -0500
commita3fe07ff128e521051aee8bc91add071724d6538 (patch)
tree9e3eb34908a4571f85686877085d9f5b200d1c2a /firmware/target/mips/ingenic_x1000/debug-x1000.c
parent161c861153f67c2436affc11860ed932a0d21c30 (diff)
downloadrockbox-a3fe07ff128e521051aee8bc91add071724d6538.tar.gz
rockbox-a3fe07ff128e521051aee8bc91add071724d6538.zip
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
Diffstat (limited to 'firmware/target/mips/ingenic_x1000/debug-x1000.c')
-rw-r--r--firmware/target/mips/ingenic_x1000/debug-x1000.c13
1 files changed, 13 insertions, 0 deletions
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;
121#ifdef HAVE_RECORDING 121#ifdef HAVE_RECORDING
122extern volatile unsigned aic_rx_overruns; 122extern volatile unsigned aic_rx_overruns;
123#endif 123#endif
124#ifdef HAVE_EROS_QN_CODEC
125extern int es9018k2m_present_flag;
126#endif
124 127
125static bool dbg_audio(void) 128static bool dbg_audio(void)
126{ 129{
@@ -130,6 +133,16 @@ static bool dbg_audio(void)
130#ifdef HAVE_RECORDING 133#ifdef HAVE_RECORDING
131 lcd_putsf(0, 1, "RX overruns: %u", aic_rx_overruns); 134 lcd_putsf(0, 1, "RX overruns: %u", aic_rx_overruns);
132#endif 135#endif
136#ifdef HAVE_EROS_QN_CODEC
137 if (es9018k2m_present_flag)
138 {
139 lcd_putsf(0, 2, "(%d) ES9018K2M HWVOL", es9018k2m_present_flag);
140 }
141 else
142 {
143 lcd_putsf(0, 2, "(%d) SWVOL", es9018k2m_present_flag);
144 }
145#endif
133 lcd_update(); 146 lcd_update();
134 } while(get_action(CONTEXT_STD, HZ) != ACTION_STD_CANCEL); 147 } while(get_action(CONTEXT_STD, HZ) != ACTION_STD_CANCEL);
135 148