summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/audiohw.h15
-rw-r--r--firmware/export/audiohw_settings.h3
-rw-r--r--firmware/export/sound.h4
3 files changed, 22 insertions, 0 deletions
diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h
index 8a46cbea78..d862c977db 100644
--- a/firmware/export/audiohw.h
+++ b/firmware/export/audiohw.h
@@ -41,6 +41,7 @@
41#define LIN_GAIN_CAP (1 << 11) 41#define LIN_GAIN_CAP (1 << 11)
42#define MIC_GAIN_CAP (1 << 12) 42#define MIC_GAIN_CAP (1 << 12)
43#define FILTER_ROLL_OFF_CAP (1 << 13) 43#define FILTER_ROLL_OFF_CAP (1 << 13)
44#define POWER_MODE_CAP (1 << 14)
44 45
45/* Used by every driver to export its min/max/default values for its audio 46/* Used by every driver to export its min/max/default values for its audio
46 settings. */ 47 settings. */
@@ -391,6 +392,10 @@ enum AUDIOHW_EQ_SETTINGS
391#define AUDIOHW_HAVE_FILTER_ROLL_OFF 392#define AUDIOHW_HAVE_FILTER_ROLL_OFF
392#endif 393#endif
393 394
395#if (AUDIOHW_CAPS & POWER_MODE_CAP)
396#define AUDIOHW_HAVE_POWER_MODE
397#endif
398
394#endif /* AUDIOHW_CAPS */ 399#endif /* AUDIOHW_CAPS */
395 400
396#ifdef HAVE_SW_TONE_CONTROLS 401#ifdef HAVE_SW_TONE_CONTROLS
@@ -586,6 +591,16 @@ void audiohw_set_depth_3d(int val);
586void audiohw_set_filter_roll_off(int val); 591void audiohw_set_filter_roll_off(int val);
587#endif 592#endif
588 593
594#ifdef AUDIOHW_HAVE_POWER_MODE
595/**
596 * Set DAC's power saving mode.
597 * @param enable 0 - highest performance, 1 - battery saving
598 * NOTE: AUDIOHW_CAPS need to contain
599 * POWER_MODE_CAP
600 */
601void audiohw_set_power_mode(int mode);
602#endif
603
589void audiohw_set_frequency(int fsel); 604void audiohw_set_frequency(int fsel);
590 605
591#ifdef HAVE_RECORDING 606#ifdef HAVE_RECORDING
diff --git a/firmware/export/audiohw_settings.h b/firmware/export/audiohw_settings.h
index 1d3e0dc12f..8010963ea4 100644
--- a/firmware/export/audiohw_settings.h
+++ b/firmware/export/audiohw_settings.h
@@ -103,6 +103,9 @@ AUDIOHW_SETTINGS(
103#if defined(AUDIOHW_HAVE_FILTER_ROLL_OFF) 103#if defined(AUDIOHW_HAVE_FILTER_ROLL_OFF)
104 AUDIOHW_SETTING_ENT(FILTER_ROLL_OFF, sound_set_filter_roll_off) 104 AUDIOHW_SETTING_ENT(FILTER_ROLL_OFF, sound_set_filter_roll_off)
105#endif 105#endif
106#if defined(AUDIOHW_HAVE_POWER_MODE)
107 AUDIOHW_SETTING_ENT(POWER_MODE, sound_set_power_mode)
108#endif
106/* Hardware EQ tone controls */ 109/* Hardware EQ tone controls */
107#if defined(AUDIOHW_HAVE_EQ) 110#if defined(AUDIOHW_HAVE_EQ)
108 AUDIOHW_SETTING_ENT(EQ_BAND1_GAIN, sound_set_hw_eq_band1_gain) 111 AUDIOHW_SETTING_ENT(EQ_BAND1_GAIN, sound_set_hw_eq_band1_gain)
diff --git a/firmware/export/sound.h b/firmware/export/sound.h
index 2e04cac854..8e79dd0aed 100644
--- a/firmware/export/sound.h
+++ b/firmware/export/sound.h
@@ -57,6 +57,10 @@ void sound_set_depth_3d(int value);
57void sound_set_filter_roll_off(int value); 57void sound_set_filter_roll_off(int value);
58#endif 58#endif
59 59
60#if defined(AUDIOHW_HAVE_POWER_MODE)
61void sound_set_power_mode(int value);
62#endif
63
60#ifdef AUDIOHW_HAVE_EQ 64#ifdef AUDIOHW_HAVE_EQ
61/* 65/*
62 * band = SOUND_EQ_BANDb 66 * band = SOUND_EQ_BANDb