diff options
author | Dave Chapman <dave@dchapman.com> | 2007-10-28 11:08:10 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2007-10-28 11:08:10 +0000 |
commit | 28f6ae49ec1b1d3464add2941eb015bab56f8016 (patch) | |
tree | 6d4cddba129663340cf2f30212a516acdd16a4eb /firmware/export/tcc77x.h | |
parent | d3e101bd1184e5c1f474ff0978f65ac7e8e2dbfb (diff) | |
download | rockbox-28f6ae49ec1b1d3464add2941eb015bab56f8016.tar.gz rockbox-28f6ae49ec1b1d3464add2941eb015bab56f8016.zip |
Initial work on a port to the Logik DAX 1GB MP3/DAB player. The bootloader build compiles and runs (but only displays some debugging info), and the LCD and ADC drivers are working. Two different bootloader builds are possible: 1) The default build is just a test application for uploading to the device via tcctool; 2) Adding -DTCCBOOT to EXTRA_DEFINES in the build directory Makefile will compile the bootloader so that it can be appended to the end of the original firmware and installed on the device, dual-booting. This commit also includes some work by Hein-Pieter van Braam on a port to the iAudio 7, but that doesn't build yet. A large part of these ports will be generic to all TCC77x devices - see the TelechipsInfo wiki page for some other devices with this CPU. NOTE: Compiling these builds requires an arm-elf-gcc with armv5 support - the current version of rockboxdev.sh compiles such a gcc.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15339 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/tcc77x.h')
-rw-r--r-- | firmware/export/tcc77x.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/firmware/export/tcc77x.h b/firmware/export/tcc77x.h new file mode 100644 index 0000000000..1ab1888649 --- /dev/null +++ b/firmware/export/tcc77x.h | |||
@@ -0,0 +1,81 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2007 Dave Chapman | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | #ifndef __TCC77X_H__ | ||
20 | #define __TCC77X_H__ | ||
21 | |||
22 | /* General-purpose IO */ | ||
23 | |||
24 | #define GPIOA (*(volatile unsigned long *)0x80000300) | ||
25 | #define GPIOB (*(volatile unsigned long *)0x80000310) | ||
26 | #define GPIOC (*(volatile unsigned long *)0x80000320) | ||
27 | #define GPIOD (*(volatile unsigned long *)0x80000330) | ||
28 | #define GPIOE (*(volatile unsigned long *)0x80000340) | ||
29 | |||
30 | #define GPIOA_DIR (*(volatile unsigned long *)0x80000304) | ||
31 | #define GPIOB_DIR (*(volatile unsigned long *)0x80000314) | ||
32 | #define GPIOC_DIR (*(volatile unsigned long *)0x80000324) | ||
33 | #define GPIOD_DIR (*(volatile unsigned long *)0x80000334) | ||
34 | #define GPIOE_DIR (*(volatile unsigned long *)0x80000344) | ||
35 | |||
36 | #define GPIOA_FUNC (*(volatile unsigned long *)0x80000308) | ||
37 | #define GPIOB_FUNC (*(volatile unsigned long *)0x80000318) | ||
38 | #define GPIOC_FUNC (*(volatile unsigned long *)0x80000328) | ||
39 | #define GPIOD_FUNC (*(volatile unsigned long *)0x80000338) | ||
40 | #define GPIOE_FUNC (*(volatile unsigned long *)0x80000348) | ||
41 | |||
42 | #define BMI (*(volatile unsigned long *)0x80000364) | ||
43 | |||
44 | /* Clock Generator */ | ||
45 | |||
46 | #define CLKCTRL (*(volatile unsigned long *)0x80000400) | ||
47 | #define PLL0CFG (*(volatile unsigned long *)0x80000404) | ||
48 | #define CLKDIV0 (*(volatile unsigned long *)0x8000040c) | ||
49 | #define MODECTR (*(volatile unsigned long *)0x80000410) | ||
50 | #define BCLKCTR (*(volatile unsigned long *)0x80000414) | ||
51 | #define SWRESET (*(volatile unsigned long *)0x80000418) | ||
52 | #define PCLKCFG0 (*(volatile unsigned long *)0x8000041c) | ||
53 | #define PCLKCFG1 (*(volatile unsigned long *)0x80000420) | ||
54 | #define PCLKCFG2 (*(volatile unsigned long *)0x80000424) | ||
55 | #define PCLKCFG3 (*(volatile unsigned long *)0x80000428) | ||
56 | #define PCLKCFG4 (*(volatile unsigned long *)0x8000042c) | ||
57 | #define PCLKCFG5 (*(volatile unsigned long *)0x80000430) | ||
58 | #define PCLKCFG6 (*(volatile unsigned long *)0x80000434) | ||
59 | |||
60 | /* ADC */ | ||
61 | |||
62 | #define ADCCON (*(volatile unsigned long *)0x80000a00) | ||
63 | #define ADCDATA (*(volatile unsigned long *)0x80000a04) | ||
64 | #define ADCCONA (*(volatile unsigned long *)0x80000a80) | ||
65 | #define ADCSTATUS (*(volatile unsigned long *)0x80000a84) | ||
66 | #define ADCCFG (*(volatile unsigned long *)0x80000a88) | ||
67 | |||
68 | |||
69 | /* Memory Controller */ | ||
70 | #define SDCFG (*(volatile unsigned long *)0xf0000000) | ||
71 | #define SDFSM (*(volatile unsigned long *)0xf0000004) | ||
72 | #define MCFG (*(volatile unsigned long *)0xf0000008) | ||
73 | #define TST (*(volatile unsigned long *)0xf000000c) | ||
74 | #define CSCFG0 (*(volatile unsigned long *)0xf0000010) | ||
75 | #define CSCFG1 (*(volatile unsigned long *)0xf0000014) | ||
76 | #define CSCFG2 (*(volatile unsigned long *)0xf0000018) | ||
77 | #define CSCFG3 (*(volatile unsigned long *)0xf000001c) | ||
78 | #define CLKCFG (*(volatile unsigned long *)0xf0000020) | ||
79 | #define SDCMD (*(volatile unsigned long *)0xf0000024) | ||
80 | |||
81 | #endif | ||