summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/audio/cs42l55.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/firmware/drivers/audio/cs42l55.c b/firmware/drivers/audio/cs42l55.c
index 4d922d77d2..79b6d283b6 100644
--- a/firmware/drivers/audio/cs42l55.c
+++ b/firmware/drivers/audio/cs42l55.c
@@ -128,8 +128,10 @@ void audiohw_set_master_vol(int vol_l, int vol_r)
128 /* 0000000 == 0dB (0x0) */ 128 /* 0000000 == 0dB (0x0) */
129 /* 1000100 == -60dB (0x44, this is actually -58dB) */ 129 /* 1000100 == -60dB (0x44, this is actually -58dB) */
130 130
131 cscodec_setbits(HPACTL, HPACTL_HPAVOL_MASK, vol_l << HPACTL_HPAVOL_SHIFT); 131 cscodec_setbits(HPACTL, HPACTL_HPAVOL_MASK | HPACTL_HPAMUTE,
132 cscodec_setbits(HPBCTL, HPBCTL_HPBVOL_MASK, vol_r << HPBCTL_HPBVOL_SHIFT); 132 vol_l << HPACTL_HPAVOL_SHIFT);
133 cscodec_setbits(HPBCTL, HPBCTL_HPBVOL_MASK | HPBCTL_HPBMUTE,
134 vol_r << HPBCTL_HPBVOL_SHIFT);
133} 135}
134 136
135void audiohw_set_lineout_vol(int vol_l, int vol_r) 137void audiohw_set_lineout_vol(int vol_l, int vol_r)
@@ -139,9 +141,9 @@ void audiohw_set_lineout_vol(int vol_l, int vol_r)
139 /* 0000000 == 0dB (0x0) */ 141 /* 0000000 == 0dB (0x0) */
140 /* 1000100 == -60dB (0x44, this is actually -58dB) */ 142 /* 1000100 == -60dB (0x44, this is actually -58dB) */
141 143
142 cscodec_setbits(LINEACTL, LINEACTL_LINEAVOL_MASK, 144 cscodec_setbits(LINEACTL, LINEACTL_LINEAVOL_MASK | LINEACTL_LINEAMUTE,
143 vol_l << LINEACTL_LINEAVOL_SHIFT); 145 vol_l << LINEACTL_LINEAVOL_SHIFT);
144 cscodec_setbits(LINEBCTL, LINEBCTL_LINEBVOL_MASK, 146 cscodec_setbits(LINEBCTL, LINEBCTL_LINEBVOL_MASK | LINEBCTL_LINEBMUTE,
145 vol_r << LINEBCTL_LINEBVOL_SHIFT); 147 vol_r << LINEBCTL_LINEBVOL_SHIFT);
146} 148}
147 149