summaryrefslogtreecommitdiff
path: root/firmware/export/tcc780x.h
diff options
context:
space:
mode:
authorRob Purchase <shotofadds@rockbox.org>2009-07-19 17:31:56 +0000
committerRob Purchase <shotofadds@rockbox.org>2009-07-19 17:31:56 +0000
commit3a88746780aceed6253967b39db753c2c8c8304b (patch)
tree5dfef64276e3e5205a228f8cdbb109b5f437ab7b /firmware/export/tcc780x.h
parent8f5264e6186572532433eecaad0a618c81e48a3f (diff)
downloadrockbox-3a88746780aceed6253967b39db753c2c8c8304b.tar.gz
rockbox-3a88746780aceed6253967b39db753c2c8c8304b.zip
D2: A working read/write SD(HC) driver, based on the PP equivalent. See CowonD2Info wiki for usage notes/restrictions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21967 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/tcc780x.h')
-rw-r--r--firmware/export/tcc780x.h37
1 files changed, 36 insertions, 1 deletions
diff --git a/firmware/export/tcc780x.h b/firmware/export/tcc780x.h
index 5b37b40526..24a4415ef3 100644
--- a/firmware/export/tcc780x.h
+++ b/firmware/export/tcc780x.h
@@ -63,7 +63,7 @@
63#define BCLKCTR (*(volatile unsigned long *)0xF3000018) 63#define BCLKCTR (*(volatile unsigned long *)0xF3000018)
64#define SWRESET (*(volatile unsigned long *)0xF300001C) 64#define SWRESET (*(volatile unsigned long *)0xF300001C)
65#define PCLKCFG0 (*(volatile unsigned long *)0xF3000020) 65#define PCLKCFG0 (*(volatile unsigned long *)0xF3000020)
66#define PCLKCFG1 (*(volatile unsigned long *)0xF3000024) 66#define PCLK_SDMMC (*(volatile unsigned long *)0xF3000024)
67#define PCLKCFG2 (*(volatile unsigned long *)0xF3000028) 67#define PCLKCFG2 (*(volatile unsigned long *)0xF3000028)
68#define PCLKCFG3 (*(volatile unsigned long *)0xF300002C) 68#define PCLKCFG3 (*(volatile unsigned long *)0xF300002C)
69#define PCLK_LCD (*(volatile unsigned long *)0xF3000030) 69#define PCLK_LCD (*(volatile unsigned long *)0xF3000030)
@@ -114,6 +114,7 @@
114#define MIRQ (*(volatile unsigned long *)0xF3001028) 114#define MIRQ (*(volatile unsigned long *)0xF3001028)
115#define MFIQ (*(volatile unsigned long *)0xF300102C) 115#define MFIQ (*(volatile unsigned long *)0xF300102C)
116#define TMODE (*(volatile unsigned long *)0xF3001030) 116#define TMODE (*(volatile unsigned long *)0xF3001030)
117#define TMODEA (*(volatile unsigned long *)0xF300103C)
117#define ALLMASK (*(volatile unsigned long *)0xF3001044) 118#define ALLMASK (*(volatile unsigned long *)0xF3001044)
118#define VAIRQ (*(volatile unsigned long *)0xF3001080) 119#define VAIRQ (*(volatile unsigned long *)0xF3001080)
119#define VAFIQ (*(volatile unsigned long *)0xF3001084) 120#define VAFIQ (*(volatile unsigned long *)0xF3001084)
@@ -123,6 +124,7 @@
123 124
124#define IRQ_PRIORITY_TABLE ((volatile unsigned int *)0xF30010A0) 125#define IRQ_PRIORITY_TABLE ((volatile unsigned int *)0xF30010A0)
125 126
127#define EXT0_IRQ_MASK (1<<0)
126#define EXT3_IRQ_MASK (1<<3) 128#define EXT3_IRQ_MASK (1<<3)
127#define TIMER0_IRQ_MASK (1<<6) 129#define TIMER0_IRQ_MASK (1<<6)
128#define DAI_RX_IRQ_MASK (1<<14) 130#define DAI_RX_IRQ_MASK (1<<14)
@@ -243,6 +245,39 @@
243#define ECC_ERRDATA (*(volatile unsigned long *)0xF005B060) 245#define ECC_ERRDATA (*(volatile unsigned long *)0xF005B060)
244#define ECC_ERR (*(volatile unsigned long *)0xF005B070) 246#define ECC_ERR (*(volatile unsigned long *)0xF005B070)
245 247
248/* SD/MMC Controller */
249
250#define SDICLK (*(volatile unsigned long *)0xF0058004)
251#define SDIARGU (*(volatile unsigned long *)0xF0058008)
252#define SDICMD (*(volatile unsigned long *)0xF005800C)
253#define SDIRSPCMD (*(volatile unsigned long *)0xF0058010)
254#define SDIRSPARGU0 (*(volatile unsigned long *)0xF0058014)
255#define SDIRSPARGU1 (*(volatile unsigned long *)0xF0058018)
256#define SDIRSPARGU2 (*(volatile unsigned long *)0xF005801C)
257#define SDIRSPARGU3 (*(volatile unsigned long *)0xF0058020)
258#define SDIDTIMER (*(volatile unsigned long *)0xF0058024)
259#define SDIDCTRL2 (*(volatile unsigned long *)0xF0058028)
260#define SDIDCTRL (*(volatile unsigned long *)0xF005802C)
261#define SDISTATUS (*(volatile unsigned long *)0xF0058030)
262#define SDIIFLAG (*(volatile unsigned long *)0xF0058034)
263#define SDIWDATA (*(volatile unsigned long *)0xF0058038)
264#define SDIRDATA (*(volatile unsigned long *)0xF005803C)
265#define SDIIENABLE (*(volatile unsigned long *)0xF0058040)
266
267#define SDICMD_RES_TYPE1 1
268#define SDICMD_RES_TYPE1b 2
269#define SDICMD_RES_TYPE2 3
270#define SDICMD_RES_TYPE3 4
271#define SDICMD_RES_TYPE4 5
272#define SDICMD_RES_TYPE5 6
273#define SDICMD_RES_TYPE6 7
274
275#define SDISTATUS_RESP_RCVD (1<<7)
276#define SDISTATUS_FIFO_LOAD_REQ (1<<17)
277#define SDISTATUS_FIFO_FETCH_REQ (1<<18)
278#define SDISTATUS_CMD_PATH_RDY (1<<21)
279#define SDISTATUS_MULTIBLOCK_END (1<<25)
280
246/* USB 2.0 device system MMR base address */ 281/* USB 2.0 device system MMR base address */
247#define USB_BASE 0xf0010000 282#define USB_BASE 0xf0010000
248 283