summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/drivers/audio')
-rw-r--r--firmware/drivers/audio/as3514.c8
-rw-r--r--firmware/drivers/audio/uda1380.c8
-rw-r--r--firmware/drivers/audio/wm8721.c4
-rw-r--r--firmware/drivers/audio/wm8731.c3
-rw-r--r--firmware/drivers/audio/wm8751.c6
-rw-r--r--firmware/drivers/audio/wm8758.c12
-rw-r--r--firmware/drivers/audio/wm8975.c8
-rw-r--r--firmware/drivers/audio/wm8985.c6
8 files changed, 17 insertions, 38 deletions
diff --git a/firmware/drivers/audio/as3514.c b/firmware/drivers/audio/as3514.c
index 80ada46f80..08d4d538a4 100644
--- a/firmware/drivers/audio/as3514.c
+++ b/firmware/drivers/audio/as3514.c
@@ -218,7 +218,7 @@ void audiohw_enable_output(bool enable)
218 } 218 }
219} 219}
220 220
221int audiohw_set_master_vol(int vol_l, int vol_r) 221void audiohw_set_master_vol(int vol_l, int vol_r)
222{ 222{
223 unsigned int hph_r = as3514.regs[HPH_OUT_R] & ~0x1f; 223 unsigned int hph_r = as3514.regs[HPH_OUT_R] & ~0x1f;
224 unsigned int hph_l = as3514.regs[HPH_OUT_L] & ~0x1f; 224 unsigned int hph_l = as3514.regs[HPH_OUT_L] & ~0x1f;
@@ -262,16 +262,12 @@ int audiohw_set_master_vol(int vol_l, int vol_r)
262 as3514_write(mix_reg_l, mix_l); 262 as3514_write(mix_reg_l, mix_l);
263 as3514_write(HPH_OUT_R, hph_r); 263 as3514_write(HPH_OUT_R, hph_r);
264 as3514_write(HPH_OUT_L, hph_l); 264 as3514_write(HPH_OUT_L, hph_l);
265
266 return 0;
267} 265}
268 266
269int audiohw_set_lineout_vol(int vol_l, int vol_r) 267void audiohw_set_lineout_vol(int vol_l, int vol_r)
270{ 268{
271 as3514_write(LINE_OUT_R, vol_r); 269 as3514_write(LINE_OUT_R, vol_r);
272 as3514_write(LINE_OUT_L, (1 << 6) | vol_l); 270 as3514_write(LINE_OUT_L, (1 << 6) | vol_l);
273
274 return 0;
275} 271}
276 272
277void audiohw_mute(bool mute) 273void audiohw_mute(bool mute)
diff --git a/firmware/drivers/audio/uda1380.c b/firmware/drivers/audio/uda1380.c
index 91bc9a1a8e..ce69ef6b80 100644
--- a/firmware/drivers/audio/uda1380.c
+++ b/firmware/drivers/audio/uda1380.c
@@ -125,18 +125,18 @@ static int uda1380_write_reg(unsigned char reg, unsigned short value)
125/** 125/**
126 * Sets left and right master volume (0(max) to 252(muted)) 126 * Sets left and right master volume (0(max) to 252(muted))
127 */ 127 */
128int audiohw_set_master_vol(int vol_l, int vol_r) 128void audiohw_set_master_vol(int vol_l, int vol_r)
129{ 129{
130 return uda1380_write_reg(REG_MASTER_VOL, 130 uda1380_write_reg(REG_MASTER_VOL,
131 MASTER_VOL_LEFT(vol_l) | MASTER_VOL_RIGHT(vol_r)); 131 MASTER_VOL_LEFT(vol_l) | MASTER_VOL_RIGHT(vol_r));
132} 132}
133 133
134/** 134/**
135 * Sets mixer volume for both channels (0(max) to 228(muted)) 135 * Sets mixer volume for both channels (0(max) to 228(muted))
136 */ 136 */
137int audiohw_set_mixer_vol(int channel1, int channel2) 137void audiohw_set_mixer_vol(int channel1, int channel2)
138{ 138{
139 return uda1380_write_reg(REG_MIX_VOL, 139 uda1380_write_reg(REG_MIX_VOL,
140 MIX_VOL_CH_1(channel1) | MIX_VOL_CH_2(channel2)); 140 MIX_VOL_CH_1(channel1) | MIX_VOL_CH_2(channel2));
141} 141}
142 142
diff --git a/firmware/drivers/audio/wm8721.c b/firmware/drivers/audio/wm8721.c
index dd3c1332fc..1090b70b07 100644
--- a/firmware/drivers/audio/wm8721.c
+++ b/firmware/drivers/audio/wm8721.c
@@ -141,7 +141,7 @@ void audiohw_enable_output(bool enable)
141 } 141 }
142} 142}
143 143
144int audiohw_set_master_vol(int vol_l, int vol_r) 144void audiohw_set_master_vol(int vol_l, int vol_r)
145{ 145{
146 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */ 146 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */
147 /* 1111111 == +6dB */ 147 /* 1111111 == +6dB */
@@ -150,8 +150,6 @@ int audiohw_set_master_vol(int vol_l, int vol_r)
150 /* 0101111 == mute (0x2f) */ 150 /* 0101111 == mute (0x2f) */
151 wmcodec_write(LOUTVOL, VOLUME_ZC_WAIT | vol_l); 151 wmcodec_write(LOUTVOL, VOLUME_ZC_WAIT | vol_l);
152 wmcodec_write(ROUTVOL, VOLUME_ZC_WAIT | vol_r); 152 wmcodec_write(ROUTVOL, VOLUME_ZC_WAIT | vol_r);
153
154 return 0;
155} 153}
156 154
157/* Nice shutdown of WM8721 codec */ 155/* Nice shutdown of WM8721 codec */
diff --git a/firmware/drivers/audio/wm8731.c b/firmware/drivers/audio/wm8731.c
index e0e7cb38c0..7d25849158 100644
--- a/firmware/drivers/audio/wm8731.c
+++ b/firmware/drivers/audio/wm8731.c
@@ -188,7 +188,7 @@ void audiohw_postinit(void)
188#endif 188#endif
189} 189}
190 190
191int audiohw_set_master_vol(int vol_l, int vol_r) 191void audiohw_set_master_vol(int vol_l, int vol_r)
192{ 192{
193 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */ 193 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */
194 /* 1111111 == +6dB */ 194 /* 1111111 == +6dB */
@@ -197,7 +197,6 @@ int audiohw_set_master_vol(int vol_l, int vol_r)
197 /* 0101111 == mute (0x2f) */ 197 /* 0101111 == mute (0x2f) */
198 wm8731_write(LOUTVOL, LOUTVOL_LZCEN | (vol_l & LOUTVOL_LHPVOL_MASK)); 198 wm8731_write(LOUTVOL, LOUTVOL_LZCEN | (vol_l & LOUTVOL_LHPVOL_MASK));
199 wm8731_write(ROUTVOL, ROUTVOL_RZCEN | (vol_r & ROUTVOL_RHPVOL_MASK)); 199 wm8731_write(ROUTVOL, ROUTVOL_RZCEN | (vol_r & ROUTVOL_RHPVOL_MASK));
200 return 0;
201} 200}
202 201
203/* Nice shutdown of WM8731 codec */ 202/* Nice shutdown of WM8731 codec */
diff --git a/firmware/drivers/audio/wm8751.c b/firmware/drivers/audio/wm8751.c
index f228c170c8..831f16ab17 100644
--- a/firmware/drivers/audio/wm8751.c
+++ b/firmware/drivers/audio/wm8751.c
@@ -164,7 +164,7 @@ void audiohw_postinit(void)
164#endif 164#endif
165} 165}
166 166
167int audiohw_set_master_vol(int vol_l, int vol_r) 167void audiohw_set_master_vol(int vol_l, int vol_r)
168{ 168{
169 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */ 169 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */
170 /* 1111111 == +6dB */ 170 /* 1111111 == +6dB */
@@ -174,15 +174,13 @@ int audiohw_set_master_vol(int vol_l, int vol_r)
174 174
175 wmcodec_write(LOUT1, LOUT1_BITS | LOUT1_LOUT1VOL(vol_l)); 175 wmcodec_write(LOUT1, LOUT1_BITS | LOUT1_LOUT1VOL(vol_l));
176 wmcodec_write(ROUT1, ROUT1_BITS | ROUT1_ROUT1VOL(vol_r)); 176 wmcodec_write(ROUT1, ROUT1_BITS | ROUT1_ROUT1VOL(vol_r));
177 return 0;
178} 177}
179 178
180#ifndef MROBE_100 179#ifndef MROBE_100
181int audiohw_set_lineout_vol(int vol_l, int vol_r) 180void audiohw_set_lineout_vol(int vol_l, int vol_r)
182{ 181{
183 wmcodec_write(LOUT2, LOUT2_BITS | LOUT2_LOUT2VOL(vol_l)); 182 wmcodec_write(LOUT2, LOUT2_BITS | LOUT2_LOUT2VOL(vol_l));
184 wmcodec_write(ROUT2, ROUT2_BITS | ROUT2_ROUT2VOL(vol_r)); 183 wmcodec_write(ROUT2, ROUT2_BITS | ROUT2_ROUT2VOL(vol_r));
185 return 0;
186} 184}
187#endif 185#endif
188 186
diff --git a/firmware/drivers/audio/wm8758.c b/firmware/drivers/audio/wm8758.c
index a9f10fbe67..8f452f7a09 100644
--- a/firmware/drivers/audio/wm8758.c
+++ b/firmware/drivers/audio/wm8758.c
@@ -118,30 +118,24 @@ void audiohw_enable_output(bool enable)
118 } 118 }
119} 119}
120 120
121int audiohw_set_master_vol(int vol_l, int vol_r) 121void audiohw_set_master_vol(int vol_l, int vol_r)
122{ 122{
123 /* OUT1 */ 123 /* OUT1 */
124 wmcodec_write(LOUT1VOL, 0x080 | vol_l); 124 wmcodec_write(LOUT1VOL, 0x080 | vol_l);
125 wmcodec_write(ROUT1VOL, 0x180 | vol_r); 125 wmcodec_write(ROUT1VOL, 0x180 | vol_r);
126
127 return 0;
128} 126}
129 127
130int audiohw_set_lineout_vol(int vol_l, int vol_r) 128void audiohw_set_lineout_vol(int vol_l, int vol_r)
131{ 129{
132 /* OUT2 */ 130 /* OUT2 */
133 wmcodec_write(LOUT2VOL, vol_l); 131 wmcodec_write(LOUT2VOL, vol_l);
134 wmcodec_write(ROUT2VOL, 0x100 | vol_r); 132 wmcodec_write(ROUT2VOL, 0x100 | vol_r);
135
136 return 0;
137} 133}
138 134
139int audiohw_set_mixer_vol(int channel1, int channel2) 135void audiohw_set_mixer_vol(int channel1, int channel2)
140{ 136{
141 (void)channel1; 137 (void)channel1;
142 (void)channel2; 138 (void)channel2;
143
144 return 0;
145} 139}
146 140
147void audiohw_set_bass(int value) 141void audiohw_set_bass(int value)
diff --git a/firmware/drivers/audio/wm8975.c b/firmware/drivers/audio/wm8975.c
index 7762224254..297aabda78 100644
--- a/firmware/drivers/audio/wm8975.c
+++ b/firmware/drivers/audio/wm8975.c
@@ -124,7 +124,7 @@ void audiohw_enable_output(bool enable)
124 124
125 125
126 126
127int audiohw_set_master_vol(int vol_l, int vol_r) 127void audiohw_set_master_vol(int vol_l, int vol_r)
128{ 128{
129 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */ 129 /* +6 to -73dB 1dB steps (plus mute == 80levels) 7bits */
130 /* 1111111 == +6dB */ 130 /* 1111111 == +6dB */
@@ -135,17 +135,13 @@ int audiohw_set_master_vol(int vol_l, int vol_r)
135 /* OUT1 */ 135 /* OUT1 */
136 wmcodec_write(LOUT1VOL, VOLUME_ZC_WAIT | vol_l); 136 wmcodec_write(LOUT1VOL, VOLUME_ZC_WAIT | vol_l);
137 wmcodec_write(ROUT1VOL, VOLUME_ZC_WAIT | 0x100 | vol_r); 137 wmcodec_write(ROUT1VOL, VOLUME_ZC_WAIT | 0x100 | vol_r);
138
139 return 0;
140} 138}
141 139
142int audiohw_set_lineout_vol(int vol_l, int vol_r) 140void audiohw_set_lineout_vol(int vol_l, int vol_r)
143{ 141{
144 /* OUT2 */ 142 /* OUT2 */
145 wmcodec_write(LOUT2VOL, VOLUME_ZC_WAIT | vol_l); 143 wmcodec_write(LOUT2VOL, VOLUME_ZC_WAIT | vol_l);
146 wmcodec_write(ROUT2VOL, VOLUME_ZC_WAIT | 0x100 | vol_r); 144 wmcodec_write(ROUT2VOL, VOLUME_ZC_WAIT | 0x100 | vol_r);
147
148 return 0;
149} 145}
150 146
151void audiohw_set_bass(int value) 147void audiohw_set_bass(int value)
diff --git a/firmware/drivers/audio/wm8985.c b/firmware/drivers/audio/wm8985.c
index 3117b06f98..ad19a589fe 100644
--- a/firmware/drivers/audio/wm8985.c
+++ b/firmware/drivers/audio/wm8985.c
@@ -55,22 +55,20 @@ void audiohw_enable_output(bool enable)
55 (void)enable; 55 (void)enable;
56} 56}
57 57
58int audiohw_set_master_vol(int vol_l, int vol_r) 58void audiohw_set_master_vol(int vol_l, int vol_r)
59{ 59{
60 #warning function not implemented 60 #warning function not implemented
61 61
62 (void)vol_l; 62 (void)vol_l;
63 (void)vol_r; 63 (void)vol_r;
64 return 0;
65} 64}
66 65
67int audiohw_set_lineout_vol(int vol_l, int vol_r) 66void audiohw_set_lineout_vol(int vol_l, int vol_r)
68{ 67{
69 #warning function not implemented 68 #warning function not implemented
70 69
71 (void)vol_l; 70 (void)vol_l;
72 (void)vol_r; 71 (void)vol_r;
73 return 0;
74} 72}
75 73
76void audiohw_set_bass(int value) 74void audiohw_set_bass(int value)