aboutsummaryrefslogtreecommitdiff
path: root/quantum/audio/audio.c
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2024-05-28 14:39:23 +1000
committerNick Brassel <nick@tzarc.org>2024-05-28 14:39:23 +1000
commitf76cc320fd9f3365a80cc0d8af2990bc28d76bde (patch)
tree3c5330bbc9ab254424ac57335510de341b4ada11 /quantum/audio/audio.c
parent7620c64b99dc5bec480bfaa2708cb3fae709e2b3 (diff)
parent465ab5a20643722c9b712c6b6924472b7345dd64 (diff)
Merge branch 'develop'
Diffstat (limited to 'quantum/audio/audio.c')
-rw-r--r--quantum/audio/audio.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/quantum/audio/audio.c b/quantum/audio/audio.c
index c1a1500493..b2611c5f09 100644
--- a/quantum/audio/audio.c
+++ b/quantum/audio/audio.c
@@ -20,6 +20,7 @@
#include "debug.h"
#include "wait.h"
#include "util.h"
+#include "gpio.h"
/* audio system:
*
@@ -121,6 +122,32 @@ static bool audio_initialized = false;
static bool audio_driver_stopped = true;
audio_config_t audio_config;
+#ifndef AUDIO_POWER_CONTROL_PIN_ON_STATE
+# define AUDIO_POWER_CONTROL_PIN_ON_STATE 1
+#endif
+
+void audio_driver_initialize(void) {
+#ifdef AUDIO_POWER_CONTROL_PIN
+ gpio_set_pin_output_push_pull(AUDIO_POWER_CONTROL_PIN);
+ gpio_write_pin(AUDIO_POWER_CONTROL_PIN, !AUDIO_POWER_CONTROL_PIN_ON_STATE);
+#endif
+ audio_driver_initialize_impl();
+}
+
+void audio_driver_stop(void) {
+ audio_driver_stop_impl();
+#ifdef AUDIO_POWER_CONTROL_PIN
+ gpio_write_pin(AUDIO_POWER_CONTROL_PIN, !AUDIO_POWER_CONTROL_PIN_ON_STATE);
+#endif
+}
+
+void audio_driver_start(void) {
+#ifdef AUDIO_POWER_CONTROL_PIN
+ gpio_write_pin(AUDIO_POWER_CONTROL_PIN, AUDIO_POWER_CONTROL_PIN_ON_STATE);
+#endif
+ audio_driver_start_impl();
+}
+
void eeconfig_update_audio_current(void) {
eeconfig_update_audio(audio_config.raw);
}