diff options
author | Aidan MacDonald <amachronic@protonmail.com> | 2022-01-10 21:50:32 +0000 |
---|---|---|
committer | Aidan MacDonald <amachronic@protonmail.com> | 2022-01-16 19:35:40 -0500 |
commit | dac3175445b6e76a29c1550da9cece13dfaf7f8c (patch) | |
tree | 2f1475163428f3c5af431b1c3dec630d13365c8f /firmware | |
parent | 18b3e91707e42873eab833f0f3da709062207ba7 (diff) | |
download | rockbox-dac3175445b6e76a29c1550da9cece13dfaf7f8c.tar.gz rockbox-dac3175445b6e76a29c1550da9cece13dfaf7f8c.zip |
audiohw: avoid magic numbers for DAC power mode
Define proper symbolic constants for power mode. Also allow
targets to define the default power mode setting.
Change-Id: Ia07cf854dce47d0a6aa88e067471f1ff9fbc45fb
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/audio/ak4376.c | 4 | ||||
-rw-r--r-- | firmware/export/ak4376.h | 4 | ||||
-rw-r--r-- | firmware/export/audiohw.h | 6 | ||||
-rw-r--r-- | firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c | 2 | ||||
-rw-r--r-- | firmware/target/mips/ingenic_x1000/shanlingq1/audiohw-shanlingq1.c | 2 |
5 files changed, 12 insertions, 6 deletions
diff --git a/firmware/drivers/audio/ak4376.c b/firmware/drivers/audio/ak4376.c index 8206bcf7e0..2e772ace84 100644 --- a/firmware/drivers/audio/ak4376.c +++ b/firmware/drivers/audio/ak4376.c @@ -242,11 +242,11 @@ void ak4376_set_freqmode(int fsel, int mult, int power_mode) /* Handle the DSMLP bit in the MODE_CTRL register */ int mode_ctrl = 0x00; - if(power_mode || hw_freq_sampr[fsel] <= SAMPR_12) + if(power_mode == SOUND_LOW_POWER || hw_freq_sampr[fsel] <= SAMPR_12) mode_ctrl |= 0x40; /* Program the new settings */ ak4376_write(AK4376_REG_CLOCK_MODE, clock_mode); ak4376_write(AK4376_REG_MODE_CTRL, mode_ctrl); - ak4376_write(AK4376_REG_PWR3, power_mode ? 0x11 : 0x01); + ak4376_write(AK4376_REG_PWR3, power_mode == SOUND_LOW_POWER ? 0x11 : 0x01); } diff --git a/firmware/export/ak4376.h b/firmware/export/ak4376.h index eab0bc24f3..0ae156bc37 100644 --- a/firmware/export/ak4376.h +++ b/firmware/export/ak4376.h @@ -144,8 +144,8 @@ extern void ak4376_set_filter_roll_off(int val); * and power-up / power-down sequences as a frequency switch, so both settings * are controlled by this function. * - * high power mode -- use power_mode=0 - * low power mode -- use power_mode=1 + * high power mode -- use power_mode=SOUND_HIGH_POWER + * low power mode -- use power_mode=SOUND_LOW_POWER */ extern void ak4376_set_freqmode(int fsel, int mult, int power_mode); diff --git a/firmware/export/audiohw.h b/firmware/export/audiohw.h index a365b97828..3f8b48d750 100644 --- a/firmware/export/audiohw.h +++ b/firmware/export/audiohw.h @@ -605,6 +605,12 @@ void audiohw_set_filter_roll_off(int val); #endif #ifdef AUDIOHW_HAVE_POWER_MODE +enum audiohw_power_mode +{ + SOUND_HIGH_POWER = 0, + SOUND_LOW_POWER, +}; + /** * Set DAC's power saving mode. * @param enable 0 - highest performance, 1 - battery saving diff --git a/firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c b/firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c index 8528b803f7..f7dced8f54 100644 --- a/firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c +++ b/firmware/target/mips/ingenic_x1000/fiiom3k/audiohw-fiiom3k.c @@ -28,7 +28,7 @@ #include "logf.h" static int cur_fsel = HW_FREQ_48; -static int cur_power_mode = 0; +static int cur_power_mode = SOUND_HIGH_POWER; static void set_ak_freqmode(void) { diff --git a/firmware/target/mips/ingenic_x1000/shanlingq1/audiohw-shanlingq1.c b/firmware/target/mips/ingenic_x1000/shanlingq1/audiohw-shanlingq1.c index 7314f20412..3b49262f20 100644 --- a/firmware/target/mips/ingenic_x1000/shanlingq1/audiohw-shanlingq1.c +++ b/firmware/target/mips/ingenic_x1000/shanlingq1/audiohw-shanlingq1.c @@ -154,7 +154,7 @@ void audiohw_set_filter_roll_off(int value) void audiohw_set_power_mode(int mode) { enum es9218_amp_mode new_amp_mode; - if(mode == 0) + if(mode == SOUND_HIGH_POWER) new_amp_mode = ES9218_AMP_MODE_2VRMS; else new_amp_mode = ES9218_AMP_MODE_1VRMS; |