diff options
-rw-r--r-- | firmware/drivers/audio/cs42l55.c | 10 |
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 | ||
135 | void audiohw_set_lineout_vol(int vol_l, int vol_r) | 137 | void 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 | ||