From e5ce01f056c6dd4d0c049fbed18c2e5642a16469 Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Sun, 27 Nov 2005 01:10:02 +0000 Subject: Proper UDA1380 reset for H300 git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8075 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/uda1380.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/firmware/drivers/uda1380.c b/firmware/drivers/uda1380.c index 6a5bd07..eb2b57e 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) */ -- cgit v1.1