summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firmware/export/uda1380.h8
-rw-r--r--firmware/sound.c12
2 files changed, 6 insertions, 14 deletions
diff --git a/firmware/export/uda1380.h b/firmware/export/uda1380.h
index f9c73d0471..c1fb6421ff 100644
--- a/firmware/export/uda1380.h
+++ b/firmware/export/uda1380.h
@@ -133,10 +133,10 @@ extern void audiohw_set_monitor(int enable);
#define EQ_MODE_FLAT (0 << 14)
#define EQ_MODE_MIN (1 << 14)
#define EQ_MODE_MAX (3 << 14)
-#define BASSL(x) (((x) & 0xF) << 8)
-#define BASSR(x) (((x) & 0xF) << 0)
-#define TREBLEL(x) (((x) & 0x3) << 12)
-#define TREBLER(x) (((x) & 0x3) << 4)
+#define BASSL(x) (((x) & 0x1E) << 7)
+#define BASSR(x) (((x) & 0x1E) >> 1)
+#define TREBLEL(x) (((x) & 0x6) << 11)
+#define TREBLER(x) (((x) & 0x6) << 3)
#define BASS_MASK 0x0F0F
#define TREBLE_MASK 0x3030
diff --git a/firmware/sound.c b/firmware/sound.c
index 27b9fa1670..cb83927439 100644
--- a/firmware/sound.c
+++ b/firmware/sound.c
@@ -514,11 +514,7 @@ void sound_set_bass(int value)
mas_writereg(MAS_REG_KBASS, bass_table[value+15]);
current_bass = value * 10;
set_prescaled_volume();
-#elif defined(HAVE_UDA1380)
- audiohw_set_bass(value >> 1);
- current_bass = value * 10;
- set_prescaled_volume();
-#elif defined HAVE_WM8975 || defined HAVE_WM8758 \
+#elif defined HAVE_WM8975 || defined HAVE_WM8758 || defined(HAVE_UDA1380) \
|| defined HAVE_WM8731 || defined(HAVE_WM8721) || defined(HAVE_WM8751)
current_bass = value * 10;
audiohw_set_bass(value);
@@ -544,11 +540,7 @@ void sound_set_treble(int value)
mas_writereg(MAS_REG_KTREBLE, treble_table[value+15]);
current_treble = value * 10;
set_prescaled_volume();
-#elif defined(HAVE_UDA1380)
- audiohw_set_treble(value >> 1);
- current_treble = value * 10;
- set_prescaled_volume();
-#elif defined(HAVE_WM8975) || defined(HAVE_WM8758) \
+#elif defined(HAVE_WM8975) || defined(HAVE_WM8758) || defined(HAVE_UDA1380) \
|| defined(HAVE_WM8731) || defined(HAVE_WM8721) || defined(HAVE_WM8751)
audiohw_set_treble(value);
current_treble = value * 10;