From 2c154219f6d0d6aff2dc76c64acdf1c7f1131537 Mon Sep 17 00:00:00 2001 From: Marcoen Hirschberg Date: Tue, 5 Dec 2006 09:35:16 +0000 Subject: [PATCH] add a RTC driver for the Samsung S3C2440 used in the Gigabeat git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11662 a1c6a512-1295-4272-9138-f99709370657 --- firmware/drivers/rtc/rtc_s3c2440.c | 57 ++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 firmware/drivers/rtc/rtc_s3c2440.c diff --git a/firmware/drivers/rtc/rtc_s3c2440.c b/firmware/drivers/rtc/rtc_s3c2440.c new file mode 100644 index 0000000000..c7a6f24490 --- /dev/null +++ b/firmware/drivers/rtc/rtc_s3c2440.c @@ -0,0 +1,57 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 by Linus Nielsen Feltzing, Uwe Freese, Laurent Baum + * + * All files in this archive are subject to the GNU General Public License. + * See the file COPYING in the source tree root for full license agreement. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#include "config.h" +#include "i2c.h" +#include "rtc.h" +#include "kernel.h" +#include "system.h" +#include + +void rtc_init(void) +{ + /* RTC Enable */ + RTCCON |= 1; +} + +int rtc_read_datetime(unsigned char* buf) +{ + buf[0] = BCDSEC; + buf[1] = BCDMIN; + buf[2] = BCDHOUR; + buf[3] = BCDDAY; + buf[4] = BCDDATE; + buf[5] = BCDMON; + buf[6] = BCDYEAR; + + return 1; +} + +int rtc_write_datetime(unsigned char* buf) +{ + BCDSEC = buf[0]; + BCDMIN = buf[1]; + BCDHOUR = buf[2]; + BCDDAY = buf[3]; + BCDDATE = buf[4]; + BCDMON = buf[5]; + BCDYEAR = buf[6]; + + return 1; +} +