diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2005-11-27 01:10:02 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2005-11-27 01:10:02 +0000 |
commit | e5ce01f056c6dd4d0c049fbed18c2e5642a16469 (patch) | |
tree | 7765577c5ccc999399ef07c150f2ecb410835ac9 /firmware | |
parent | 4205407b8aecb0509e1c8c574563f2f4f040b4d1 (diff) |
Proper UDA1380 reset for H300
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8075 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/drivers/uda1380.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/firmware/drivers/uda1380.c b/firmware/drivers/uda1380.c index 6a5bd078c0..eb2b57e7f3 100644 --- a/firmware/drivers/uda1380.c +++ b/firmware/drivers/uda1380.c @@ -32,6 +32,7 @@ #include "i2c-coldfire.h" #include "uda1380.h" +#include "pcf50606.h" /* ------------------------------------------------- */ /* Local functions and variables */ @@ -167,12 +168,19 @@ void uda1380_enable_output(bool enable) void uda1380_reset(void) { +#ifdef IRIVER_H300_SERIES + int mask = set_irq_level(HIGHEST_IRQ_LEVEL); + pcf50606_write(0x3b, 0x00); + pcf50606_write(0x3b, 0x07); + set_irq_level(mask); +#else /* RESET signal */ or_l(1<<29, &GPIO_OUT); or_l(1<<29, &GPIO_ENABLE); or_l(1<<29, &GPIO_FUNCTION); sleep(HZ/100); and_l(~(1<<29), &GPIO_OUT); +#endif } /* Initialize UDA1380 codec with default register values (uda1380_defaults) */ |