summaryrefslogtreecommitdiffstats
path: root/bootloader/telechips.c
diff options
context:
space:
mode:
authorDave Chapman <dave@dchapman.com>2007-10-28 11:08:10 +0000
committerDave Chapman <dave@dchapman.com>2007-10-28 11:08:10 +0000
commit28f6ae49ec1b1d3464add2941eb015bab56f8016 (patch)
tree6d4cddba129663340cf2f30212a516acdd16a4eb /bootloader/telechips.c
parentd3e101bd1184e5c1f474ff0978f65ac7e8e2dbfb (diff)
downloadrockbox-28f6ae49ec1b1d3464add2941eb015bab56f8016.tar.gz
rockbox-28f6ae49ec1b1d3464add2941eb015bab56f8016.tar.bz2
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 'bootloader/telechips.c')
-rw-r--r--bootloader/telechips.c81
1 files changed, 81 insertions, 0 deletions
diff --git a/bootloader/telechips.c b/bootloader/telechips.c
new file mode 100644
index 0000000000..c1dcda0dae
--- /dev/null
+++ b/bootloader/telechips.c
@@ -0,0 +1,81 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2007 by Dave Chapman
+ *
+ * Based on Rockbox iriver bootloader by Linus Nielsen Feltzing
+ *
+ * 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 <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+#include "cpu.h"
+#include "system.h"
+#include "lcd.h"
+#include "kernel.h"
+#include "thread.h"
+#include "ata.h"
+#include "fat.h"
+#include "disk.h"
+#include "font.h"
+#include "adc.h"
+#include "adc-target.h"
+#include "backlight-target.h"
+#include "panic.h"
+#include "power.h"
+#include "file.h"
+#include "common.h"
+
+char version[] = APPSVERSION;
+
+extern int line;
+
+void* main(void)
+{
+ unsigned short button;
+ int gpioa;
+
+ system_init();
+ adc_init();
+ lcd_init();
+ font_init();
+
+ __backlight_on();
+
+ while(1) {
+ line = 0;
+ printf("Hello World!");
+
+ gpioa = GPIOA;
+ printf("GPIOA: 0x%08x",gpioa);
+
+ button = adc_read(ADC_BUTTONS);
+ printf("ADC[0]: 0x%04x",button);
+ }
+
+ return 0;
+}
+
+/* These functions are present in the firmware library, but we reimplement
+ them here because the originals do a lot more than we want */
+void usb_acknowledge(void)
+{
+}
+
+void usb_wait_for_disconnect(void)
+{
+}