From 3382abaf583b8fd9576dfa00bd5041b22afcfb7e Mon Sep 17 00:00:00 2001 From: Linus Nielsen Feltzing Date: Tue, 12 Jul 2005 05:25:03 +0000 Subject: [PATCH] added uda1380_reset() git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7112 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/uda1380.c | 19 +++++++++++-------- firmware/export/uda1380.h | 2 +- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/firmware/drivers/uda1380.c b/firmware/drivers/uda1380.c index 1636f13365..1f31c4c855 100644 --- a/firmware/drivers/uda1380.c +++ b/firmware/drivers/uda1380.c @@ -164,17 +164,20 @@ void uda1380_enable_output(bool enable) } } +void uda1380_reset(void) +{ + /* 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); +} + /* Initialize UDA1380 codec with default register values (uda1380_defaults) */ int uda1380_init(void) { - /* RESET signal */ - GPIO_OUT |= (1<<29); - GPIO_ENABLE |= (1<<29); - GPIO_FUNCTION |= (1<<29); - - sleep(HZ/100); - - GPIO_OUT &= ~(1<<29); + uda1380_reset(); if (uda1380_set_regs() == -1) return -1; diff --git a/firmware/export/uda1380.h b/firmware/export/uda1380.h index b5a31e33fe..3bef5439b5 100644 --- a/firmware/export/uda1380.h +++ b/firmware/export/uda1380.h @@ -19,7 +19,7 @@ #ifndef _UDA1380_H #define _UDA1380_H - +extern void uda1380_reset(void); extern int uda1380_init(void); extern void uda1380_enable_output(bool enable); extern int uda1380_set_master_vol(int vol_l, int vol_r);