diff options
author | Dave Chapman <dave@dchapman.com> | 2008-09-06 17:50:59 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2008-09-06 17:50:59 +0000 |
commit | d462a64a918117991e11dade2d7fa3a28196e07a (patch) | |
tree | 0a6f5ed8777b18bb1641fbb3608f10374901706c /firmware/export/tcc77x.h | |
parent | b87715f670f04c9adbe358c32a385c6771d99a81 (diff) | |
download | rockbox-d462a64a918117991e11dade2d7fa3a28196e07a.tar.gz rockbox-d462a64a918117991e11dade2d7fa3a28196e07a.zip |
Initial commit of iaudio 7 port by Vitja Makarov (FS#9245). Port is at quite an advanced stage, but is troubled by the lack of a reliable NAND driver (similar to the Cowon D2 port) and is not yet suitable for non-developers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18435 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/tcc77x.h')
-rw-r--r-- | firmware/export/tcc77x.h | 102 |
1 files changed, 100 insertions, 2 deletions
diff --git a/firmware/export/tcc77x.h b/firmware/export/tcc77x.h index b17865e257..9ff8adea3e 100644 --- a/firmware/export/tcc77x.h +++ b/firmware/export/tcc77x.h | |||
@@ -59,8 +59,13 @@ | |||
59 | #define PCLKCFG5 (*(volatile unsigned long *)0x80000430) | 59 | #define PCLKCFG5 (*(volatile unsigned long *)0x80000430) |
60 | #define PCLKCFG6 (*(volatile unsigned long *)0x80000434) | 60 | #define PCLKCFG6 (*(volatile unsigned long *)0x80000434) |
61 | 61 | ||
62 | #define PCLK_DAI PCLKCFG6 | ||
63 | |||
62 | /* Device bits for SWRESET & BCLKCTR */ | 64 | /* Device bits for SWRESET & BCLKCTR */ |
63 | 65 | ||
66 | #define DEV_DAI (1<<0) | ||
67 | #define DEV_USBD (1<<4) | ||
68 | #define DEV_ECC (1<<9) | ||
64 | #define DEV_NAND (1<<16) | 69 | #define DEV_NAND (1<<16) |
65 | 70 | ||
66 | /* ADC */ | 71 | /* ADC */ |
@@ -86,9 +91,23 @@ | |||
86 | 91 | ||
87 | 92 | ||
88 | /* IRQ Controller */ | 93 | /* IRQ Controller */ |
94 | #define EXT0_IRQ_MASK (1<<0) | ||
95 | #define EXT1_IRQ_MASK (1<<1) | ||
96 | #define EXT2_IRQ_MASK (1<<2) | ||
97 | #define EXT3_IRQ_MASK (1<<3) | ||
98 | #define I2SR_IRQ_MASK (1<<4) | ||
99 | #define I2ST_IRQ_MASK (1<<5) | ||
100 | #define TIMER0_IRQ_MASK (1<<6) | ||
101 | #define USBD_IRQ_MASK (1<<8) /* USB 2.0 device */ | ||
102 | #define USBH_IRQ_MASK (1<<10) /* USB 1.1 host */ | ||
103 | #define ADC_IRQ_MASK (1<<16) | ||
104 | #define USB_DMA_IRQ_MASK (1<<26) /* USB DMA */ | ||
105 | #define ECC_IRQ_MASK (1<<27) | ||
106 | |||
107 | #define DAI_RX_IRQ_MASK I2SR_IRQ_MASK | ||
108 | #define DAI_TX_IRQ_MASK I2ST_IRQ_MASK | ||
89 | 109 | ||
90 | #define TIMER0_IRQ_MASK (1<<6) | 110 | #define USB_DMA_IRQ_MASK (1<<26) /* USB DMA */ |
91 | #define ADC_IRQ_MASK (1<<16) | ||
92 | 111 | ||
93 | #define IEN (*(volatile unsigned long *)0x80000100) | 112 | #define IEN (*(volatile unsigned long *)0x80000100) |
94 | #define CREQ (*(volatile unsigned long *)0x80000104) | 113 | #define CREQ (*(volatile unsigned long *)0x80000104) |
@@ -160,4 +179,83 @@ | |||
160 | #define NFC_IREQ (*(volatile unsigned long *)0x90000060) | 179 | #define NFC_IREQ (*(volatile unsigned long *)0x90000060) |
161 | #define NFC_RST (*(volatile unsigned long *)0x90000064) | 180 | #define NFC_RST (*(volatile unsigned long *)0x90000064) |
162 | 181 | ||
182 | |||
183 | /* ECC controller */ | ||
184 | |||
185 | #define ECC_CTRL (*(volatile unsigned long *)0x80000900) | ||
186 | #define ECC_DMA_REQ (1<<28) | ||
187 | #define ECC_ENC (1<<27) /* MLC ECC3/4 */ | ||
188 | #define ECC_FLG (1<<26) | ||
189 | #define ECC_IEN (1<<25) | ||
190 | #define ECC_MANUAL (1<<22) | ||
191 | #define ECC_WCNT (1<<12) /* [21:12] */ | ||
192 | #define ECC_HOLD (1<<7) | ||
193 | #define ECC_M4EN (1<<6) | ||
194 | #define ECC_ZERO (1<<5) | ||
195 | #define ECC_M3EN (1<<4) | ||
196 | #define ECC_CNT_MASK (7<<1) | ||
197 | #define ECC_CNT (1<<1) | ||
198 | #define ECC_SLC (1<<0) | ||
199 | |||
200 | #define ECC_BASE (*(volatile unsigned long *)0x80000904) | ||
201 | #define ECC_MASK (*(volatile unsigned long *)0x80000908) | ||
202 | #define ECC_CLR (*(volatile unsigned long *)0x8000090c) | ||
203 | #define SLC_ECC0 (*(volatile unsigned long *)0x80000910) | ||
204 | #define SLC_ECC1 (*(volatile unsigned long *)0x80000914) | ||
205 | #define SLC_ECC2 (*(volatile unsigned long *)0x80000918) | ||
206 | #define SLC_ECC3 (*(volatile unsigned long *)0x8000091c) | ||
207 | #define SLC_ECC4 (*(volatile unsigned long *)0x80000920) | ||
208 | #define SLC_ECC5 (*(volatile unsigned long *)0x80000924) | ||
209 | #define SLC_ECC6 (*(volatile unsigned long *)0x80000928) | ||
210 | #define SLC_ECC7 (*(volatile unsigned long *)0x8000092c) | ||
211 | #define MLC_ECC0W (*(volatile unsigned long *)0x80000930) | ||
212 | #define MLC_ECC1W (*(volatile unsigned long *)0x80000934) | ||
213 | #define MLC_ECC2W (*(volatile unsigned long *)0x80000938) | ||
214 | #define MLC_ECC0R (*(volatile unsigned long *)0x80000940) | ||
215 | #define MLC_ECC1R (*(volatile unsigned long *)0x80000944) | ||
216 | #define MLC_ECC2R (*(volatile unsigned long *)0x80000948) | ||
217 | #define ECC_CORR_START (*(volatile unsigned long *)0x8000094c) | ||
218 | #define ECC_ERRADDR1 (*(volatile unsigned long *)0x80000950) | ||
219 | #define ECC_ERRADDR2 (*(volatile unsigned long *)0x80000954) | ||
220 | #define ECC_ERRADDR3 (*(volatile unsigned long *)0x80000958) | ||
221 | #define ECC_ERRADDR4 (*(volatile unsigned long *)0x8000095c) | ||
222 | #define ECC_ERRDATA1 (*(volatile unsigned long *)0x80000960) | ||
223 | #define ECC_ERRDATA2 (*(volatile unsigned long *)0x80000964) | ||
224 | #define ECC_ERRDATA3 (*(volatile unsigned long *)0x80000968) | ||
225 | #define ECC_ERRDATA4 (*(volatile unsigned long *)0x8000096c) | ||
226 | #define ECC_ERR_NUM (*(volatile unsigned long *)0x80000970) | ||
227 | |||
228 | #define ECC_ERRDATA(x) (*(volatile unsigned long *)(0x80000960 + (x) * 4)) | ||
229 | #define ECC_ERRADDR(x) (*(volatile unsigned long *)(0x80000950 + (x) * 4)) | ||
230 | |||
231 | /* Digital Audio Interface */ | ||
232 | #define DADI_L0 (*(volatile unsigned long *)0x80000000) | ||
233 | #define DADI_R0 (*(volatile unsigned long *)0x80000004) | ||
234 | #define DADI_L1 (*(volatile unsigned long *)0x80000008) | ||
235 | #define DADI_R1 (*(volatile unsigned long *)0x8000000C) | ||
236 | #define DADI_L2 (*(volatile unsigned long *)0x80000010) | ||
237 | #define DADI_R2 (*(volatile unsigned long *)0x80000014) | ||
238 | #define DADI_L3 (*(volatile unsigned long *)0x80000018) | ||
239 | #define DADI_R3 (*(volatile unsigned long *)0x8000001c) | ||
240 | |||
241 | #define DADO_L0 (*(volatile unsigned long *)0x80000020) | ||
242 | #define DADO_R0 (*(volatile unsigned long *)0x80000024) | ||
243 | #define DADO_L1 (*(volatile unsigned long *)0x80000028) | ||
244 | #define DADO_R1 (*(volatile unsigned long *)0x8000002C) | ||
245 | #define DADO_L2 (*(volatile unsigned long *)0x80000030) | ||
246 | #define DADO_R2 (*(volatile unsigned long *)0x80000034) | ||
247 | #define DADO_L3 (*(volatile unsigned long *)0x80000038) | ||
248 | #define DADO_R3 (*(volatile unsigned long *)0x8000003c) | ||
249 | |||
250 | #define DAMR (*(volatile unsigned long *)0x80000040) | ||
251 | #define DAVC (*(volatile unsigned long *)0x80000044) | ||
252 | |||
253 | #define DADI_L(x) (*(volatile unsigned long *)(0x80000000 + (x) * 8)) | ||
254 | #define DADI_R(x) (*(volatile unsigned long *)(0x80000004 + (x) * 8)) | ||
255 | #define DADO_L(x) (*(volatile unsigned long *)(0x80000020 + (x) * 8)) | ||
256 | #define DADO_R(x) (*(volatile unsigned long *)(0x80000024 + (x) * 8)) | ||
257 | |||
258 | /* USB 2.0 device system MMR base address */ | ||
259 | #define USB_BASE 0x90000b00 | ||
260 | |||
163 | #endif | 261 | #endif |