summaryrefslogtreecommitdiff
path: root/firmware/drivers
diff options
context:
space:
mode:
authorMarcin Bukat <marcin.bukat@gmail.com>2012-07-11 00:28:44 +0200
committerMarcin Bukat <marcin.bukat@gmail.com>2012-07-11 00:28:44 +0200
commitad46064b833f355b3ba39c4941e041b2a85ac393 (patch)
tree15315fe9702dfa5da8c3831832375c8a5a1c7f1d /firmware/drivers
parent80ec94c4975ea8227b52c4cb0157e213ed9d757b (diff)
downloadrockbox-ad46064b833f355b3ba39c4941e041b2a85ac393.zip
rockbox-ad46064b833f355b3ba39c4941e041b2a85ac393.tar.gz
rockbox-ad46064b833f355b3ba39c4941e041b2a85ac393.tar.bz2
rockbox-ad46064b833f355b3ba39c4941e041b2a85ac393.tar.xz
rk27xx codec: simplify startup
Change-Id: I8b610363e67ec640664aa0d03488e430ec461244
Diffstat (limited to 'firmware/drivers')
-rw-r--r--firmware/drivers/audio/rk27xx_codec.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/firmware/drivers/audio/rk27xx_codec.c b/firmware/drivers/audio/rk27xx_codec.c
index c2b5980..cfb98a9 100644
--- a/firmware/drivers/audio/rk27xx_codec.c
+++ b/firmware/drivers/audio/rk27xx_codec.c
@@ -99,21 +99,19 @@ void audiohw_preinit(void)
void audiohw_postinit(void)
{
+ /* power up DAC */
codec_write(PMR1, SB_OUT|SB_MIX|SB_ADC|SB_IN1|SB_IN2|SB_MIC|SB_IND);
- udelay(10000);
+ /* leave sleep mode */
+ codec_write(PMR2, GIM|SB_MC);
- codec_write(PMR2, GIM | SB_MC);
-
- udelay(10000);
-
- codec_write(PMR1, SB_OUT|SB_ADC|SB_IN1|SB_IN2|SB_MIC|SB_IND);
-
- udelay(10000);
+ /* 1ms delay */
+ udelay(1000);
+ /* power up output stage */
codec_write(PMR1, SB_ADC|SB_IN1|SB_IN2|SB_MIC|SB_IND);
- sleep(3*HZ);
+ sleep(HZ/10);
GPIO_PDDR |= (1<<7); /* PD7 high */
sleep(HZ/10);