summaryrefslogtreecommitdiff
path: root/firmware/drivers/audio/uda1380.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2008-11-26 14:25:45 +0000
committerMichael Sevakis <jethead71@rockbox.org>2008-11-26 14:25:45 +0000
commit888451fb0f3f8b8a3e6e81a087e4545eeba7a774 (patch)
treec10cba5f31fd4b0e33d1c54c43289247aa6f6590 /firmware/drivers/audio/uda1380.c
parente73383ea324e5f86105cc74983a88452bb261033 (diff)
downloadrockbox-888451fb0f3f8b8a3e6e81a087e4545eeba7a774.tar.gz
rockbox-888451fb0f3f8b8a3e6e81a087e4545eeba7a774.zip
Get rid of remaining audiohw_enable_output style codec setup and use pre/post split initialization. Move some SoC-specific code like i2s_reset out of the codec drivers. Helps to unify drivers and it was only ever used to enable. I cannot possibly test everything so report (I'll be on call ;) or fix problems if any crop up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19228 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/drivers/audio/uda1380.c')
-rw-r--r--firmware/drivers/audio/uda1380.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/firmware/drivers/audio/uda1380.c b/firmware/drivers/audio/uda1380.c
index e76b08a429..a0e7ef56d8 100644
--- a/firmware/drivers/audio/uda1380.c
+++ b/firmware/drivers/audio/uda1380.c
@@ -193,17 +193,6 @@ static int audiohw_set_regs(void)
193 return 0; 193 return 0;
194} 194}
195 195
196/* Silently enable / disable audio output */
197void audiohw_enable_output(bool enable)
198{
199 if (enable) {
200 uda1380_write_reg(REG_PWR, uda1380_regs[REG_PWR] | PON_DAC | PON_HP);
201 } else {
202 uda1380_write_reg(REG_MUTE, MUTE_MASTER);
203 uda1380_write_reg(REG_PWR, uda1380_regs[REG_PWR] & ~PON_DAC);
204 }
205}
206
207static void reset(void) 196static void reset(void)
208{ 197{
209#ifdef IRIVER_H300_SERIES 198#ifdef IRIVER_H300_SERIES
@@ -278,8 +267,9 @@ void audiohw_postinit(void)
278 /* Sleep a while so the power can stabilize (especially a long 267 /* Sleep a while so the power can stabilize (especially a long
279 delay is needed for the line out connector). */ 268 delay is needed for the line out connector). */
280 sleep(HZ); 269 sleep(HZ);
270
281 /* Power on FSDAC and HP amp. */ 271 /* Power on FSDAC and HP amp. */
282 audiohw_enable_output(true); 272 uda1380_write_reg(REG_PWR, uda1380_regs[REG_PWR] | PON_DAC | PON_HP);
283 273
284 /* UDA1380: Unmute the master channel 274 /* UDA1380: Unmute the master channel
285 (DAC should be at zero point now). */ 275 (DAC should be at zero point now). */