summaryrefslogtreecommitdiffstats
path: root/firmware/export/tcc780x.h
diff options
context:
space:
mode:
authorRob Purchase <shotofadds@rockbox.org>2008-01-14 22:04:48 +0000
committerRob Purchase <shotofadds@rockbox.org>2008-01-14 22:04:48 +0000
commit47ea030e2e68a51f91a2c2302b7ea4d3ee1a2a07 (patch)
tree0a48ce653e22ec9a2673474f718217d9659e0c6b /firmware/export/tcc780x.h
parentb30ca8ca5ab6c8ea27b8fe1f5fb38ebad09b7e62 (diff)
downloadrockbox-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/export/tcc780x.h')
-rw-r--r--firmware/export/tcc780x.h156
1 files changed, 156 insertions, 0 deletions
diff --git a/firmware/export/tcc780x.h b/firmware/export/tcc780x.h
new file mode 100644
index 0000000000..df55c6f03d
--- /dev/null
+++ b/firmware/export/tcc780x.h
@@ -0,0 +1,156 @@
+/***************************************************************************
+ * __________ __ ___.
+ * Open \______ \ ____ ____ | | _\_ |__ _______ ___
+ * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
+ * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
+ * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
+ * \/ \/ \/ \/ \/
+ * $Id$
+ *
+ * Copyright (C) 2007 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.
+ *
+ ****************************************************************************/
+#ifndef __TCC780X_H__
+#define __TCC780X_H__
+
+/* General-purpose IO */
+
+#define PORTCFG0 (*(volatile unsigned long *)0xF005A000)
+#define PORTCFG1 (*(volatile unsigned long *)0xF005A004)
+#define PORTCFG2 (*(volatile unsigned long *)0xF005A008)
+#define PORTCFG3 (*(volatile unsigned long *)0xF005A00C)
+
+#define GPIOA (*(volatile unsigned long *)0xF005A020)
+#define GPIOB (*(volatile unsigned long *)0xF005A040)
+#define GPIOC (*(volatile unsigned long *)0xF005A060)
+#define GPIOD (*(volatile unsigned long *)0xF005A080)
+#define GPIOE (*(volatile unsigned long *)0xF005A0A0)
+
+#define GPIOA_DIR (*(volatile unsigned long *)0xF005A024)
+#define GPIOB_DIR (*(volatile unsigned long *)0xF005A044)
+#define GPIOC_DIR (*(volatile unsigned long *)0xF005A064)
+#define GPIOD_DIR (*(volatile unsigned long *)0xF005A084)
+#define GPIOE_DIR (*(volatile unsigned long *)0xF005A0A4)
+
+#define GPIOA_SET (*(volatile unsigned long *)0xF005A028)
+#define GPIOB_SET (*(volatile unsigned long *)0xF005A048)
+#define GPIOC_SET (*(volatile unsigned long *)0xF005A068)
+#define GPIOD_SET (*(volatile unsigned long *)0xF005A088)
+#define GPIOE_SET (*(volatile unsigned long *)0xF005A0A8)
+
+#define GPIOA_CLEAR (*(volatile unsigned long *)0xF005A02C)
+#define GPIOB_CLEAR (*(volatile unsigned long *)0xF005A04C)
+#define GPIOC_CLEAR (*(volatile unsigned long *)0xF005A06C)
+#define GPIOD_CLEAR (*(volatile unsigned long *)0xF005A08C)
+#define GPIOE_CLEAR (*(volatile unsigned long *)0xF005A0AC)
+
+/* Clock Generator */
+
+#define CLKCTRL (*(volatile unsigned long *)0xF3000000)
+#define PLL0CFG (*(volatile unsigned long *)0xF3000004)
+#define PLL1CFG (*(volatile unsigned long *)0xF3000008)
+#define CLKDIVC (*(volatile unsigned long *)0xF300000C)
+#define CLKDIVC1 (*(volatile unsigned long *)0xF3000010)
+#define MODECTR (*(volatile unsigned long *)0xF3000014)
+#define BCLKCTR (*(volatile unsigned long *)0xF3000018)
+#define SWRESET (*(volatile unsigned long *)0xF300001C)
+#define PCLKCFG0 (*(volatile unsigned long *)0xF3000020)
+#define PCLKCFG1 (*(volatile unsigned long *)0xF3000024)
+#define PCLKCFG2 (*(volatile unsigned long *)0xF3000028)
+#define PCLKCFG3 (*(volatile unsigned long *)0xF300002C)
+#define PCLK_LCD (*(volatile unsigned long *)0xF3000030)
+#define PCLKCFG5 (*(volatile unsigned long *)0xF3000034)
+#define PCLKCFG6 (*(volatile unsigned long *)0xF3000038)
+#define PCLKCFG7 (*(volatile unsigned long *)0xF300003C)
+#define PCLKCFG8 (*(volatile unsigned long *)0xF3000040)
+#define PCLK_TCT (*(volatile unsigned long *)0xF3000044)
+#define PCLKCFG10 (*(volatile unsigned long *)0xF3000048)
+#define PCLKCFG11 (*(volatile unsigned long *)0xF300004C)
+#define PCLK_ADC (*(volatile unsigned long *)0xF3000050)
+#define PCLKCFG13 (*(volatile unsigned long *)0xF3000054)
+#define PCLKCFG14 (*(volatile unsigned long *)0xF3000058)
+#define PCLK_RFREQ (*(volatile unsigned long *)0xF300005C)
+#define PCLKCFG16 (*(volatile unsigned long *)0xF3000060)
+#define PCLKCFG17 (*(volatile unsigned long *)0xF3000064)
+
+#define PCK_EN (1<<28)
+
+#define CKSEL_PLL0 0
+#define CKSEL_PLL1 1
+#define CKSEL_XIN 4
+
+/* IRQ Controller */
+
+#define IEN (*(volatile unsigned long *)0xF3001000)
+#define CREQ (*(volatile unsigned long *)0xF3001004)
+#define IRQSEL (*(volatile unsigned long *)0xF300100C)
+#define MREQ (*(volatile unsigned long *)0xF3001014)
+#define MIRQ (*(volatile unsigned long *)0xF3001028)
+#define MFIQ (*(volatile unsigned long *)0xF300102C)
+#define ALLMASK (*(volatile unsigned long *)0xF3001044)
+#define VAIRQ (*(volatile unsigned long *)0xF3001080)
+#define VAFIQ (*(volatile unsigned long *)0xF3001084)
+#define VNIRQ (*(volatile unsigned long *)0xF3001088)
+#define VNFIQ (*(volatile unsigned long *)0xF300108C)
+
+#define TIMER_IRQ_MASK (1<<6)
+
+/* Timer / Counters */
+
+#define TCFG0 (*(volatile unsigned long *)0xF3003000)
+#define TCNT0 (*(volatile unsigned long *)0xF3003004)
+#define TREF0 (*(volatile unsigned long *)0xF3003008)
+#define TCFG1 (*(volatile unsigned long *)0xF3003010)
+#define TCNT1 (*(volatile unsigned long *)0xF3003014)
+#define TREF1 (*(volatile unsigned long *)0xF3003018)
+
+#define TIREQ (*(volatile unsigned long *)0xF3003060)
+/* ref. value reached */
+#define TF0 (1<<8)
+#define TF1 (1<<9)
+/* irq. status */
+#define TI0 (1<<0)
+#define TI1 (1<<1)
+
+#define TC32EN (*(volatile unsigned long *)0xF3003080)
+#define TC32LDV (*(volatile unsigned long *)0xF3003084)
+#define TC32MCNT (*(volatile unsigned long *)0xF3003094)
+#define TC32IRQ (*(volatile unsigned long *)0xF3003098)
+
+/* ADC */
+
+#define ADCCON (*(volatile unsigned long *)0xF3004000)
+#define ADCDATA (*(volatile unsigned long *)0xF3004004)
+#define ADCCONA (*(volatile unsigned long *)0xF3004080)
+#define ADCSTATUS (*(volatile unsigned long *)0xF3004084)
+#define ADCCFG (*(volatile unsigned long *)0xF3004088)
+
+/* Memory Controller */
+
+#define SDCFG (*(volatile unsigned long *)0xF1000000)
+#define SDFSM (*(volatile unsigned long *)0xF1000004)
+#define MCFG (*(volatile unsigned long *)0xF1000008)
+#define CSCFG0 (*(volatile unsigned long *)0xF1000010)
+#define CSCFG1 (*(volatile unsigned long *)0xF1000014)
+#define CSCFG2 (*(volatile unsigned long *)0xF1000018)
+#define CSCFG3 (*(volatile unsigned long *)0xF100001C)
+#define CLKCFG (*(volatile unsigned long *)0xF1000020)
+#define SDCMD (*(volatile unsigned long *)0xF1000024)
+
+#define SDCFG1 (*(volatile unsigned long *)0xF1001000)
+#define MCFG1 (*(volatile unsigned long *)0xF1001008)
+
+/* Misc */
+
+#define ECFG0 (*(volatile unsigned long *)0xF300500C)
+#define MBCFG (*(volatile unsigned long *)0xF3005020)
+
+#define TCC780_VER (*(volatile unsigned long *)0xE0001FFC)
+
+#endif