diff options
author | Rob Purchase <shotofadds@rockbox.org> | 2008-01-14 22:04:48 +0000 |
---|---|---|
committer | Rob Purchase <shotofadds@rockbox.org> | 2008-01-14 22:04:48 +0000 |
commit | 47ea030e2e68a51f91a2c2302b7ea4d3ee1a2a07 (patch) | |
tree | 0a48ce653e22ec9a2673474f718217d9659e0c6b /firmware/target/arm/tcc780x/kernel-tcc780x.c | |
parent | b30ca8ca5ab6c8ea27b8fe1f5fb38ebad09b7e62 (diff) | |
download | rockbox-47ea030e2e68a51f91a2c2302b7ea4d3ee1a2a07.tar.gz rockbox-47ea030e2e68a51f91a2c2302b7ea4d3ee1a2a07.zip |
Initial Cowon D2 commit:
* bootloader test program (basic LCD & button drivers, reads touchscreen)
* work-in-progress stubs for main build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16090 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/tcc780x/kernel-tcc780x.c')
-rw-r--r-- | firmware/target/arm/tcc780x/kernel-tcc780x.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/firmware/target/arm/tcc780x/kernel-tcc780x.c b/firmware/target/arm/tcc780x/kernel-tcc780x.c new file mode 100644 index 0000000000..e0d9c3342e --- /dev/null +++ b/firmware/target/arm/tcc780x/kernel-tcc780x.c @@ -0,0 +1,43 @@ +/*************************************************************************** +* __________ __ ___. +* Open \______ \ ____ ____ | | _\_ |__ _______ ___ +* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +* \/ \/ \/ \/ \/ +* $Id$ +* +* Copyright (C) 2008 by Rob Purchase +* +* 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 "system.h" +#include "kernel.h" +#include "timer.h" +#include "thread.h" + +/* NB: PCK_TCT must previously have been set to 2Mhz by calling clock_init() */ +void tick_start(unsigned int interval_in_ms) +{ + /* disable Timer0 */ + TCFG0 &= ~1; + + /* set counter reference value based on 1Mhz tick */ + TREF0 = interval_in_ms * 1000; + + /* Timer0 = reset to 0, divide=2, IRQ enable, enable (continuous) */ + TCFG0 = (1<<8) | (0<<4) | (1<<3) | 1; + + /* Unmask timer IRQ */ + MIRQ &= ~TIMER_IRQ_MASK; +} + +/* NB: Since the 7801 has a single timer IRQ, the tick tasks are dispatched + as part of the central timer IRQ processing in timer-tcc780x.c */ |