| Index: emcore/trunk/target/ipodnano2g/s5l8701.h |
| — | — | @@ -1,313 +1,313 @@ |
| 2 | | -//
|
| 3 | | -//
|
| 4 | | -// Copyright 2010 TheSeven
|
| 5 | | -//
|
| 6 | | -//
|
| 7 | | -// This file is part of emCORE.
|
| 8 | | -//
|
| 9 | | -// emCORE is free software: you can redistribute it and/or
|
| 10 | | -// modify it under the terms of the GNU General Public License as
|
| 11 | | -// published by the Free Software Foundation, either version 2 of the
|
| 12 | | -// License, or (at your option) any later version.
|
| 13 | | -//
|
| 14 | | -// emCORE is distributed in the hope that it will be useful,
|
| 15 | | -// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 16 | | -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
| 17 | | -// See the GNU General Public License for more details.
|
| 18 | | -//
|
| 19 | | -// You should have received a copy of the GNU General Public License along
|
| 20 | | -// with emCORE. If not, see <http://www.gnu.org/licenses/>.
|
| 21 | | -//
|
| 22 | | -//
|
| 23 | | -
|
| 24 | | -
|
| 25 | | -#ifndef __S5L8701_H__
|
| 26 | | -#define __S5L8701_H__
|
| 27 | | -
|
| 28 | | -#include "global.h"
|
| 29 | | -
|
| 30 | | -
|
| 31 | | -/////CLKCON/////
|
| 32 | | -#define CLKCON (*((uint32_t volatile*)(0x3C500000)))
|
| 33 | | -#define PLL0PMS (*((uint32_t volatile*)(0x3C500004)))
|
| 34 | | -#define PLL1PMS (*((uint32_t volatile*)(0x3C500008)))
|
| 35 | | -#define PLL2PMS (*((uint32_t volatile*)(0x3C50000C)))
|
| 36 | | -#define PLL0LCNT (*((uint32_t volatile*)(0x3C500014)))
|
| 37 | | -#define PLL1LCNT (*((uint32_t volatile*)(0x3C500018)))
|
| 38 | | -#define PLL2LCNT (*((uint32_t volatile*)(0x3C50001C)))
|
| 39 | | -#define PLLLOCK (*((uint32_t volatile*)(0x3C500020)))
|
| 40 | | -#define PLLCON (*((uint32_t volatile*)(0x3C500024)))
|
| 41 | | -#define PWRMODE (*((uint32_t volatile*)(0x3C50002C)))
|
| 42 | | -#define SWRCON (*((uint32_t volatile*)(0x3C500030)))
|
| 43 | | -#define RSTSR (*((uint32_t volatile*)(0x3C500034)))
|
| 44 | | -#define DSPCLKMD (*((uint32_t volatile*)(0x3C500038)))
|
| 45 | | -#define CLKCON2 (*((uint32_t volatile*)(0x3C50003C)))
|
| 46 | | -#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 + ((i) == 1 ? 0x40 : 0x28))))
|
| 47 | | -
|
| 48 | | -
|
| 49 | | -/////ICU/////
|
| 50 | | -#define SRCPND (*((uint32_t volatile*)(0x39C00000)))
|
| 51 | | -#define INTMOD (*((uint32_t volatile*)(0x39C00004)))
|
| 52 | | -#define INTMSK (*((uint32_t volatile*)(0x39C00008)))
|
| 53 | | -#define INTPRIO (*((uint32_t volatile*)(0x39C0000C)))
|
| 54 | | -#define INTPND (*((uint32_t volatile*)(0x39C00010)))
|
| 55 | | -#define INTOFFSET (*((uint32_t volatile*)(0x39C00014)))
|
| 56 | | -#define EINTPOL (*((uint32_t volatile*)(0x39C00018)))
|
| 57 | | -#define EINTPEND (*((uint32_t volatile*)(0x39C0001C)))
|
| 58 | | -#define EINTMSK (*((uint32_t volatile*)(0x39C00020)))
|
| 59 | | -
|
| 60 | | -
|
| 61 | | -/////GPIO/////
|
| 62 | | -#define PCON0 (*((uint32_t volatile*)(0x3CF00000)))
|
| 63 | | -#define PDAT0 (*((uint32_t volatile*)(0x3CF00004)))
|
| 64 | | -#define PCON1 (*((uint32_t volatile*)(0x3CF00010)))
|
| 65 | | -#define PDAT1 (*((uint32_t volatile*)(0x3CF00014)))
|
| 66 | | -#define PCON2 (*((uint32_t volatile*)(0x3CF00020)))
|
| 67 | | -#define PDAT2 (*((uint32_t volatile*)(0x3CF00024)))
|
| 68 | | -#define PCON3 (*((uint32_t volatile*)(0x3CF00030)))
|
| 69 | | -#define PDAT3 (*((uint32_t volatile*)(0x3CF00034)))
|
| 70 | | -#define PCON4 (*((uint32_t volatile*)(0x3CF00040)))
|
| 71 | | -#define PDAT4 (*((uint32_t volatile*)(0x3CF00044)))
|
| 72 | | -#define PCON5 (*((uint32_t volatile*)(0x3CF00050)))
|
| 73 | | -#define PDAT5 (*((uint32_t volatile*)(0x3CF00054)))
|
| 74 | | -#define PUNK5 (*((uint32_t volatile*)(0x3CF0005C)))
|
| 75 | | -#define PCON6 (*((uint32_t volatile*)(0x3CF00060)))
|
| 76 | | -#define PDAT6 (*((uint32_t volatile*)(0x3CF00064)))
|
| 77 | | -#define PCON7 (*((uint32_t volatile*)(0x3CF00070)))
|
| 78 | | -#define PDAT7 (*((uint32_t volatile*)(0x3CF00074)))
|
| 79 | | -#define PCON10 (*((uint32_t volatile*)(0x3CF000A0)))
|
| 80 | | -#define PDAT10 (*((uint32_t volatile*)(0x3CF000A4)))
|
| 81 | | -#define PCON11 (*((uint32_t volatile*)(0x3CF000B0)))
|
| 82 | | -#define PDAT11 (*((uint32_t volatile*)(0x3CF000B4)))
|
| 83 | | -#define PCON13 (*((uint32_t volatile*)(0x3CF000D0)))
|
| 84 | | -#define PDAT13 (*((uint32_t volatile*)(0x3CF000D4)))
|
| 85 | | -#define PCON14 (*((uint32_t volatile*)(0x3CF000E0)))
|
| 86 | | -#define PDAT14 (*((uint32_t volatile*)(0x3CF000E4)))
|
| 87 | | -#define PCON15 (*((uint32_t volatile*)(0x3CF000F0)))
|
| 88 | | -#define PUNK15 (*((uint32_t volatile*)(0x3CF000FC)))
|
| 89 | | -
|
| 90 | | -
|
| 91 | | -/////IODMA/////
|
| 92 | | -#define DMABASE0 (*((void* volatile*)(0x38400000)))
|
| 93 | | -#define DMACON0 (*((uint32_t volatile*)(0x38400004)))
|
| 94 | | -#define DMATCNT0 (*((uint32_t volatile*)(0x38400008)))
|
| 95 | | -#define DMACADDR0 (*((void* volatile*)(0x3840000C)))
|
| 96 | | -#define DMACTCNT0 (*((uint32_t volatile*)(0x38400010)))
|
| 97 | | -#define DMACOM0 (*((uint32_t volatile*)(0x38400014)))
|
| 98 | | -#define DMANOF0 (*((uint32_t volatile*)(0x38400018)))
|
| 99 | | -#define DMABASE1 (*((void* volatile*)(0x38400020)))
|
| 100 | | -#define DMACON1 (*((uint32_t volatile*)(0x38400024)))
|
| 101 | | -#define DMATCNT1 (*((uint32_t volatile*)(0x38400028)))
|
| 102 | | -#define DMACADDR1 (*((void* volatile*)(0x3840002C)))
|
| 103 | | -#define DMACTCNT1 (*((uint32_t volatile*)(0x38400030)))
|
| 104 | | -#define DMACOM1 (*((uint32_t volatile*)(0x38400034)))
|
| 105 | | -#define DMABASE2 (*((void* volatile*)(0x38400040)))
|
| 106 | | -#define DMACON2 (*((uint32_t volatile*)(0x38400044)))
|
| 107 | | -#define DMATCNT2 (*((uint32_t volatile*)(0x38400048)))
|
| 108 | | -#define DMACADDR2 (*((void* volatile*)(0x3840004C)))
|
| 109 | | -#define DMACTCNT2 (*((uint32_t volatile*)(0x38400050)))
|
| 110 | | -#define DMACOM2 (*((uint32_t volatile*)(0x38400054)))
|
| 111 | | -#define DMABASE3 (*((void* volatile*)(0x38400060)))
|
| 112 | | -#define DMACON3 (*((uint32_t volatile*)(0x38400064)))
|
| 113 | | -#define DMATCNT3 (*((uint32_t volatile*)(0x38400068)))
|
| 114 | | -#define DMACADDR3 (*((void* volatile*)(0x3840006C)))
|
| 115 | | -#define DMACTCNT3 (*((uint32_t volatile*)(0x38400070)))
|
| 116 | | -#define DMACOM3 (*((uint32_t volatile*)(0x38400074)))
|
| 117 | | -#define DMABASE4 (*((void* volatile*)(0x38400080)))
|
| 118 | | -#define DMACON4 (*((uint32_t volatile*)(0x38400084)))
|
| 119 | | -#define DMATCNT4 (*((uint32_t volatile*)(0x38400088)))
|
| 120 | | -#define DMACADDR4 (*((void* volatile*)(0x3840008C)))
|
| 121 | | -#define DMACTCNT4 (*((uint32_t volatile*)(0x38400090)))
|
| 122 | | -#define DMACOM4 (*((uint32_t volatile*)(0x38400094)))
|
| 123 | | -#define DMABASE5 (*((void* volatile*)(0x384000A0)))
|
| 124 | | -#define DMACON5 (*((uint32_t volatile*)(0x384000A4)))
|
| 125 | | -#define DMATCNT5 (*((uint32_t volatile*)(0x384000A8)))
|
| 126 | | -#define DMACADDR5 (*((void* volatile*)(0x384000AC)))
|
| 127 | | -#define DMACTCNT5 (*((uint32_t volatile*)(0x384000B0)))
|
| 128 | | -#define DMACOM5 (*((uint32_t volatile*)(0x384000B4)))
|
| 129 | | -#define DMABASE6 (*((void* volatile*)(0x384000C0)))
|
| 130 | | -#define DMACON6 (*((uint32_t volatile*)(0x384000C4)))
|
| 131 | | -#define DMATCNT6 (*((uint32_t volatile*)(0x384000C8)))
|
| 132 | | -#define DMACADDR6 (*((void* volatile*)(0x384000CC)))
|
| 133 | | -#define DMACTCNT6 (*((uint32_t volatile*)(0x384000D0)))
|
| 134 | | -#define DMACOM6 (*((uint32_t volatile*)(0x384000D4)))
|
| 135 | | -#define DMABASE7 (*((void* volatile*)(0x384000E0)))
|
| 136 | | -#define DMACON7 (*((uint32_t volatile*)(0x384000E4)))
|
| 137 | | -#define DMATCNT7 (*((uint32_t volatile*)(0x384000E8)))
|
| 138 | | -#define DMACADDR7 (*((void* volatile*)(0x384000EC)))
|
| 139 | | -#define DMACTCNT7 (*((uint32_t volatile*)(0x384000F0)))
|
| 140 | | -#define DMACOM7 (*((uint32_t volatile*)(0x384000F4)))
|
| 141 | | -#define DMABASE8 (*((void* volatile*)(0x38400100)))
|
| 142 | | -#define DMACON8 (*((uint32_t volatile*)(0x38400104)))
|
| 143 | | -#define DMATCNT8 (*((uint32_t volatile*)(0x38400108)))
|
| 144 | | -#define DMACADDR8 (*((void* volatile*)(0x3840010C)))
|
| 145 | | -#define DMACTCNT8 (*((uint32_t volatile*)(0x38400110)))
|
| 146 | | -#define DMACOM8 (*((uint32_t volatile*)(0x38400114)))
|
| 147 | | -#define DMAALLST (*((uint32_t volatile*)(0x38400180)))
|
| 148 | | -#define DMAALLST2 (*((uint32_t volatile*)(0x38400184)))
|
| 149 | | -#define DMACON_DEVICE_SHIFT 30
|
| 150 | | -#define DMACON_DIRECTION_SHIFT 29
|
| 151 | | -#define DMACON_DATA_SIZE_SHIFT 22
|
| 152 | | -#define DMACON_BURST_LEN_SHIFT 19
|
| 153 | | -#define DMACOM_START 4
|
| 154 | | -#define DMACOM_CLEARBOTHDONE 7
|
| 155 | | -#define DMAALLST_WCOM0 (1 << 0)
|
| 156 | | -#define DMAALLST_HCOM0 (1 << 1)
|
| 157 | | -#define DMAALLST_DMABUSY0 (1 << 2)
|
| 158 | | -#define DMAALLST_HOLD_SKIP (1 << 3)
|
| 159 | | -#define DMAALLST_WCOM1 (1 << 4)
|
| 160 | | -#define DMAALLST_HCOM1 (1 << 5)
|
| 161 | | -#define DMAALLST_DMABUSY1 (1 << 6)
|
| 162 | | -#define DMAALLST_WCOM2 (1 << 8)
|
| 163 | | -#define DMAALLST_HCOM2 (1 << 9)
|
| 164 | | -#define DMAALLST_DMABUSY2 (1 << 10)
|
| 165 | | -#define DMAALLST_WCOM3 (1 << 12)
|
| 166 | | -#define DMAALLST_HCOM3 (1 << 13)
|
| 167 | | -#define DMAALLST_DMABUSY3 (1 << 14)
|
| 168 | | -#define DMAALLST_CHAN0_MASK (0xF << 0)
|
| 169 | | -#define DMAALLST_CHAN1_MASK (0xF << 4)
|
| 170 | | -#define DMAALLST_CHAN2_MASK (0xF << 8)
|
| 171 | | -#define DMAALLST_CHAN3_MASK (0xF << 12)
|
| 172 | | -
|
| 173 | | -
|
| 174 | | -/////FMC/////
|
| 175 | | -#define FMCTRL0 (*((uint32_t volatile*)(0x39400000)))
|
| 176 | | -#define FMCTRL1 (*((uint32_t volatile*)(0x39400004)))
|
| 177 | | -#define FMCMD (*((uint32_t volatile*)(0x39400008)))
|
| 178 | | -#define FMADDR0 (*((uint32_t volatile*)(0x3940000C)))
|
| 179 | | -#define FMADDR1 (*((uint32_t volatile*)(0x39400010)))
|
| 180 | | -#define FMANUM (*((uint32_t volatile*)(0x3940002C)))
|
| 181 | | -#define FMDNUM (*((uint32_t volatile*)(0x39400030)))
|
| 182 | | -#define FMCSTAT (*((uint32_t volatile*)(0x39400048)))
|
| 183 | | -#define FMFIFO (*((uint32_t volatile*)(0x39400080)))
|
| 184 | | -#define RS_ECC_CTRL (*((uint32_t volatile*)(0x39400100)))
|
| 185 | | -#define FMCTRL0_ENABLEDMA (1 << 10)
|
| 186 | | -#define FMCTRL0_UNK1 (1 << 11)
|
| 187 | | -#define FMCTRL1_DOTRANSADDR (1 << 0)
|
| 188 | | -#define FMCTRL1_DOREADDATA (1 << 1)
|
| 189 | | -#define FMCTRL1_DOWRITEDATA (1 << 2)
|
| 190 | | -#define FMCTRL1_CLEARWFIFO (1 << 6)
|
| 191 | | -#define FMCTRL1_CLEARRFIFO (1 << 7)
|
| 192 | | -#define FMCSTAT_RBB (1 << 0)
|
| 193 | | -#define FMCSTAT_RBBDONE (1 << 1)
|
| 194 | | -#define FMCSTAT_CMDDONE (1 << 2)
|
| 195 | | -#define FMCSTAT_ADDRDONE (1 << 3)
|
| 196 | | -#define FMCSTAT_BANK0READY (1 << 4)
|
| 197 | | -#define FMCSTAT_BANK1READY (1 << 5)
|
| 198 | | -#define FMCSTAT_BANK2READY (1 << 6)
|
| 199 | | -#define FMCSTAT_BANK3READY (1 << 7)
|
| 200 | | -
|
| 201 | | -
|
| 202 | | -/////ECC/////
|
| 203 | | -#define ECC_DATA_PTR (*((void* volatile*)(0x39E00004)))
|
| 204 | | -#define ECC_SPARE_PTR (*((void* volatile*)(0x39E00008)))
|
| 205 | | -#define ECC_CTRL (*((uint32_t volatile*)(0x39E0000C)))
|
| 206 | | -#define ECC_RESULT (*((uint32_t volatile*)(0x39E00010)))
|
| 207 | | -#define ECC_UNK1 (*((uint32_t volatile*)(0x39E00014)))
|
| 208 | | -#define ECC_INT_CLR (*((uint32_t volatile*)(0x39E00040)))
|
| 209 | | -#define ECCCTRL_STARTDECODING (1 << 0)
|
| 210 | | -#define ECCCTRL_STARTENCODING (1 << 1)
|
| 211 | | -#define ECCCTRL_STARTDECNOSYND (1 << 2)
|
| 212 | | -
|
| 213 | | -
|
| 214 | | -/////CLICKWHEEL/////
|
| 215 | | -#define WHEEL00 (*((uint32_t volatile*)(0x3C200000)))
|
| 216 | | -#define WHEEL04 (*((uint32_t volatile*)(0x3C200004)))
|
| 217 | | -#define WHEEL08 (*((uint32_t volatile*)(0x3C200008)))
|
| 218 | | -#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C)))
|
| 219 | | -#define WHEEL10 (*((uint32_t volatile*)(0x3C200010)))
|
| 220 | | -#define WHEELINT (*((uint32_t volatile*)(0x3C200014)))
|
| 221 | | -#define WHEELRX (*((uint32_t volatile*)(0x3C200018)))
|
| 222 | | -#define WHEELTX (*((uint32_t volatile*)(0x3C20001C)))
|
| 223 | | -
|
| 224 | | -
|
| 225 | | -/////AES/////
|
| 226 | | -#define AESCONTROL (*((uint32_t volatile*)(0x39800000)))
|
| 227 | | -#define AESGO (*((uint32_t volatile*)(0x39800004)))
|
| 228 | | -#define AESUNKREG0 (*((uint32_t volatile*)(0x39800008)))
|
| 229 | | -#define AESSTATUS (*((uint32_t volatile*)(0x3980000C)))
|
| 230 | | -#define AESUNKREG1 (*((uint32_t volatile*)(0x39800010)))
|
| 231 | | -#define AESKEYLEN (*((uint32_t volatile*)(0x39800014)))
|
| 232 | | -#define AESOUTSIZE (*((uint32_t volatile*)(0x39800018)))
|
| 233 | | -#define AESOUTADDR (*((void* volatile*)(0x39800020)))
|
| 234 | | -#define AESINSIZE (*((uint32_t volatile*)(0x39800024)))
|
| 235 | | -#define AESINADDR (*((const void* volatile*)(0x39800028)))
|
| 236 | | -#define AESAUXSIZE (*((uint32_t volatile*)(0x3980002C)))
|
| 237 | | -#define AESAUXADDR (*((void* volatile*)(0x39800030)))
|
| 238 | | -#define AESSIZE3 (*((uint32_t volatile*)(0x39800034)))
|
| 239 | | -#define AESKEY ((uint32_t volatile*)(0x3980004C))
|
| 240 | | -#define AESTYPE (*((uint32_t volatile*)(0x3980006C)))
|
| 241 | | -#define AESIV ((uint32_t volatile*)(0x39800074))
|
| 242 | | -#define AESTYPE2 (*((uint32_t volatile*)(0x39800088)))
|
| 243 | | -#define AESUNKREG2 (*((uint32_t volatile*)(0x3980008C)))
|
| 244 | | -
|
| 245 | | -/////HASH/////
|
| 246 | | -#define HASHCTRL (*((uint32_t volatile*)(0x3C600000)))
|
| 247 | | -#define HASHRESULT ((uint32_t volatile*)(0x3C600020))
|
| 248 | | -#define HASHDATAIN ((uint32_t volatile*)(0x3C600040))
|
| 249 | | -
|
| 250 | | -
|
| 251 | | -/////TIMER/////
|
| 252 | | -#define TACON (*((uint32_t volatile*)(0x3C700000)))
|
| 253 | | -#define TACMD (*((uint32_t volatile*)(0x3C700004)))
|
| 254 | | -#define TADATA0 (*((uint32_t volatile*)(0x3C700008)))
|
| 255 | | -#define TADATA1 (*((uint32_t volatile*)(0x3C70000C)))
|
| 256 | | -#define TAPRE (*((uint32_t volatile*)(0x3C700010)))
|
| 257 | | -#define TACNT (*((uint32_t volatile*)(0x3C700014)))
|
| 258 | | -#define TBCON (*((uint32_t volatile*)(0x3C700020)))
|
| 259 | | -#define TBCMD (*((uint32_t volatile*)(0x3C700024)))
|
| 260 | | -#define TBDATA0 (*((uint32_t volatile*)(0x3C700028)))
|
| 261 | | -#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C)))
|
| 262 | | -#define TBPRE (*((uint32_t volatile*)(0x3C700030)))
|
| 263 | | -#define TBCNT (*((uint32_t volatile*)(0x3C700034)))
|
| 264 | | -#define TCCON (*((uint32_t volatile*)(0x3C700040)))
|
| 265 | | -#define TCCMD (*((uint32_t volatile*)(0x3C700044)))
|
| 266 | | -#define TCDATA0 (*((uint32_t volatile*)(0x3C700048)))
|
| 267 | | -#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C)))
|
| 268 | | -#define TCPRE (*((uint32_t volatile*)(0x3C700050)))
|
| 269 | | -#define TCCNT (*((uint32_t volatile*)(0x3C700054)))
|
| 270 | | -#define TDCON (*((uint32_t volatile*)(0x3C700060)))
|
| 271 | | -#define TDCMD (*((uint32_t volatile*)(0x3C700064)))
|
| 272 | | -#define TDDATA0 (*((uint32_t volatile*)(0x3C700068)))
|
| 273 | | -#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C)))
|
| 274 | | -#define TDPRE (*((uint32_t volatile*)(0x3C700070)))
|
| 275 | | -#define TDCNT (*((uint32_t volatile*)(0x3C700074)))
|
| 276 | | -
|
| 277 | | -
|
| 278 | | -/////USB/////
|
| 279 | | -#define OTGBASE 0x38800000
|
| 280 | | -#define PHYBASE 0x3C400000
|
| 281 | | -#define SYNOPSYSOTG_CLOCK 0
|
| 282 | | -#define SYNOPSYSOTG_AHBCFG 0x27
|
| 283 | | -
|
| 284 | | -
|
| 285 | | -/////I2C/////
|
| 286 | | -#define IICCON (*((uint32_t volatile*)(0x3C900000)))
|
| 287 | | -#define IICSTAT (*((uint32_t volatile*)(0x3C900004)))
|
| 288 | | -#define IICADD (*((uint32_t volatile*)(0x3C900008)))
|
| 289 | | -#define IICDS (*((uint32_t volatile*)(0x3C90000C)))
|
| 290 | | -
|
| 291 | | -
|
| 292 | | -/////LCD/////
|
| 293 | | -#define LCDCON (*((uint32_t volatile*)(0x38600040)))
|
| 294 | | -#define LCDWCMD (*((uint32_t volatile*)(0x38600004)))
|
| 295 | | -#define LCDPHTIME (*((uint32_t volatile*)(0x38600010)))
|
| 296 | | -#define LCDSTATUS (*((uint32_t volatile*)(0x3860001c)))
|
| 297 | | -#define LCDWDATA (*((uint32_t volatile*)(0x38600040)))
|
| 298 | | -
|
| 299 | | -
|
| 300 | | -/////CLOCK GATES/////
|
| 301 | | -#define CLOCKGATE_USB_1 14
|
| 302 | | -#define CLOCKGATE_USB_2 43
|
| 303 | | -
|
| 304 | | -
|
| 305 | | -/////INTERRUPTS/////
|
| 306 | | -#define IRQ_TIMER 5
|
| 307 | | -#define IRQ_DMA 10
|
| 308 | | -#define IRQ_USB_FUNC 16
|
| 309 | | -#define IRQ_ECC 19
|
| 310 | | -#define IRQ_WHEEL 26
|
| 311 | | -#define IRQ_IIC 27
|
| 312 | | -
|
| 313 | | -
|
| 314 | | -#endif
|
| | 2 | +// |
| | 3 | +// |
| | 4 | +// Copyright 2010 TheSeven |
| | 5 | +// |
| | 6 | +// |
| | 7 | +// This file is part of emCORE. |
| | 8 | +// |
| | 9 | +// emCORE is free software: you can redistribute it and/or |
| | 10 | +// modify it under the terms of the GNU General Public License as |
| | 11 | +// published by the Free Software Foundation, either version 2 of the |
| | 12 | +// License, or (at your option) any later version. |
| | 13 | +// |
| | 14 | +// emCORE is distributed in the hope that it will be useful, |
| | 15 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
| | 16 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| | 17 | +// See the GNU General Public License for more details. |
| | 18 | +// |
| | 19 | +// You should have received a copy of the GNU General Public License along |
| | 20 | +// with emCORE. If not, see <http://www.gnu.org/licenses/>. |
| | 21 | +// |
| | 22 | +// |
| | 23 | + |
| | 24 | + |
| | 25 | +#ifndef __S5L8701_H__ |
| | 26 | +#define __S5L8701_H__ |
| | 27 | + |
| | 28 | +#include "global.h" |
| | 29 | + |
| | 30 | + |
| | 31 | +/////CLKCON///// |
| | 32 | +#define CLKCON (*((uint32_t volatile*)(0x3C500000))) |
| | 33 | +#define PLL0PMS (*((uint32_t volatile*)(0x3C500004))) |
| | 34 | +#define PLL1PMS (*((uint32_t volatile*)(0x3C500008))) |
| | 35 | +#define PLL2PMS (*((uint32_t volatile*)(0x3C50000C))) |
| | 36 | +#define PLL0LCNT (*((uint32_t volatile*)(0x3C500014))) |
| | 37 | +#define PLL1LCNT (*((uint32_t volatile*)(0x3C500018))) |
| | 38 | +#define PLL2LCNT (*((uint32_t volatile*)(0x3C50001C))) |
| | 39 | +#define PLLLOCK (*((uint32_t volatile*)(0x3C500020))) |
| | 40 | +#define PLLCON (*((uint32_t volatile*)(0x3C500024))) |
| | 41 | +#define PWRMODE (*((uint32_t volatile*)(0x3C50002C))) |
| | 42 | +#define SWRCON (*((uint32_t volatile*)(0x3C500030))) |
| | 43 | +#define RSTSR (*((uint32_t volatile*)(0x3C500034))) |
| | 44 | +#define DSPCLKMD (*((uint32_t volatile*)(0x3C500038))) |
| | 45 | +#define CLKCON2 (*((uint32_t volatile*)(0x3C50003C))) |
| | 46 | +#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 + ((i) == 1 ? 0x40 : 0x28)))) |
| | 47 | + |
| | 48 | + |
| | 49 | +/////ICU///// |
| | 50 | +#define SRCPND (*((uint32_t volatile*)(0x39C00000))) |
| | 51 | +#define INTMOD (*((uint32_t volatile*)(0x39C00004))) |
| | 52 | +#define INTMSK (*((uint32_t volatile*)(0x39C00008))) |
| | 53 | +#define INTPRIO (*((uint32_t volatile*)(0x39C0000C))) |
| | 54 | +#define INTPND (*((uint32_t volatile*)(0x39C00010))) |
| | 55 | +#define INTOFFSET (*((uint32_t volatile*)(0x39C00014))) |
| | 56 | +#define EINTPOL (*((uint32_t volatile*)(0x39C00018))) |
| | 57 | +#define EINTPEND (*((uint32_t volatile*)(0x39C0001C))) |
| | 58 | +#define EINTMSK (*((uint32_t volatile*)(0x39C00020))) |
| | 59 | + |
| | 60 | + |
| | 61 | +/////GPIO///// |
| | 62 | +#define PCON0 (*((uint32_t volatile*)(0x3CF00000))) |
| | 63 | +#define PDAT0 (*((uint32_t volatile*)(0x3CF00004))) |
| | 64 | +#define PCON1 (*((uint32_t volatile*)(0x3CF00010))) |
| | 65 | +#define PDAT1 (*((uint32_t volatile*)(0x3CF00014))) |
| | 66 | +#define PCON2 (*((uint32_t volatile*)(0x3CF00020))) |
| | 67 | +#define PDAT2 (*((uint32_t volatile*)(0x3CF00024))) |
| | 68 | +#define PCON3 (*((uint32_t volatile*)(0x3CF00030))) |
| | 69 | +#define PDAT3 (*((uint32_t volatile*)(0x3CF00034))) |
| | 70 | +#define PCON4 (*((uint32_t volatile*)(0x3CF00040))) |
| | 71 | +#define PDAT4 (*((uint32_t volatile*)(0x3CF00044))) |
| | 72 | +#define PCON5 (*((uint32_t volatile*)(0x3CF00050))) |
| | 73 | +#define PDAT5 (*((uint32_t volatile*)(0x3CF00054))) |
| | 74 | +#define PUNK5 (*((uint32_t volatile*)(0x3CF0005C))) |
| | 75 | +#define PCON6 (*((uint32_t volatile*)(0x3CF00060))) |
| | 76 | +#define PDAT6 (*((uint32_t volatile*)(0x3CF00064))) |
| | 77 | +#define PCON7 (*((uint32_t volatile*)(0x3CF00070))) |
| | 78 | +#define PDAT7 (*((uint32_t volatile*)(0x3CF00074))) |
| | 79 | +#define PCON10 (*((uint32_t volatile*)(0x3CF000A0))) |
| | 80 | +#define PDAT10 (*((uint32_t volatile*)(0x3CF000A4))) |
| | 81 | +#define PCON11 (*((uint32_t volatile*)(0x3CF000B0))) |
| | 82 | +#define PDAT11 (*((uint32_t volatile*)(0x3CF000B4))) |
| | 83 | +#define PCON13 (*((uint32_t volatile*)(0x3CF000D0))) |
| | 84 | +#define PDAT13 (*((uint32_t volatile*)(0x3CF000D4))) |
| | 85 | +#define PCON14 (*((uint32_t volatile*)(0x3CF000E0))) |
| | 86 | +#define PDAT14 (*((uint32_t volatile*)(0x3CF000E4))) |
| | 87 | +#define PCON15 (*((uint32_t volatile*)(0x3CF000F0))) |
| | 88 | +#define PUNK15 (*((uint32_t volatile*)(0x3CF000FC))) |
| | 89 | + |
| | 90 | + |
| | 91 | +/////IODMA///// |
| | 92 | +#define DMABASE0 (*((void* volatile*)(0x38400000))) |
| | 93 | +#define DMACON0 (*((uint32_t volatile*)(0x38400004))) |
| | 94 | +#define DMATCNT0 (*((uint32_t volatile*)(0x38400008))) |
| | 95 | +#define DMACADDR0 (*((void* volatile*)(0x3840000C))) |
| | 96 | +#define DMACTCNT0 (*((uint32_t volatile*)(0x38400010))) |
| | 97 | +#define DMACOM0 (*((uint32_t volatile*)(0x38400014))) |
| | 98 | +#define DMANOF0 (*((uint32_t volatile*)(0x38400018))) |
| | 99 | +#define DMABASE1 (*((void* volatile*)(0x38400020))) |
| | 100 | +#define DMACON1 (*((uint32_t volatile*)(0x38400024))) |
| | 101 | +#define DMATCNT1 (*((uint32_t volatile*)(0x38400028))) |
| | 102 | +#define DMACADDR1 (*((void* volatile*)(0x3840002C))) |
| | 103 | +#define DMACTCNT1 (*((uint32_t volatile*)(0x38400030))) |
| | 104 | +#define DMACOM1 (*((uint32_t volatile*)(0x38400034))) |
| | 105 | +#define DMABASE2 (*((void* volatile*)(0x38400040))) |
| | 106 | +#define DMACON2 (*((uint32_t volatile*)(0x38400044))) |
| | 107 | +#define DMATCNT2 (*((uint32_t volatile*)(0x38400048))) |
| | 108 | +#define DMACADDR2 (*((void* volatile*)(0x3840004C))) |
| | 109 | +#define DMACTCNT2 (*((uint32_t volatile*)(0x38400050))) |
| | 110 | +#define DMACOM2 (*((uint32_t volatile*)(0x38400054))) |
| | 111 | +#define DMABASE3 (*((void* volatile*)(0x38400060))) |
| | 112 | +#define DMACON3 (*((uint32_t volatile*)(0x38400064))) |
| | 113 | +#define DMATCNT3 (*((uint32_t volatile*)(0x38400068))) |
| | 114 | +#define DMACADDR3 (*((void* volatile*)(0x3840006C))) |
| | 115 | +#define DMACTCNT3 (*((uint32_t volatile*)(0x38400070))) |
| | 116 | +#define DMACOM3 (*((uint32_t volatile*)(0x38400074))) |
| | 117 | +#define DMABASE4 (*((void* volatile*)(0x38400080))) |
| | 118 | +#define DMACON4 (*((uint32_t volatile*)(0x38400084))) |
| | 119 | +#define DMATCNT4 (*((uint32_t volatile*)(0x38400088))) |
| | 120 | +#define DMACADDR4 (*((void* volatile*)(0x3840008C))) |
| | 121 | +#define DMACTCNT4 (*((uint32_t volatile*)(0x38400090))) |
| | 122 | +#define DMACOM4 (*((uint32_t volatile*)(0x38400094))) |
| | 123 | +#define DMABASE5 (*((void* volatile*)(0x384000A0))) |
| | 124 | +#define DMACON5 (*((uint32_t volatile*)(0x384000A4))) |
| | 125 | +#define DMATCNT5 (*((uint32_t volatile*)(0x384000A8))) |
| | 126 | +#define DMACADDR5 (*((void* volatile*)(0x384000AC))) |
| | 127 | +#define DMACTCNT5 (*((uint32_t volatile*)(0x384000B0))) |
| | 128 | +#define DMACOM5 (*((uint32_t volatile*)(0x384000B4))) |
| | 129 | +#define DMABASE6 (*((void* volatile*)(0x384000C0))) |
| | 130 | +#define DMACON6 (*((uint32_t volatile*)(0x384000C4))) |
| | 131 | +#define DMATCNT6 (*((uint32_t volatile*)(0x384000C8))) |
| | 132 | +#define DMACADDR6 (*((void* volatile*)(0x384000CC))) |
| | 133 | +#define DMACTCNT6 (*((uint32_t volatile*)(0x384000D0))) |
| | 134 | +#define DMACOM6 (*((uint32_t volatile*)(0x384000D4))) |
| | 135 | +#define DMABASE7 (*((void* volatile*)(0x384000E0))) |
| | 136 | +#define DMACON7 (*((uint32_t volatile*)(0x384000E4))) |
| | 137 | +#define DMATCNT7 (*((uint32_t volatile*)(0x384000E8))) |
| | 138 | +#define DMACADDR7 (*((void* volatile*)(0x384000EC))) |
| | 139 | +#define DMACTCNT7 (*((uint32_t volatile*)(0x384000F0))) |
| | 140 | +#define DMACOM7 (*((uint32_t volatile*)(0x384000F4))) |
| | 141 | +#define DMABASE8 (*((void* volatile*)(0x38400100))) |
| | 142 | +#define DMACON8 (*((uint32_t volatile*)(0x38400104))) |
| | 143 | +#define DMATCNT8 (*((uint32_t volatile*)(0x38400108))) |
| | 144 | +#define DMACADDR8 (*((void* volatile*)(0x3840010C))) |
| | 145 | +#define DMACTCNT8 (*((uint32_t volatile*)(0x38400110))) |
| | 146 | +#define DMACOM8 (*((uint32_t volatile*)(0x38400114))) |
| | 147 | +#define DMAALLST (*((uint32_t volatile*)(0x38400180))) |
| | 148 | +#define DMAALLST2 (*((uint32_t volatile*)(0x38400184))) |
| | 149 | +#define DMACON_DEVICE_SHIFT 30 |
| | 150 | +#define DMACON_DIRECTION_SHIFT 29 |
| | 151 | +#define DMACON_DATA_SIZE_SHIFT 22 |
| | 152 | +#define DMACON_BURST_LEN_SHIFT 19 |
| | 153 | +#define DMACOM_START 4 |
| | 154 | +#define DMACOM_CLEARBOTHDONE 7 |
| | 155 | +#define DMAALLST_WCOM0 (1 << 0) |
| | 156 | +#define DMAALLST_HCOM0 (1 << 1) |
| | 157 | +#define DMAALLST_DMABUSY0 (1 << 2) |
| | 158 | +#define DMAALLST_HOLD_SKIP (1 << 3) |
| | 159 | +#define DMAALLST_WCOM1 (1 << 4) |
| | 160 | +#define DMAALLST_HCOM1 (1 << 5) |
| | 161 | +#define DMAALLST_DMABUSY1 (1 << 6) |
| | 162 | +#define DMAALLST_WCOM2 (1 << 8) |
| | 163 | +#define DMAALLST_HCOM2 (1 << 9) |
| | 164 | +#define DMAALLST_DMABUSY2 (1 << 10) |
| | 165 | +#define DMAALLST_WCOM3 (1 << 12) |
| | 166 | +#define DMAALLST_HCOM3 (1 << 13) |
| | 167 | +#define DMAALLST_DMABUSY3 (1 << 14) |
| | 168 | +#define DMAALLST_CHAN0_MASK (0xF << 0) |
| | 169 | +#define DMAALLST_CHAN1_MASK (0xF << 4) |
| | 170 | +#define DMAALLST_CHAN2_MASK (0xF << 8) |
| | 171 | +#define DMAALLST_CHAN3_MASK (0xF << 12) |
| | 172 | + |
| | 173 | + |
| | 174 | +/////FMC///// |
| | 175 | +#define FMCTRL0 (*((uint32_t volatile*)(0x39400000))) |
| | 176 | +#define FMCTRL1 (*((uint32_t volatile*)(0x39400004))) |
| | 177 | +#define FMCMD (*((uint32_t volatile*)(0x39400008))) |
| | 178 | +#define FMADDR0 (*((uint32_t volatile*)(0x3940000C))) |
| | 179 | +#define FMADDR1 (*((uint32_t volatile*)(0x39400010))) |
| | 180 | +#define FMANUM (*((uint32_t volatile*)(0x3940002C))) |
| | 181 | +#define FMDNUM (*((uint32_t volatile*)(0x39400030))) |
| | 182 | +#define FMCSTAT (*((uint32_t volatile*)(0x39400048))) |
| | 183 | +#define FMFIFO (*((uint32_t volatile*)(0x39400080))) |
| | 184 | +#define RS_ECC_CTRL (*((uint32_t volatile*)(0x39400100))) |
| | 185 | +#define FMCTRL0_ENABLEDMA (1 << 10) |
| | 186 | +#define FMCTRL0_UNK1 (1 << 11) |
| | 187 | +#define FMCTRL1_DOTRANSADDR (1 << 0) |
| | 188 | +#define FMCTRL1_DOREADDATA (1 << 1) |
| | 189 | +#define FMCTRL1_DOWRITEDATA (1 << 2) |
| | 190 | +#define FMCTRL1_CLEARWFIFO (1 << 6) |
| | 191 | +#define FMCTRL1_CLEARRFIFO (1 << 7) |
| | 192 | +#define FMCSTAT_RBB (1 << 0) |
| | 193 | +#define FMCSTAT_RBBDONE (1 << 1) |
| | 194 | +#define FMCSTAT_CMDDONE (1 << 2) |
| | 195 | +#define FMCSTAT_ADDRDONE (1 << 3) |
| | 196 | +#define FMCSTAT_BANK0READY (1 << 4) |
| | 197 | +#define FMCSTAT_BANK1READY (1 << 5) |
| | 198 | +#define FMCSTAT_BANK2READY (1 << 6) |
| | 199 | +#define FMCSTAT_BANK3READY (1 << 7) |
| | 200 | + |
| | 201 | + |
| | 202 | +/////ECC///// |
| | 203 | +#define ECC_DATA_PTR (*((void* volatile*)(0x39E00004))) |
| | 204 | +#define ECC_SPARE_PTR (*((void* volatile*)(0x39E00008))) |
| | 205 | +#define ECC_CTRL (*((uint32_t volatile*)(0x39E0000C))) |
| | 206 | +#define ECC_RESULT (*((uint32_t volatile*)(0x39E00010))) |
| | 207 | +#define ECC_UNK1 (*((uint32_t volatile*)(0x39E00014))) |
| | 208 | +#define ECC_INT_CLR (*((uint32_t volatile*)(0x39E00040))) |
| | 209 | +#define ECCCTRL_STARTDECODING (1 << 0) |
| | 210 | +#define ECCCTRL_STARTENCODING (1 << 1) |
| | 211 | +#define ECCCTRL_STARTDECNOSYND (1 << 2) |
| | 212 | + |
| | 213 | + |
| | 214 | +/////CLICKWHEEL///// |
| | 215 | +#define WHEEL00 (*((uint32_t volatile*)(0x3C200000))) |
| | 216 | +#define WHEEL04 (*((uint32_t volatile*)(0x3C200004))) |
| | 217 | +#define WHEEL08 (*((uint32_t volatile*)(0x3C200008))) |
| | 218 | +#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C))) |
| | 219 | +#define WHEEL10 (*((uint32_t volatile*)(0x3C200010))) |
| | 220 | +#define WHEELINT (*((uint32_t volatile*)(0x3C200014))) |
| | 221 | +#define WHEELRX (*((uint32_t volatile*)(0x3C200018))) |
| | 222 | +#define WHEELTX (*((uint32_t volatile*)(0x3C20001C))) |
| | 223 | + |
| | 224 | + |
| | 225 | +/////AES///// |
| | 226 | +#define AESCONTROL (*((uint32_t volatile*)(0x39800000))) |
| | 227 | +#define AESGO (*((uint32_t volatile*)(0x39800004))) |
| | 228 | +#define AESUNKREG0 (*((uint32_t volatile*)(0x39800008))) |
| | 229 | +#define AESSTATUS (*((uint32_t volatile*)(0x3980000C))) |
| | 230 | +#define AESUNKREG1 (*((uint32_t volatile*)(0x39800010))) |
| | 231 | +#define AESKEYLEN (*((uint32_t volatile*)(0x39800014))) |
| | 232 | +#define AESOUTSIZE (*((uint32_t volatile*)(0x39800018))) |
| | 233 | +#define AESOUTADDR (*((void* volatile*)(0x39800020))) |
| | 234 | +#define AESINSIZE (*((uint32_t volatile*)(0x39800024))) |
| | 235 | +#define AESINADDR (*((const void* volatile*)(0x39800028))) |
| | 236 | +#define AESAUXSIZE (*((uint32_t volatile*)(0x3980002C))) |
| | 237 | +#define AESAUXADDR (*((void* volatile*)(0x39800030))) |
| | 238 | +#define AESSIZE3 (*((uint32_t volatile*)(0x39800034))) |
| | 239 | +#define AESKEY ((uint32_t volatile*)(0x3980004C)) |
| | 240 | +#define AESTYPE (*((uint32_t volatile*)(0x3980006C))) |
| | 241 | +#define AESIV ((uint32_t volatile*)(0x39800074)) |
| | 242 | +#define AESTYPE2 (*((uint32_t volatile*)(0x39800088))) |
| | 243 | +#define AESUNKREG2 (*((uint32_t volatile*)(0x3980008C))) |
| | 244 | + |
| | 245 | +/////HASH///// |
| | 246 | +#define HASHCTRL (*((uint32_t volatile*)(0x3C600000))) |
| | 247 | +#define HASHRESULT ((uint32_t volatile*)(0x3C600020)) |
| | 248 | +#define HASHDATAIN ((uint32_t volatile*)(0x3C600040)) |
| | 249 | + |
| | 250 | + |
| | 251 | +/////TIMER///// |
| | 252 | +#define TACON (*((uint32_t volatile*)(0x3C700000))) |
| | 253 | +#define TACMD (*((uint32_t volatile*)(0x3C700004))) |
| | 254 | +#define TADATA0 (*((uint32_t volatile*)(0x3C700008))) |
| | 255 | +#define TADATA1 (*((uint32_t volatile*)(0x3C70000C))) |
| | 256 | +#define TAPRE (*((uint32_t volatile*)(0x3C700010))) |
| | 257 | +#define TACNT (*((uint32_t volatile*)(0x3C700014))) |
| | 258 | +#define TBCON (*((uint32_t volatile*)(0x3C700020))) |
| | 259 | +#define TBCMD (*((uint32_t volatile*)(0x3C700024))) |
| | 260 | +#define TBDATA0 (*((uint32_t volatile*)(0x3C700028))) |
| | 261 | +#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C))) |
| | 262 | +#define TBPRE (*((uint32_t volatile*)(0x3C700030))) |
| | 263 | +#define TBCNT (*((uint32_t volatile*)(0x3C700034))) |
| | 264 | +#define TCCON (*((uint32_t volatile*)(0x3C700040))) |
| | 265 | +#define TCCMD (*((uint32_t volatile*)(0x3C700044))) |
| | 266 | +#define TCDATA0 (*((uint32_t volatile*)(0x3C700048))) |
| | 267 | +#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C))) |
| | 268 | +#define TCPRE (*((uint32_t volatile*)(0x3C700050))) |
| | 269 | +#define TCCNT (*((uint32_t volatile*)(0x3C700054))) |
| | 270 | +#define TDCON (*((uint32_t volatile*)(0x3C700060))) |
| | 271 | +#define TDCMD (*((uint32_t volatile*)(0x3C700064))) |
| | 272 | +#define TDDATA0 (*((uint32_t volatile*)(0x3C700068))) |
| | 273 | +#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C))) |
| | 274 | +#define TDPRE (*((uint32_t volatile*)(0x3C700070))) |
| | 275 | +#define TDCNT (*((uint32_t volatile*)(0x3C700074))) |
| | 276 | + |
| | 277 | + |
| | 278 | +/////USB///// |
| | 279 | +#define OTGBASE 0x38800000 |
| | 280 | +#define PHYBASE 0x3C400000 |
| | 281 | +#define SYNOPSYSOTG_CLOCK 0 |
| | 282 | +#define SYNOPSYSOTG_AHBCFG 0x27 |
| | 283 | + |
| | 284 | + |
| | 285 | +/////I2C///// |
| | 286 | +#define IICCON (*((uint32_t volatile*)(0x3C900000))) |
| | 287 | +#define IICSTAT (*((uint32_t volatile*)(0x3C900004))) |
| | 288 | +#define IICADD (*((uint32_t volatile*)(0x3C900008))) |
| | 289 | +#define IICDS (*((uint32_t volatile*)(0x3C90000C))) |
| | 290 | + |
| | 291 | + |
| | 292 | +/////LCD///// |
| | 293 | +#define LCDCON (*((uint32_t volatile*)(0x38600000))) |
| | 294 | +#define LCDWCMD (*((uint32_t volatile*)(0x38600004))) |
| | 295 | +#define LCDPHTIME (*((uint32_t volatile*)(0x38600010))) |
| | 296 | +#define LCDSTATUS (*((uint32_t volatile*)(0x3860001c))) |
| | 297 | +#define LCDWDATA (*((uint32_t volatile*)(0x38600040))) |
| | 298 | + |
| | 299 | + |
| | 300 | +/////CLOCK GATES///// |
| | 301 | +#define CLOCKGATE_USB_1 14 |
| | 302 | +#define CLOCKGATE_USB_2 43 |
| | 303 | + |
| | 304 | + |
| | 305 | +/////INTERRUPTS///// |
| | 306 | +#define IRQ_TIMER 5 |
| | 307 | +#define IRQ_DMA 10 |
| | 308 | +#define IRQ_USB_FUNC 16 |
| | 309 | +#define IRQ_ECC 19 |
| | 310 | +#define IRQ_WHEEL 26 |
| | 311 | +#define IRQ_IIC 27 |
| | 312 | + |
| | 313 | + |
| | 314 | +#endif |
| Index: emcore/trunk/target/ipodnano3g/s5l8702.h |
| — | — | @@ -1,600 +1,601 @@ |
| 2 | | -//
|
| 3 | | -//
|
| 4 | | -// Copyright 2010 TheSeven
|
| 5 | | -//
|
| 6 | | -//
|
| 7 | | -// This file is part of emCORE.
|
| 8 | | -//
|
| 9 | | -// emCORE is free software: you can redistribute it and/or
|
| 10 | | -// modify it under the terms of the GNU General Public License as
|
| 11 | | -// published by the Free Software Foundation, either version 2 of the
|
| 12 | | -// License, or (at your option) any later version.
|
| 13 | | -//
|
| 14 | | -// emCORE is distributed in the hope that it will be useful,
|
| 15 | | -// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
| 16 | | -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
| 17 | | -// See the GNU General Public License for more details.
|
| 18 | | -//
|
| 19 | | -// You should have received a copy of the GNU General Public License along
|
| 20 | | -// with emCORE. If not, see <http://www.gnu.org/licenses/>.
|
| 21 | | -//
|
| 22 | | -//
|
| 23 | | -
|
| 24 | | -
|
| 25 | | -#ifndef __S5L8702_H__
|
| 26 | | -#define __S5L8702_H__
|
| 27 | | -
|
| 28 | | -#include "global.h"
|
| 29 | | -
|
| 30 | | -
|
| 31 | | -/////SYSCON/////
|
| 32 | | -#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 \
|
| 33 | | - + ((i) == 4 ? 0x6C : \
|
| 34 | | - ((i) == 3 ? 0x68 : \
|
| 35 | | - ((i) == 2 ? 0x58 : \
|
| 36 | | - ((i) == 1 ? 0x4C : \
|
| 37 | | - 0x48)))))))
|
| 38 | | -
|
| 39 | | -
|
| 40 | | -/////TIMER/////
|
| 41 | | -#define TACON (*((uint32_t volatile*)(0x3C700000)))
|
| 42 | | -#define TACMD (*((uint32_t volatile*)(0x3C700004)))
|
| 43 | | -#define TADATA0 (*((uint32_t volatile*)(0x3C700008)))
|
| 44 | | -#define TADATA1 (*((uint32_t volatile*)(0x3C70000C)))
|
| 45 | | -#define TAPRE (*((uint32_t volatile*)(0x3C700010)))
|
| 46 | | -#define TACNT (*((uint32_t volatile*)(0x3C700014)))
|
| 47 | | -#define TBCON (*((uint32_t volatile*)(0x3C700020)))
|
| 48 | | -#define TBCMD (*((uint32_t volatile*)(0x3C700024)))
|
| 49 | | -#define TBDATA0 (*((uint32_t volatile*)(0x3C700028)))
|
| 50 | | -#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C)))
|
| 51 | | -#define TBPRE (*((uint32_t volatile*)(0x3C700030)))
|
| 52 | | -#define TBCNT (*((uint32_t volatile*)(0x3C700034)))
|
| 53 | | -#define TCCON (*((uint32_t volatile*)(0x3C700040)))
|
| 54 | | -#define TCCMD (*((uint32_t volatile*)(0x3C700044)))
|
| 55 | | -#define TCDATA0 (*((uint32_t volatile*)(0x3C700048)))
|
| 56 | | -#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C)))
|
| 57 | | -#define TCPRE (*((uint32_t volatile*)(0x3C700050)))
|
| 58 | | -#define TCCNT (*((uint32_t volatile*)(0x3C700054)))
|
| 59 | | -#define TDCON (*((uint32_t volatile*)(0x3C700060)))
|
| 60 | | -#define TDCMD (*((uint32_t volatile*)(0x3C700064)))
|
| 61 | | -#define TDDATA0 (*((uint32_t volatile*)(0x3C700068)))
|
| 62 | | -#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C)))
|
| 63 | | -#define TDPRE (*((uint32_t volatile*)(0x3C700070)))
|
| 64 | | -#define TDCNT (*((uint32_t volatile*)(0x3C700074)))
|
| 65 | | -#define TECON (*((uint32_t volatile*)(0x3C7000A0)))
|
| 66 | | -#define TECMD (*((uint32_t volatile*)(0x3C7000A4)))
|
| 67 | | -#define TEDATA0 (*((uint32_t volatile*)(0x3C7000A8)))
|
| 68 | | -#define TEDATA1 (*((uint32_t volatile*)(0x3C7000AC)))
|
| 69 | | -#define TEPRE (*((uint32_t volatile*)(0x3C7000B0)))
|
| 70 | | -#define TECNT (*((uint32_t volatile*)(0x3C7000B4)))
|
| 71 | | -#define TFCON (*((uint32_t volatile*)(0x3C7000C0)))
|
| 72 | | -#define TFCMD (*((uint32_t volatile*)(0x3C7000C4)))
|
| 73 | | -#define TFDATA0 (*((uint32_t volatile*)(0x3C7000C8)))
|
| 74 | | -#define TFDATA1 (*((uint32_t volatile*)(0x3C7000CC)))
|
| 75 | | -#define TFPRE (*((uint32_t volatile*)(0x3C7000D0)))
|
| 76 | | -#define TFCNT (*((uint32_t volatile*)(0x3C7000D4)))
|
| 77 | | -#define TGCON (*((uint32_t volatile*)(0x3C7000E0)))
|
| 78 | | -#define TGCMD (*((uint32_t volatile*)(0x3C7000E4)))
|
| 79 | | -#define TGDATA0 (*((uint32_t volatile*)(0x3C7000E8)))
|
| 80 | | -#define TGDATA1 (*((uint32_t volatile*)(0x3C7000EC)))
|
| 81 | | -#define TGPRE (*((uint32_t volatile*)(0x3C7000F0)))
|
| 82 | | -#define TGCNT (*((uint32_t volatile*)(0x3C7000F4)))
|
| 83 | | -#define THCON (*((uint32_t volatile*)(0x3C700100)))
|
| 84 | | -#define THCMD (*((uint32_t volatile*)(0x3C700104)))
|
| 85 | | -#define THDATA0 (*((uint32_t volatile*)(0x3C700108)))
|
| 86 | | -#define THDATA1 (*((uint32_t volatile*)(0x3C70010C)))
|
| 87 | | -#define THPRE (*((uint32_t volatile*)(0x3C700110)))
|
| 88 | | -#define THCNT (*((uint32_t volatile*)(0x3C700114)))
|
| 89 | | -
|
| 90 | | -
|
| 91 | | -/////USB/////
|
| 92 | | -#define OTGBASE 0x38400000
|
| 93 | | -#define PHYBASE 0x3C400000
|
| 94 | | -#define SYNOPSYSOTG_CLOCK 0
|
| 95 | | -#define SYNOPSYSOTG_AHBCFG 0x2B
|
| 96 | | -
|
| 97 | | -
|
| 98 | | -/////I2C/////
|
| 99 | | -#define IICCON(bus) (*((uint32_t volatile*)(0x3C600000 + 0x300000 * (bus))))
|
| 100 | | -#define IICSTAT(bus) (*((uint32_t volatile*)(0x3C600004 + 0x300000 * (bus))))
|
| 101 | | -#define IICADD(bus) (*((uint32_t volatile*)(0x3C600008 + 0x300000 * (bus))))
|
| 102 | | -#define IICDS(bus) (*((uint32_t volatile*)(0x3C60000C + 0x300000 * (bus))))
|
| 103 | | -#define IIC10(bus) (*((uint32_t volatile*)(0x3C600010 + 0x300000 * (bus))))
|
| 104 | | -
|
| 105 | | -
|
| 106 | | -/////INTERRUPT CONTROLLERS/////
|
| 107 | | -#define VICIRQSTATUS(v) (*((uint32_t volatile*)(0x38E00000 + 0x1000 * (v))))
|
| 108 | | -#define VICFIQSTATUS(v) (*((uint32_t volatile*)(0x38E00004 + 0x1000 * (v))))
|
| 109 | | -#define VICRAWINTR(v) (*((uint32_t volatile*)(0x38E00008 + 0x1000 * (v))))
|
| 110 | | -#define VICINTSELECT(v) (*((uint32_t volatile*)(0x38E0000C + 0x1000 * (v))))
|
| 111 | | -#define VICINTENABLE(v) (*((uint32_t volatile*)(0x38E00010 + 0x1000 * (v))))
|
| 112 | | -#define VICINTENCLEAR(v) (*((uint32_t volatile*)(0x38E00014 + 0x1000 * (v))))
|
| 113 | | -#define VICSOFTINT(v) (*((uint32_t volatile*)(0x38E00018 + 0x1000 * (v))))
|
| 114 | | -#define VICSOFTINTCLEAR(v) (*((uint32_t volatile*)(0x38E0001C + 0x1000 * (v))))
|
| 115 | | -#define VICPROTECTION(v) (*((uint32_t volatile*)(0x38E00020 + 0x1000 * (v))))
|
| 116 | | -#define VICSWPRIORITYMASK(v) (*((uint32_t volatile*)(0x38E00024 + 0x1000 * (v))))
|
| 117 | | -#define VICPRIORITYDAISY(v) (*((uint32_t volatile*)(0x38E00028 + 0x1000 * (v))))
|
| 118 | | -#define VICVECTADDR(v, i) (*((uint32_t volatile*)(0x38E00100 + 0x1000 * (v) + 4 * (i))))
|
| 119 | | -#define VICVECTPRIORITY(v, i) (*((uint32_t volatile*)(0x38E00200 + 0x1000 * (v) + 4 * (i))))
|
| 120 | | -#define VICADDRESS(v) (*((const void* volatile*)(0x38E00F00 + 0x1000 * (v))))
|
| 121 | | -#define VIC0IRQSTATUS (*((uint32_t volatile*)(0x38E00000)))
|
| 122 | | -#define VIC0FIQSTATUS (*((uint32_t volatile*)(0x38E00004)))
|
| 123 | | -#define VIC0RAWINTR (*((uint32_t volatile*)(0x38E00008)))
|
| 124 | | -#define VIC0INTSELECT (*((uint32_t volatile*)(0x38E0000C)))
|
| 125 | | -#define VIC0INTENABLE (*((uint32_t volatile*)(0x38E00010)))
|
| 126 | | -#define VIC0INTENCLEAR (*((uint32_t volatile*)(0x38E00014)))
|
| 127 | | -#define VIC0SOFTINT (*((uint32_t volatile*)(0x38E00018)))
|
| 128 | | -#define VIC0SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0001C)))
|
| 129 | | -#define VIC0PROTECTION (*((uint32_t volatile*)(0x38E00020)))
|
| 130 | | -#define VIC0SWPRIORITYMASK (*((uint32_t volatile*)(0x38E00024)))
|
| 131 | | -#define VIC0PRIORITYDAISY (*((uint32_t volatile*)(0x38E00028)))
|
| 132 | | -#define VIC0VECTADDR(i) (*((const void* volatile*)(0x38E00100 + 4 * (i))))
|
| 133 | | -#define VIC0VECTADDR0 (*((const void* volatile*)(0x38E00100)))
|
| 134 | | -#define VIC0VECTADDR1 (*((const void* volatile*)(0x38E00104)))
|
| 135 | | -#define VIC0VECTADDR2 (*((const void* volatile*)(0x38E00108)))
|
| 136 | | -#define VIC0VECTADDR3 (*((const void* volatile*)(0x38E0010C)))
|
| 137 | | -#define VIC0VECTADDR4 (*((const void* volatile*)(0x38E00110)))
|
| 138 | | -#define VIC0VECTADDR5 (*((const void* volatile*)(0x38E00114)))
|
| 139 | | -#define VIC0VECTADDR6 (*((const void* volatile*)(0x38E00118)))
|
| 140 | | -#define VIC0VECTADDR7 (*((const void* volatile*)(0x38E0011C)))
|
| 141 | | -#define VIC0VECTADDR8 (*((const void* volatile*)(0x38E00120)))
|
| 142 | | -#define VIC0VECTADDR9 (*((const void* volatile*)(0x38E00124)))
|
| 143 | | -#define VIC0VECTADDR10 (*((const void* volatile*)(0x38E00128)))
|
| 144 | | -#define VIC0VECTADDR11 (*((const void* volatile*)(0x38E0012C)))
|
| 145 | | -#define VIC0VECTADDR12 (*((const void* volatile*)(0x38E00130)))
|
| 146 | | -#define VIC0VECTADDR13 (*((const void* volatile*)(0x38E00134)))
|
| 147 | | -#define VIC0VECTADDR14 (*((const void* volatile*)(0x38E00138)))
|
| 148 | | -#define VIC0VECTADDR15 (*((const void* volatile*)(0x38E0013C)))
|
| 149 | | -#define VIC0VECTADDR16 (*((const void* volatile*)(0x38E00140)))
|
| 150 | | -#define VIC0VECTADDR17 (*((const void* volatile*)(0x38E00144)))
|
| 151 | | -#define VIC0VECTADDR18 (*((const void* volatile*)(0x38E00148)))
|
| 152 | | -#define VIC0VECTADDR19 (*((const void* volatile*)(0x38E0014C)))
|
| 153 | | -#define VIC0VECTADDR20 (*((const void* volatile*)(0x38E00150)))
|
| 154 | | -#define VIC0VECTADDR21 (*((const void* volatile*)(0x38E00154)))
|
| 155 | | -#define VIC0VECTADDR22 (*((const void* volatile*)(0x38E00158)))
|
| 156 | | -#define VIC0VECTADDR23 (*((const void* volatile*)(0x38E0015C)))
|
| 157 | | -#define VIC0VECTADDR24 (*((const void* volatile*)(0x38E00160)))
|
| 158 | | -#define VIC0VECTADDR25 (*((const void* volatile*)(0x38E00164)))
|
| 159 | | -#define VIC0VECTADDR26 (*((const void* volatile*)(0x38E00168)))
|
| 160 | | -#define VIC0VECTADDR27 (*((const void* volatile*)(0x38E0016C)))
|
| 161 | | -#define VIC0VECTADDR28 (*((const void* volatile*)(0x38E00170)))
|
| 162 | | -#define VIC0VECTADDR29 (*((const void* volatile*)(0x38E00174)))
|
| 163 | | -#define VIC0VECTADDR30 (*((const void* volatile*)(0x38E00178)))
|
| 164 | | -#define VIC0VECTADDR31 (*((const void* volatile*)(0x38E0017C)))
|
| 165 | | -#define VIC0VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E00200 + 4 * (i))))
|
| 166 | | -#define VIC0VECTPRIORITY0 (*((uint32_t volatile*)(0x38E00200)))
|
| 167 | | -#define VIC0VECTPRIORITY1 (*((uint32_t volatile*)(0x38E00204)))
|
| 168 | | -#define VIC0VECTPRIORITY2 (*((uint32_t volatile*)(0x38E00208)))
|
| 169 | | -#define VIC0VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0020C)))
|
| 170 | | -#define VIC0VECTPRIORITY4 (*((uint32_t volatile*)(0x38E00210)))
|
| 171 | | -#define VIC0VECTPRIORITY5 (*((uint32_t volatile*)(0x38E00214)))
|
| 172 | | -#define VIC0VECTPRIORITY6 (*((uint32_t volatile*)(0x38E00218)))
|
| 173 | | -#define VIC0VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0021C)))
|
| 174 | | -#define VIC0VECTPRIORITY8 (*((uint32_t volatile*)(0x38E00220)))
|
| 175 | | -#define VIC0VECTPRIORITY9 (*((uint32_t volatile*)(0x38E00224)))
|
| 176 | | -#define VIC0VECTPRIORITY10 (*((uint32_t volatile*)(0x38E00228)))
|
| 177 | | -#define VIC0VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0022C)))
|
| 178 | | -#define VIC0VECTPRIORITY12 (*((uint32_t volatile*)(0x38E00230)))
|
| 179 | | -#define VIC0VECTPRIORITY13 (*((uint32_t volatile*)(0x38E00234)))
|
| 180 | | -#define VIC0VECTPRIORITY14 (*((uint32_t volatile*)(0x38E00238)))
|
| 181 | | -#define VIC0VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0023C)))
|
| 182 | | -#define VIC0VECTPRIORITY16 (*((uint32_t volatile*)(0x38E00240)))
|
| 183 | | -#define VIC0VECTPRIORITY17 (*((uint32_t volatile*)(0x38E00244)))
|
| 184 | | -#define VIC0VECTPRIORITY18 (*((uint32_t volatile*)(0x38E00248)))
|
| 185 | | -#define VIC0VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0024C)))
|
| 186 | | -#define VIC0VECTPRIORITY20 (*((uint32_t volatile*)(0x38E00250)))
|
| 187 | | -#define VIC0VECTPRIORITY21 (*((uint32_t volatile*)(0x38E00254)))
|
| 188 | | -#define VIC0VECTPRIORITY22 (*((uint32_t volatile*)(0x38E00258)))
|
| 189 | | -#define VIC0VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0025C)))
|
| 190 | | -#define VIC0VECTPRIORITY24 (*((uint32_t volatile*)(0x38E00260)))
|
| 191 | | -#define VIC0VECTPRIORITY25 (*((uint32_t volatile*)(0x38E00264)))
|
| 192 | | -#define VIC0VECTPRIORITY26 (*((uint32_t volatile*)(0x38E00268)))
|
| 193 | | -#define VIC0VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0026C)))
|
| 194 | | -#define VIC0VECTPRIORITY28 (*((uint32_t volatile*)(0x38E00270)))
|
| 195 | | -#define VIC0VECTPRIORITY29 (*((uint32_t volatile*)(0x38E00274)))
|
| 196 | | -#define VIC0VECTPRIORITY30 (*((uint32_t volatile*)(0x38E00278)))
|
| 197 | | -#define VIC0VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0027C)))
|
| 198 | | -#define VIC0ADDRESS (*((void* volatile*)(0x38E00F00)))
|
| 199 | | -#define VIC1IRQSTATUS (*((uint32_t volatile*)(0x38E01000)))
|
| 200 | | -#define VIC1FIQSTATUS (*((uint32_t volatile*)(0x38E01004)))
|
| 201 | | -#define VIC1RAWINTR (*((uint32_t volatile*)(0x38E01008)))
|
| 202 | | -#define VIC1INTSELECT (*((uint32_t volatile*)(0x38E0100C)))
|
| 203 | | -#define VIC1INTENABLE (*((uint32_t volatile*)(0x38E01010)))
|
| 204 | | -#define VIC1INTENCLEAR (*((uint32_t volatile*)(0x38E01014)))
|
| 205 | | -#define VIC1SOFTINT (*((uint32_t volatile*)(0x38E01018)))
|
| 206 | | -#define VIC1SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0101C)))
|
| 207 | | -#define VIC1PROTECTION (*((uint32_t volatile*)(0x38E01020)))
|
| 208 | | -#define VIC1SWPRIORITYMASK (*((uint32_t volatile*)(0x38E01024)))
|
| 209 | | -#define VIC1PRIORITYDAISY (*((uint32_t volatile*)(0x38E01028)))
|
| 210 | | -#define VIC1VECTADDR(i) (*((const void* volatile*)(0x38E01100 + 4 * (i))))
|
| 211 | | -#define VIC1VECTADDR0 (*((const void* volatile*)(0x38E01100)))
|
| 212 | | -#define VIC1VECTADDR1 (*((const void* volatile*)(0x38E01104)))
|
| 213 | | -#define VIC1VECTADDR2 (*((const void* volatile*)(0x38E01108)))
|
| 214 | | -#define VIC1VECTADDR3 (*((const void* volatile*)(0x38E0110C)))
|
| 215 | | -#define VIC1VECTADDR4 (*((const void* volatile*)(0x38E01110)))
|
| 216 | | -#define VIC1VECTADDR5 (*((const void* volatile*)(0x38E01114)))
|
| 217 | | -#define VIC1VECTADDR6 (*((const void* volatile*)(0x38E01118)))
|
| 218 | | -#define VIC1VECTADDR7 (*((const void* volatile*)(0x38E0111C)))
|
| 219 | | -#define VIC1VECTADDR8 (*((const void* volatile*)(0x38E01120)))
|
| 220 | | -#define VIC1VECTADDR9 (*((const void* volatile*)(0x38E01124)))
|
| 221 | | -#define VIC1VECTADDR10 (*((const void* volatile*)(0x38E01128)))
|
| 222 | | -#define VIC1VECTADDR11 (*((const void* volatile*)(0x38E0112C)))
|
| 223 | | -#define VIC1VECTADDR12 (*((const void* volatile*)(0x38E01130)))
|
| 224 | | -#define VIC1VECTADDR13 (*((const void* volatile*)(0x38E01134)))
|
| 225 | | -#define VIC1VECTADDR14 (*((const void* volatile*)(0x38E01138)))
|
| 226 | | -#define VIC1VECTADDR15 (*((const void* volatile*)(0x38E0113C)))
|
| 227 | | -#define VIC1VECTADDR16 (*((const void* volatile*)(0x38E01140)))
|
| 228 | | -#define VIC1VECTADDR17 (*((const void* volatile*)(0x38E01144)))
|
| 229 | | -#define VIC1VECTADDR18 (*((const void* volatile*)(0x38E01148)))
|
| 230 | | -#define VIC1VECTADDR19 (*((const void* volatile*)(0x38E0114C)))
|
| 231 | | -#define VIC1VECTADDR20 (*((const void* volatile*)(0x38E01150)))
|
| 232 | | -#define VIC1VECTADDR21 (*((const void* volatile*)(0x38E01154)))
|
| 233 | | -#define VIC1VECTADDR22 (*((const void* volatile*)(0x38E01158)))
|
| 234 | | -#define VIC1VECTADDR23 (*((const void* volatile*)(0x38E0115C)))
|
| 235 | | -#define VIC1VECTADDR24 (*((const void* volatile*)(0x38E01160)))
|
| 236 | | -#define VIC1VECTADDR25 (*((const void* volatile*)(0x38E01164)))
|
| 237 | | -#define VIC1VECTADDR26 (*((const void* volatile*)(0x38E01168)))
|
| 238 | | -#define VIC1VECTADDR27 (*((const void* volatile*)(0x38E0116C)))
|
| 239 | | -#define VIC1VECTADDR28 (*((const void* volatile*)(0x38E01170)))
|
| 240 | | -#define VIC1VECTADDR29 (*((const void* volatile*)(0x38E01174)))
|
| 241 | | -#define VIC1VECTADDR30 (*((const void* volatile*)(0x38E01178)))
|
| 242 | | -#define VIC1VECTADDR31 (*((const void* volatile*)(0x38E0117C)))
|
| 243 | | -#define VIC1VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E01200 + 4 * (i))))
|
| 244 | | -#define VIC1VECTPRIORITY0 (*((uint32_t volatile*)(0x38E01200)))
|
| 245 | | -#define VIC1VECTPRIORITY1 (*((uint32_t volatile*)(0x38E01204)))
|
| 246 | | -#define VIC1VECTPRIORITY2 (*((uint32_t volatile*)(0x38E01208)))
|
| 247 | | -#define VIC1VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0120C)))
|
| 248 | | -#define VIC1VECTPRIORITY4 (*((uint32_t volatile*)(0x38E01210)))
|
| 249 | | -#define VIC1VECTPRIORITY5 (*((uint32_t volatile*)(0x38E01214)))
|
| 250 | | -#define VIC1VECTPRIORITY6 (*((uint32_t volatile*)(0x38E01218)))
|
| 251 | | -#define VIC1VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0121C)))
|
| 252 | | -#define VIC1VECTPRIORITY8 (*((uint32_t volatile*)(0x38E01220)))
|
| 253 | | -#define VIC1VECTPRIORITY9 (*((uint32_t volatile*)(0x38E01224)))
|
| 254 | | -#define VIC1VECTPRIORITY10 (*((uint32_t volatile*)(0x38E01228)))
|
| 255 | | -#define VIC1VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0122C)))
|
| 256 | | -#define VIC1VECTPRIORITY12 (*((uint32_t volatile*)(0x38E01230)))
|
| 257 | | -#define VIC1VECTPRIORITY13 (*((uint32_t volatile*)(0x38E01234)))
|
| 258 | | -#define VIC1VECTPRIORITY14 (*((uint32_t volatile*)(0x38E01238)))
|
| 259 | | -#define VIC1VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0123C)))
|
| 260 | | -#define VIC1VECTPRIORITY16 (*((uint32_t volatile*)(0x38E01240)))
|
| 261 | | -#define VIC1VECTPRIORITY17 (*((uint32_t volatile*)(0x38E01244)))
|
| 262 | | -#define VIC1VECTPRIORITY18 (*((uint32_t volatile*)(0x38E01248)))
|
| 263 | | -#define VIC1VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0124C)))
|
| 264 | | -#define VIC1VECTPRIORITY20 (*((uint32_t volatile*)(0x38E01250)))
|
| 265 | | -#define VIC1VECTPRIORITY21 (*((uint32_t volatile*)(0x38E01254)))
|
| 266 | | -#define VIC1VECTPRIORITY22 (*((uint32_t volatile*)(0x38E01258)))
|
| 267 | | -#define VIC1VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0125C)))
|
| 268 | | -#define VIC1VECTPRIORITY24 (*((uint32_t volatile*)(0x38E01260)))
|
| 269 | | -#define VIC1VECTPRIORITY25 (*((uint32_t volatile*)(0x38E01264)))
|
| 270 | | -#define VIC1VECTPRIORITY26 (*((uint32_t volatile*)(0x38E01268)))
|
| 271 | | -#define VIC1VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0126C)))
|
| 272 | | -#define VIC1VECTPRIORITY28 (*((uint32_t volatile*)(0x38E01270)))
|
| 273 | | -#define VIC1VECTPRIORITY29 (*((uint32_t volatile*)(0x38E01274)))
|
| 274 | | -#define VIC1VECTPRIORITY30 (*((uint32_t volatile*)(0x38E01278)))
|
| 275 | | -#define VIC1VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0127C)))
|
| 276 | | -#define VIC1ADDRESS (*((void* volatile*)(0x38E01F00)))
|
| 277 | | -
|
| 278 | | -
|
| 279 | | -/////GPIO/////
|
| 280 | | -#define PCON(i) (*((uint32_t volatile*)(0x3cf00000 + ((i) << 5))))
|
| 281 | | -#define PDAT(i) (*((uint32_t volatile*)(0x3cf00004 + ((i) << 5))))
|
| 282 | | -#define PUNA(i) (*((uint32_t volatile*)(0x3cf00008 + ((i) << 5))))
|
| 283 | | -#define PUNB(i) (*((uint32_t volatile*)(0x3cf0000c + ((i) << 5))))
|
| 284 | | -#define PCON0 (*((uint32_t volatile*)(0x3cf00000)))
|
| 285 | | -#define PDAT0 (*((uint32_t volatile*)(0x3cf00004)))
|
| 286 | | -#define PCON1 (*((uint32_t volatile*)(0x3cf00020)))
|
| 287 | | -#define PDAT1 (*((uint32_t volatile*)(0x3cf00024)))
|
| 288 | | -#define PCON2 (*((uint32_t volatile*)(0x3cf00040)))
|
| 289 | | -#define PDAT2 (*((uint32_t volatile*)(0x3cf00044)))
|
| 290 | | -#define PCON3 (*((uint32_t volatile*)(0x3cf00060)))
|
| 291 | | -#define PDAT3 (*((uint32_t volatile*)(0x3cf00064)))
|
| 292 | | -#define PCON4 (*((uint32_t volatile*)(0x3cf00080)))
|
| 293 | | -#define PDAT4 (*((uint32_t volatile*)(0x3cf00084)))
|
| 294 | | -#define PCON5 (*((uint32_t volatile*)(0x3cf000a0)))
|
| 295 | | -#define PDAT5 (*((uint32_t volatile*)(0x3cf000a4)))
|
| 296 | | -#define PCON6 (*((uint32_t volatile*)(0x3cf000c0)))
|
| 297 | | -#define PDAT6 (*((uint32_t volatile*)(0x3cf000c4)))
|
| 298 | | -#define PCON7 (*((uint32_t volatile*)(0x3cf000e0)))
|
| 299 | | -#define PDAT7 (*((uint32_t volatile*)(0x3cf000e4)))
|
| 300 | | -#define PCON8 (*((uint32_t volatile*)(0x3cf00100)))
|
| 301 | | -#define PDAT8 (*((uint32_t volatile*)(0x3cf00104)))
|
| 302 | | -#define PCON9 (*((uint32_t volatile*)(0x3cf00120)))
|
| 303 | | -#define PDAT9 (*((uint32_t volatile*)(0x3cf00124)))
|
| 304 | | -#define PCONA (*((uint32_t volatile*)(0x3cf00140)))
|
| 305 | | -#define PDATA (*((uint32_t volatile*)(0x3cf00144)))
|
| 306 | | -#define PCONB (*((uint32_t volatile*)(0x3cf00160)))
|
| 307 | | -#define PDATB (*((uint32_t volatile*)(0x3cf00164)))
|
| 308 | | -#define PCONC (*((uint32_t volatile*)(0x3cf00180)))
|
| 309 | | -#define PDATC (*((uint32_t volatile*)(0x3cf00184)))
|
| 310 | | -#define PCOND (*((uint32_t volatile*)(0x3cf001a0)))
|
| 311 | | -#define PDATD (*((uint32_t volatile*)(0x3cf001a4)))
|
| 312 | | -#define PCONE (*((uint32_t volatile*)(0x3cf001c0)))
|
| 313 | | -#define PDATE (*((uint32_t volatile*)(0x3cf001c4)))
|
| 314 | | -#define PCONF (*((uint32_t volatile*)(0x3cf001e0)))
|
| 315 | | -#define PDATF (*((uint32_t volatile*)(0x3cf001e4)))
|
| 316 | | -#define GPIOCMD (*((uint32_t volatile*)(0x3cf00200)))
|
| 317 | | -
|
| 318 | | -
|
| 319 | | -/////SPI/////
|
| 320 | | -#define SPIBASE(i) ((i) == 2 ? 0x3d200000 : \
|
| 321 | | - (i) == 1 ? 0x3ce00000 : \
|
| 322 | | - 0x3c300000)
|
| 323 | | -#define SPICLKGATE(i) ((i) == 2 ? 0x2f : \
|
| 324 | | - (i) == 1 ? 0x2b : \
|
| 325 | | - 0x22)
|
| 326 | | -#define SPIDMA(i) ((i) == 2 ? 0xd : \
|
| 327 | | - (i) == 1 ? 0xf : \
|
| 328 | | - 0x5)
|
| 329 | | -#define SPICTRL(i) (*((uint32_t volatile*)(SPIBASE(i))))
|
| 330 | | -#define SPISETUP(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x4)))
|
| 331 | | -#define SPISTATUS(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x8)))
|
| 332 | | -#define SPIUNKREG1(i) (*((uint32_t volatile*)(SPIBASE(i) + 0xc)))
|
| 333 | | -#define SPITXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x10)))
|
| 334 | | -#define SPIRXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x20)))
|
| 335 | | -#define SPICLKDIV(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x30)))
|
| 336 | | -#define SPIRXLIMIT(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x34)))
|
| 337 | | -#define SPIUNKREG3(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x38)))
|
| 338 | | -
|
| 339 | | -
|
| 340 | | -/////AES/////
|
| 341 | | -#define AESCONTROL (*((uint32_t volatile*)(0x38c00000)))
|
| 342 | | -#define AESGO (*((uint32_t volatile*)(0x38c00004)))
|
| 343 | | -#define AESUNKREG0 (*((uint32_t volatile*)(0x38c00008)))
|
| 344 | | -#define AESSTATUS (*((uint32_t volatile*)(0x38c0000c)))
|
| 345 | | -#define AESUNKREG1 (*((uint32_t volatile*)(0x38c00010)))
|
| 346 | | -#define AESKEYLEN (*((uint32_t volatile*)(0x38c00014)))
|
| 347 | | -#define AESOUTSIZE (*((uint32_t volatile*)(0x38c00018)))
|
| 348 | | -#define AESOUTADDR (*((void* volatile*)(0x38c00020)))
|
| 349 | | -#define AESINSIZE (*((uint32_t volatile*)(0x38c00024)))
|
| 350 | | -#define AESINADDR (*((const void* volatile*)(0x38c00028)))
|
| 351 | | -#define AESAUXSIZE (*((uint32_t volatile*)(0x38c0002c)))
|
| 352 | | -#define AESAUXADDR (*((void* volatile*)(0x38c00030)))
|
| 353 | | -#define AESSIZE3 (*((uint32_t volatile*)(0x38c00034)))
|
| 354 | | -#define AESKEY ((uint32_t volatile*)(0x38c0004c))
|
| 355 | | -#define AESTYPE (*((uint32_t volatile*)(0x38c0006c)))
|
| 356 | | -#define AESIV ((uint32_t volatile*)(0x38c00074))
|
| 357 | | -#define AESTYPE2 (*((uint32_t volatile*)(0x38c00088)))
|
| 358 | | -#define AESUNKREG2 (*((uint32_t volatile*)(0x38c0008c)))
|
| 359 | | -
|
| 360 | | -
|
| 361 | | -/////SHA1/////
|
| 362 | | -#define SHA1CONFIG (*((uint32_t volatile*)(0x38000000)))
|
| 363 | | -#define SHA1RESET (*((uint32_t volatile*)(0x38000004)))
|
| 364 | | -#define SHA1RESULT ((uint32_t volatile*)(0x38000020))
|
| 365 | | -#define SHA1DATAIN ((uint32_t volatile*)(0x38000040))
|
| 366 | | -
|
| 367 | | -
|
| 368 | | -/////DMA/////
|
| 369 | | -struct dma_lli
|
| 370 | | -{
|
| 371 | | - void* srcaddr;
|
| 372 | | - void* dstaddr;
|
| 373 | | - const struct dma_lli* nextlli;
|
| 374 | | - uint32_t control;
|
| 375 | | -};
|
| 376 | | -#define DMACINTSTS(d) (*((uint32_t volatile*)(0x38200000 + 0x1700000 * (d))))
|
| 377 | | -#define DMACINTTCSTS(d) (*((uint32_t volatile*)(0x38200004 + 0x1700000 * (d))))
|
| 378 | | -#define DMACINTTCCLR(d) (*((uint32_t volatile*)(0x38200008 + 0x1700000 * (d))))
|
| 379 | | -#define DMACINTERRSTS(d) (*((uint32_t volatile*)(0x3820000c + 0x1700000 * (d))))
|
| 380 | | -#define DMACINTERRCLR(d) (*((uint32_t volatile*)(0x38200010 + 0x1700000 * (d))))
|
| 381 | | -#define DMACRAWINTTCSTS(d) (*((uint32_t volatile*)(0x38200014 + 0x1700000 * (d))))
|
| 382 | | -#define DMACRAWINTERRSTS(d) (*((uint32_t volatile*)(0x38200018 + 0x1700000 * (d))))
|
| 383 | | -#define DMACENABLEDCHANS(d) (*((uint32_t volatile*)(0x3820001c + 0x1700000 * (d))))
|
| 384 | | -#define DMACSOFTBREQ(d) (*((uint32_t volatile*)(0x38200020 + 0x1700000 * (d))))
|
| 385 | | -#define DMACSOFTSREQ(d) (*((uint32_t volatile*)(0x38200024 + 0x1700000 * (d))))
|
| 386 | | -#define DMACSOFTLBREQ(d) (*((uint32_t volatile*)(0x38200028 + 0x1700000 * (d))))
|
| 387 | | -#define DMACSOFTLSREQ(d) (*((uint32_t volatile*)(0x3820002c + 0x1700000 * (d))))
|
| 388 | | -#define DMACCONFIG(d) (*((uint32_t volatile*)(0x38200030 + 0x1700000 * (d))))
|
| 389 | | -#define DMACSYNC(d) (*((uint32_t volatile*)(0x38200034 + 0x1700000 * (d))))
|
| 390 | | -#define DMACCLLI(d, c) (*((struct dma_lli volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c))))
|
| 391 | | -#define DMACCSRCADDR(d, c) (*((const void* volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c))))
|
| 392 | | -#define DMACCDESTADDR(d, c) (*((void* volatile*)(0x38200104 + 0x1700000 * (d) + 0x20 * (c))))
|
| 393 | | -#define DMACCNEXTLLI(d, c) (*((const void* volatile*)(0x38200108 + 0x1700000 * (d) + 0x20 * (c))))
|
| 394 | | -#define DMACCCONTROL(d, c) (*((uint32_t volatile*)(0x3820010c + 0x1700000 * (d) + 0x20 * (c))))
|
| 395 | | -#define DMACCCONFIG(d, c) (*((uint32_t volatile*)(0x38200110 + 0x1700000 * (d) + 0x20 * (c))))
|
| 396 | | -#define DMAC0INTSTS (*((uint32_t volatile*)(0x38200000)))
|
| 397 | | -#define DMAC0INTTCSTS (*((uint32_t volatile*)(0x38200004)))
|
| 398 | | -#define DMAC0INTTCCLR (*((uint32_t volatile*)(0x38200008)))
|
| 399 | | -#define DMAC0INTERRSTS (*((uint32_t volatile*)(0x3820000c)))
|
| 400 | | -#define DMAC0INTERRCLR (*((uint32_t volatile*)(0x38200010)))
|
| 401 | | -#define DMAC0RAWINTTCSTS (*((uint32_t volatile*)(0x38200014)))
|
| 402 | | -#define DMAC0RAWINTERRSTS (*((uint32_t volatile*)(0x38200018)))
|
| 403 | | -#define DMAC0ENABLEDCHANS (*((uint32_t volatile*)(0x3820001c)))
|
| 404 | | -#define DMAC0SOFTBREQ (*((uint32_t volatile*)(0x38200020)))
|
| 405 | | -#define DMAC0SOFTSREQ (*((uint32_t volatile*)(0x38200024)))
|
| 406 | | -#define DMAC0SOFTLBREQ (*((uint32_t volatile*)(0x38200028)))
|
| 407 | | -#define DMAC0SOFTLSREQ (*((uint32_t volatile*)(0x3820002c)))
|
| 408 | | -#define DMAC0CONFIG (*((uint32_t volatile*)(0x38200030)))
|
| 409 | | -#define DMAC0SYNC (*((uint32_t volatile*)(0x38200034)))
|
| 410 | | -#define DMAC0CLLI(c) (*((struct dma_lli volatile*)(0x38200100 + 0x20 * (c))))
|
| 411 | | -#define DMAC0CSRCADDR(c) (*((const void* volatile*)(0x38200100 + 0x20 * (c))))
|
| 412 | | -#define DMAC0CDESTADDR(c) (*((void* volatile*)(0x38200104 + 0x20 * (c))))
|
| 413 | | -#define DMAC0CNEXTLLI(c) (*((const void* volatile*)(0x38200108 + 0x20 * (c))))
|
| 414 | | -#define DMAC0CCONTROL(c) (*((uint32_t volatile*)(0x3820010c + 0x20 * (c))))
|
| 415 | | -#define DMAC0CCONFIG(c) (*((uint32_t volatile*)(0x38200110 + 0x20 * (c))))
|
| 416 | | -#define DMAC0C0LLI (*((struct dma_lli volatile*)(0x38200100)))
|
| 417 | | -#define DMAC0C0SRCADDR (*((const void* volatile*)(0x38200100)))
|
| 418 | | -#define DMAC0C0DESTADDR (*((void* volatile*)(0x38200104)))
|
| 419 | | -#define DMAC0C0NEXTLLI (*((const struct dma_lli* volatile*)(0x38200108)))
|
| 420 | | -#define DMAC0C0CONTROL (*((uint32_t volatile*)(0x3820010c)))
|
| 421 | | -#define DMAC0C0CONFIG (*((uint32_t volatile*)(0x38200110)))
|
| 422 | | -#define DMAC0C1LLI (*((struct dma_lli volatile*)(0x38200120)))
|
| 423 | | -#define DMAC0C1SRCADDR (*((const void* volatile*)(0x38200120)))
|
| 424 | | -#define DMAC0C1DESTADDR (*((void* volatile*)(0x38200124)))
|
| 425 | | -#define DMAC0C1NEXTLLI (*((const struct dma_lli* volatile*)(0x38200128)))
|
| 426 | | -#define DMAC0C1CONTROL (*((uint32_t volatile*)(0x3820012c)))
|
| 427 | | -#define DMAC0C1CONFIG (*((uint32_t volatile*)(0x38200130)))
|
| 428 | | -#define DMAC0C2LLI (*((struct dma_lli volatile*)(0x38200140)))
|
| 429 | | -#define DMAC0C2SRCADDR (*((const void* volatile*)(0x38200140)))
|
| 430 | | -#define DMAC0C2DESTADDR (*((void* volatile*)(0x38200144)))
|
| 431 | | -#define DMAC0C2NEXTLLI (*((const struct dma_lli* volatile*)(0x38200148)))
|
| 432 | | -#define DMAC0C2CONTROL (*((uint32_t volatile*)(0x3820014c)))
|
| 433 | | -#define DMAC0C2CONFIG (*((uint32_t volatile*)(0x38200150)))
|
| 434 | | -#define DMAC0C3LLI (*((struct dma_lli volatile*)(0x38200160)))
|
| 435 | | -#define DMAC0C3SRCADDR (*((const void* volatile*)(0x38200160)))
|
| 436 | | -#define DMAC0C3DESTADDR (*((void* volatile*)(0x38200164)))
|
| 437 | | -#define DMAC0C3NEXTLLI (*((const struct dma_lli* volatile*)(0x38200168)))
|
| 438 | | -#define DMAC0C3CONTROL (*((uint32_t volatile*)(0x3820016c)))
|
| 439 | | -#define DMAC0C3CONFIG (*((uint32_t volatile*)(0x38200170)))
|
| 440 | | -#define DMAC0C4LLI (*((struct dma_lli volatile*)(0x38200180)))
|
| 441 | | -#define DMAC0C4SRCADDR (*((const void* volatile*)(0x38200180)))
|
| 442 | | -#define DMAC0C4DESTADDR (*((void* volatile*)(0x38200184)))
|
| 443 | | -#define DMAC0C4NEXTLLI (*((const struct dma_lli* volatile*)(0x38200188)))
|
| 444 | | -#define DMAC0C4CONTROL (*((uint32_t volatile*)(0x3820018c)))
|
| 445 | | -#define DMAC0C4CONFIG (*((uint32_t volatile*)(0x38200190)))
|
| 446 | | -#define DMAC0C5LLI (*((struct dma_lli volatile*)(0x382001a0)))
|
| 447 | | -#define DMAC0C5SRCADDR (*((const void* volatile*)(0x382001a0)))
|
| 448 | | -#define DMAC0C5DESTADDR (*((void* volatile*)(0x382001a4)))
|
| 449 | | -#define DMAC0C5NEXTLLI (*((const struct dma_lli* volatile*)(0x382001a8)))
|
| 450 | | -#define DMAC0C5CONTROL (*((uint32_t volatile*)(0x382001ac)))
|
| 451 | | -#define DMAC0C5CONFIG (*((uint32_t volatile*)(0x382001b0)))
|
| 452 | | -#define DMAC0C6LLI (*((struct dma_lli volatile*)(0x382001c0)))
|
| 453 | | -#define DMAC0C6SRCADDR (*((const void* volatile*)(0x382001c0)))
|
| 454 | | -#define DMAC0C6DESTADDR (*((void* volatile*)(0x382001c4)))
|
| 455 | | -#define DMAC0C6NEXTLLI (*((const struct dma_lli* volatile*)(0x382001c8)))
|
| 456 | | -#define DMAC0C6CONTROL (*((uint32_t volatile*)(0x382001cc)))
|
| 457 | | -#define DMAC0C6CONFIG (*((uint32_t volatile*)(0x382001d0)))
|
| 458 | | -#define DMAC0C7LLI (*((struct dma_lli volatile*)(0x382001e0)))
|
| 459 | | -#define DMAC0C7SRCADDR (*((const void* volatile*)(0x382001e0)))
|
| 460 | | -#define DMAC0C7DESTADDR (*((void* volatile*)(0x382001e4)))
|
| 461 | | -#define DMAC0C7NEXTLLI (*((const struct dma_lli* volatile*)(0x382001e8)))
|
| 462 | | -#define DMAC0C7CONTROL (*((uint32_t volatile*)(0x382001ec)))
|
| 463 | | -#define DMAC0C7CONFIG (*((uint32_t volatile*)(0x382001f0)))
|
| 464 | | -#define DMAC1INTSTS (*((uint32_t volatile*)(0x39900000)))
|
| 465 | | -#define DMAC1INTTCSTS (*((uint32_t volatile*)(0x39900004)))
|
| 466 | | -#define DMAC1INTTCCLR (*((uint32_t volatile*)(0x39900008)))
|
| 467 | | -#define DMAC1INTERRSTS (*((uint32_t volatile*)(0x3990000c)))
|
| 468 | | -#define DMAC1INTERRCLR (*((uint32_t volatile*)(0x39900010)))
|
| 469 | | -#define DMAC1RAWINTTCSTS (*((uint32_t volatile*)(0x39900014)))
|
| 470 | | -#define DMAC1RAWINTERRSTS (*((uint32_t volatile*)(0x39900018)))
|
| 471 | | -#define DMAC1ENABLEDCHANS (*((uint32_t volatile*)(0x3990001c)))
|
| 472 | | -#define DMAC1SOFTBREQ (*((uint32_t volatile*)(0x39900020)))
|
| 473 | | -#define DMAC1SOFTSREQ (*((uint32_t volatile*)(0x39900024)))
|
| 474 | | -#define DMAC1SOFTLBREQ (*((uint32_t volatile*)(0x39900028)))
|
| 475 | | -#define DMAC1SOFTLSREQ (*((uint32_t volatile*)(0x3990002c)))
|
| 476 | | -#define DMAC1CONFIG (*((uint32_t volatile*)(0x39900030)))
|
| 477 | | -#define DMAC1SYNC (*((uint32_t volatile*)(0x39900034)))
|
| 478 | | -#define DMAC1CLLI(c) (*((struct dma_lli volatile*)(0x39900100 + 0x20 * (c))))
|
| 479 | | -#define DMAC1CSRCADDR(c) (*((const void* volatile*)(0x39900100 + 0x20 * (c))))
|
| 480 | | -#define DMAC1CDESTADDR(c) (*((void* volatile*)(0x39900104 + 0x20 * (c))))
|
| 481 | | -#define DMAC1CNEXTLLI(c) (*((const void* volatile*)(0x39900108 + 0x20 * (c))))
|
| 482 | | -#define DMAC1CCONTROL(c) (*((uint32_t volatile*)(0x3990010c + 0x20 * (c))))
|
| 483 | | -#define DMAC1CCONFIG(c) (*((uint32_t volatile*)(0x39900110 + 0x20 * (c))))
|
| 484 | | -#define DMAC1C0LLI (*((struct dma_lli volatile*)(0x39900100)))
|
| 485 | | -#define DMAC1C0SRCADDR (*((const void* volatile*)(0x39900100)))
|
| 486 | | -#define DMAC1C0DESTADDR (*((void* volatile*)(0x39900104)))
|
| 487 | | -#define DMAC1C0NEXTLLI (*((const struct dma_lli* volatile*)(0x39900108)))
|
| 488 | | -#define DMAC1C0CONTROL (*((uint32_t volatile*)(0x3990010c)))
|
| 489 | | -#define DMAC1C0CONFIG (*((uint32_t volatile*)(0x39900110)))
|
| 490 | | -#define DMAC1C1LLI (*((struct dma_lli volatile*)(0x39900120)))
|
| 491 | | -#define DMAC1C1SRCADDR (*((const void* volatile*)(0x39900120)))
|
| 492 | | -#define DMAC1C1DESTADDR (*((void* volatile*)(0x39900124)))
|
| 493 | | -#define DMAC1C1NEXTLLI (*((const struct dma_lli* volatile*)(0x39900128)))
|
| 494 | | -#define DMAC1C1CONTROL (*((uint32_t volatile*)(0x3990012c)))
|
| 495 | | -#define DMAC1C1CONFIG (*((uint32_t volatile*)(0x39900130)))
|
| 496 | | -#define DMAC1C2LLI (*((struct dma_lli volatile*)(0x39900140)))
|
| 497 | | -#define DMAC1C2SRCADDR (*((const void* volatile*)(0x39900140)))
|
| 498 | | -#define DMAC1C2DESTADDR (*((void* volatile*)(0x39900144)))
|
| 499 | | -#define DMAC1C2NEXTLLI (*((const struct dma_lli* volatile*)(0x39900148)))
|
| 500 | | -#define DMAC1C2CONTROL (*((uint32_t volatile*)(0x3990014c)))
|
| 501 | | -#define DMAC1C2CONFIG (*((uint32_t volatile*)(0x39900150)))
|
| 502 | | -#define DMAC1C3LLI (*((struct dma_lli volatile*)(0x39900160)))
|
| 503 | | -#define DMAC1C3SRCADDR (*((const void* volatile*)(0x39900160)))
|
| 504 | | -#define DMAC1C3DESTADDR (*((void* volatile*)(0x39900164)))
|
| 505 | | -#define DMAC1C3NEXTLLI (*((volatile void**)(0x39900168)))
|
| 506 | | -#define DMAC1C3CONTROL (*((uint32_t volatile*)(0x3990016c)))
|
| 507 | | -#define DMAC1C3CONFIG (*((uint32_t volatile*)(0x39900170)))
|
| 508 | | -#define DMAC1C4LLI (*((struct dma_lli volatile*)(0x39900180)))
|
| 509 | | -#define DMAC1C4SRCADDR (*((const void* volatile*)(0x39900180)))
|
| 510 | | -#define DMAC1C4DESTADDR (*((void* volatile*)(0x39900184)))
|
| 511 | | -#define DMAC1C4NEXTLLI (*((const struct dma_lli* volatile*)(0x39900188)))
|
| 512 | | -#define DMAC1C4CONTROL (*((uint32_t volatile*)(0x3990018c)))
|
| 513 | | -#define DMAC1C4CONFIG (*((uint32_t volatile*)(0x39900190)))
|
| 514 | | -#define DMAC1C5LLI (*((struct dma_lli volatile*)(0x399001a0)))
|
| 515 | | -#define DMAC1C5SRCADDR (*((const void* volatile*)(0x399001a0)))
|
| 516 | | -#define DMAC1C5DESTADDR (*((void* volatile*)(0x399001a4)))
|
| 517 | | -#define DMAC1C5NEXTLLI (*((const struct dma_lli* volatile*)(0x399001a8)))
|
| 518 | | -#define DMAC1C5CONTROL (*((uint32_t volatile*)(0x399001ac)))
|
| 519 | | -#define DMAC1C5CONFIG (*((uint32_t volatile*)(0x399001b0)))
|
| 520 | | -#define DMAC1C6LLI (*((struct dma_lli volatile*)(0x399001c0)))
|
| 521 | | -#define DMAC1C6SRCADDR (*((const void* volatile*)(0x399001c0)))
|
| 522 | | -#define DMAC1C6DESTADDR (*((void* volatile*)(0x399001c4)))
|
| 523 | | -#define DMAC1C6NEXTLLI (*((const struct dma_lli* volatile*)(0x399001c8)))
|
| 524 | | -#define DMAC1C6CONTROL (*((uint32_t volatile*)(0x399001cc)))
|
| 525 | | -#define DMAC1C6CONFIG (*((uint32_t volatile*)(0x399001d0)))
|
| 526 | | -#define DMAC1C7LLI (*((struct dma_lli volatile*)(0x399001e0)))
|
| 527 | | -#define DMAC1C7SRCADDR (*((const void* volatile*)(0x399001e0)))
|
| 528 | | -#define DMAC1C7DESTADDR (*((void* volatile*)(0x399001e4)))
|
| 529 | | -#define DMAC1C7NEXTLLI (*((const struct dma_lli* volatile*)(0x399001e8)))
|
| 530 | | -#define DMAC1C7CONTROL (*((uint32_t volatile*)(0x399001ec)))
|
| 531 | | -#define DMAC1C7CONFIG (*((uint32_t volatile*)(0x399001f0)))
|
| 532 | | -
|
| 533 | | -
|
| 534 | | -/////LCD/////
|
| 535 | | -#define LCDWCMD (*((uint32_t volatile*)(0x38300004)))
|
| 536 | | -#define LCDSTATUS (*((uint32_t volatile*)(0x3830001c)))
|
| 537 | | -#define LCDWDATA (*((uint32_t volatile*)(0x38300040)))
|
| 538 | | -
|
| 539 | | -
|
| 540 | | -/////ATA/////
|
| 541 | | -#define ATA_CONTROL (*((uint32_t volatile*)(0x38700000)))
|
| 542 | | -#define ATA_STATUS (*((uint32_t volatile*)(0x38700004)))
|
| 543 | | -#define ATA_COMMAND (*((uint32_t volatile*)(0x38700008)))
|
| 544 | | -#define ATA_SWRST (*((uint32_t volatile*)(0x3870000c)))
|
| 545 | | -#define ATA_IRQ (*((uint32_t volatile*)(0x38700010)))
|
| 546 | | -#define ATA_IRQ_MASK (*((uint32_t volatile*)(0x38700014)))
|
| 547 | | -#define ATA_CFG (*((uint32_t volatile*)(0x38700018)))
|
| 548 | | -#define ATA_MDMA_TIME (*((uint32_t volatile*)(0x38700028)))
|
| 549 | | -#define ATA_PIO_TIME (*((uint32_t volatile*)(0x3870002c)))
|
| 550 | | -#define ATA_UDMA_TIME (*((uint32_t volatile*)(0x38700030)))
|
| 551 | | -#define ATA_XFR_NUM (*((uint32_t volatile*)(0x38700034)))
|
| 552 | | -#define ATA_XFR_CNT (*((uint32_t volatile*)(0x38700038)))
|
| 553 | | -#define ATA_TBUF_START (*((void* volatile*)(0x3870003c)))
|
| 554 | | -#define ATA_TBUF_SIZE (*((uint32_t volatile*)(0x38700040)))
|
| 555 | | -#define ATA_SBUF_START (*((void* volatile*)(0x38700044)))
|
| 556 | | -#define ATA_SBUF_SIZE (*((uint32_t volatile*)(0x38700048)))
|
| 557 | | -#define ATA_CADR_TBUF (*((void* volatile*)(0x3870004c)))
|
| 558 | | -#define ATA_CADR_SBUF (*((void* volatile*)(0x38700050)))
|
| 559 | | -#define ATA_PIO_DTR (*((uint32_t volatile*)(0x38700054)))
|
| 560 | | -#define ATA_PIO_FED (*((uint32_t volatile*)(0x38700058)))
|
| 561 | | -#define ATA_PIO_SCR (*((uint32_t volatile*)(0x3870005c)))
|
| 562 | | -#define ATA_PIO_LLR (*((uint32_t volatile*)(0x38700060)))
|
| 563 | | -#define ATA_PIO_LMR (*((uint32_t volatile*)(0x38700064)))
|
| 564 | | -#define ATA_PIO_LHR (*((uint32_t volatile*)(0x38700068)))
|
| 565 | | -#define ATA_PIO_DVR (*((uint32_t volatile*)(0x3870006c)))
|
| 566 | | -#define ATA_PIO_CSD (*((uint32_t volatile*)(0x38700070)))
|
| 567 | | -#define ATA_PIO_DAD (*((uint32_t volatile*)(0x38700074)))
|
| 568 | | -#define ATA_PIO_READY (*((uint32_t volatile*)(0x38700078)))
|
| 569 | | -#define ATA_PIO_RDATA (*((uint32_t volatile*)(0x3870007c)))
|
| 570 | | -#define ATA_BUS_FIFO_STATUS (*((uint32_t volatile*)(0x38700080)))
|
| 571 | | -#define ATA_FIFO_STATUS (*((uint32_t volatile*)(0x38700084)))
|
| 572 | | -#define ATA_DMA_ADDR (*((void* volatile*)(0x38700088)))
|
| 573 | | -
|
| 574 | | -
|
| 575 | | -/////CLICKWHEEL/////
|
| 576 | | -#define WHEEL00 (*((uint32_t volatile*)(0x3C200000)))
|
| 577 | | -#define WHEEL04 (*((uint32_t volatile*)(0x3C200004)))
|
| 578 | | -#define WHEEL08 (*((uint32_t volatile*)(0x3C200008)))
|
| 579 | | -#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C)))
|
| 580 | | -#define WHEEL10 (*((uint32_t volatile*)(0x3C200010)))
|
| 581 | | -#define WHEELINT (*((uint32_t volatile*)(0x3C200014)))
|
| 582 | | -#define WHEELRX (*((uint32_t volatile*)(0x3C200018)))
|
| 583 | | -#define WHEELTX (*((uint32_t volatile*)(0x3C20001C)))
|
| 584 | | -
|
| 585 | | -
|
| 586 | | -/////CLOCK GATES/////
|
| 587 | | -#define CLOCKGATE_USB_1 2
|
| 588 | | -#define CLOCKGATE_USB_2 35
|
| 589 | | -
|
| 590 | | -
|
| 591 | | -/////INTERRUPTS/////
|
| 592 | | -#define IRQ_TIMER 8
|
| 593 | | -#define IRQ_USB_FUNC 19
|
| 594 | | -#define IRQ_DMAC(d) 16 + d
|
| 595 | | -#define IRQ_DMAC0 16
|
| 596 | | -#define IRQ_DMAC1 17
|
| 597 | | -#define IRQ_WHEEL 23
|
| 598 | | -#define IRQ_ATA 29
|
| 599 | | -
|
| 600 | | -
|
| 601 | | -#endif
|
| | 2 | +// |
| | 3 | +// |
| | 4 | +// Copyright 2010 TheSeven |
| | 5 | +// |
| | 6 | +// |
| | 7 | +// This file is part of emCORE. |
| | 8 | +// |
| | 9 | +// emCORE is free software: you can redistribute it and/or |
| | 10 | +// modify it under the terms of the GNU General Public License as |
| | 11 | +// published by the Free Software Foundation, either version 2 of the |
| | 12 | +// License, or (at your option) any later version. |
| | 13 | +// |
| | 14 | +// emCORE is distributed in the hope that it will be useful, |
| | 15 | +// but WITHOUT ANY WARRANTY; without even the implied warranty of |
| | 16 | +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
| | 17 | +// See the GNU General Public License for more details. |
| | 18 | +// |
| | 19 | +// You should have received a copy of the GNU General Public License along |
| | 20 | +// with emCORE. If not, see <http://www.gnu.org/licenses/>. |
| | 21 | +// |
| | 22 | +// |
| | 23 | + |
| | 24 | + |
| | 25 | +#ifndef __S5L8702_H__ |
| | 26 | +#define __S5L8702_H__ |
| | 27 | + |
| | 28 | +#include "global.h" |
| | 29 | + |
| | 30 | + |
| | 31 | +/////SYSCON///// |
| | 32 | +#define PWRCON(i) (*((uint32_t volatile*)(0x3C500000 \ |
| | 33 | + + ((i) == 4 ? 0x6C : \ |
| | 34 | + ((i) == 3 ? 0x68 : \ |
| | 35 | + ((i) == 2 ? 0x58 : \ |
| | 36 | + ((i) == 1 ? 0x4C : \ |
| | 37 | + 0x48))))))) |
| | 38 | + |
| | 39 | + |
| | 40 | +/////TIMER///// |
| | 41 | +#define TACON (*((uint32_t volatile*)(0x3C700000))) |
| | 42 | +#define TACMD (*((uint32_t volatile*)(0x3C700004))) |
| | 43 | +#define TADATA0 (*((uint32_t volatile*)(0x3C700008))) |
| | 44 | +#define TADATA1 (*((uint32_t volatile*)(0x3C70000C))) |
| | 45 | +#define TAPRE (*((uint32_t volatile*)(0x3C700010))) |
| | 46 | +#define TACNT (*((uint32_t volatile*)(0x3C700014))) |
| | 47 | +#define TBCON (*((uint32_t volatile*)(0x3C700020))) |
| | 48 | +#define TBCMD (*((uint32_t volatile*)(0x3C700024))) |
| | 49 | +#define TBDATA0 (*((uint32_t volatile*)(0x3C700028))) |
| | 50 | +#define TBDATA1 (*((uint32_t volatile*)(0x3C70002C))) |
| | 51 | +#define TBPRE (*((uint32_t volatile*)(0x3C700030))) |
| | 52 | +#define TBCNT (*((uint32_t volatile*)(0x3C700034))) |
| | 53 | +#define TCCON (*((uint32_t volatile*)(0x3C700040))) |
| | 54 | +#define TCCMD (*((uint32_t volatile*)(0x3C700044))) |
| | 55 | +#define TCDATA0 (*((uint32_t volatile*)(0x3C700048))) |
| | 56 | +#define TCDATA1 (*((uint32_t volatile*)(0x3C70004C))) |
| | 57 | +#define TCPRE (*((uint32_t volatile*)(0x3C700050))) |
| | 58 | +#define TCCNT (*((uint32_t volatile*)(0x3C700054))) |
| | 59 | +#define TDCON (*((uint32_t volatile*)(0x3C700060))) |
| | 60 | +#define TDCMD (*((uint32_t volatile*)(0x3C700064))) |
| | 61 | +#define TDDATA0 (*((uint32_t volatile*)(0x3C700068))) |
| | 62 | +#define TDDATA1 (*((uint32_t volatile*)(0x3C70006C))) |
| | 63 | +#define TDPRE (*((uint32_t volatile*)(0x3C700070))) |
| | 64 | +#define TDCNT (*((uint32_t volatile*)(0x3C700074))) |
| | 65 | +#define TECON (*((uint32_t volatile*)(0x3C7000A0))) |
| | 66 | +#define TECMD (*((uint32_t volatile*)(0x3C7000A4))) |
| | 67 | +#define TEDATA0 (*((uint32_t volatile*)(0x3C7000A8))) |
| | 68 | +#define TEDATA1 (*((uint32_t volatile*)(0x3C7000AC))) |
| | 69 | +#define TEPRE (*((uint32_t volatile*)(0x3C7000B0))) |
| | 70 | +#define TECNT (*((uint32_t volatile*)(0x3C7000B4))) |
| | 71 | +#define TFCON (*((uint32_t volatile*)(0x3C7000C0))) |
| | 72 | +#define TFCMD (*((uint32_t volatile*)(0x3C7000C4))) |
| | 73 | +#define TFDATA0 (*((uint32_t volatile*)(0x3C7000C8))) |
| | 74 | +#define TFDATA1 (*((uint32_t volatile*)(0x3C7000CC))) |
| | 75 | +#define TFPRE (*((uint32_t volatile*)(0x3C7000D0))) |
| | 76 | +#define TFCNT (*((uint32_t volatile*)(0x3C7000D4))) |
| | 77 | +#define TGCON (*((uint32_t volatile*)(0x3C7000E0))) |
| | 78 | +#define TGCMD (*((uint32_t volatile*)(0x3C7000E4))) |
| | 79 | +#define TGDATA0 (*((uint32_t volatile*)(0x3C7000E8))) |
| | 80 | +#define TGDATA1 (*((uint32_t volatile*)(0x3C7000EC))) |
| | 81 | +#define TGPRE (*((uint32_t volatile*)(0x3C7000F0))) |
| | 82 | +#define TGCNT (*((uint32_t volatile*)(0x3C7000F4))) |
| | 83 | +#define THCON (*((uint32_t volatile*)(0x3C700100))) |
| | 84 | +#define THCMD (*((uint32_t volatile*)(0x3C700104))) |
| | 85 | +#define THDATA0 (*((uint32_t volatile*)(0x3C700108))) |
| | 86 | +#define THDATA1 (*((uint32_t volatile*)(0x3C70010C))) |
| | 87 | +#define THPRE (*((uint32_t volatile*)(0x3C700110))) |
| | 88 | +#define THCNT (*((uint32_t volatile*)(0x3C700114))) |
| | 89 | + |
| | 90 | + |
| | 91 | +/////USB///// |
| | 92 | +#define OTGBASE 0x38400000 |
| | 93 | +#define PHYBASE 0x3C400000 |
| | 94 | +#define SYNOPSYSOTG_CLOCK 0 |
| | 95 | +#define SYNOPSYSOTG_AHBCFG 0x2B |
| | 96 | + |
| | 97 | + |
| | 98 | +/////I2C///// |
| | 99 | +#define IICCON(bus) (*((uint32_t volatile*)(0x3C600000 + 0x300000 * (bus)))) |
| | 100 | +#define IICSTAT(bus) (*((uint32_t volatile*)(0x3C600004 + 0x300000 * (bus)))) |
| | 101 | +#define IICADD(bus) (*((uint32_t volatile*)(0x3C600008 + 0x300000 * (bus)))) |
| | 102 | +#define IICDS(bus) (*((uint32_t volatile*)(0x3C60000C + 0x300000 * (bus)))) |
| | 103 | +#define IIC10(bus) (*((uint32_t volatile*)(0x3C600010 + 0x300000 * (bus)))) |
| | 104 | + |
| | 105 | + |
| | 106 | +/////INTERRUPT CONTROLLERS///// |
| | 107 | +#define VICIRQSTATUS(v) (*((uint32_t volatile*)(0x38E00000 + 0x1000 * (v)))) |
| | 108 | +#define VICFIQSTATUS(v) (*((uint32_t volatile*)(0x38E00004 + 0x1000 * (v)))) |
| | 109 | +#define VICRAWINTR(v) (*((uint32_t volatile*)(0x38E00008 + 0x1000 * (v)))) |
| | 110 | +#define VICINTSELECT(v) (*((uint32_t volatile*)(0x38E0000C + 0x1000 * (v)))) |
| | 111 | +#define VICINTENABLE(v) (*((uint32_t volatile*)(0x38E00010 + 0x1000 * (v)))) |
| | 112 | +#define VICINTENCLEAR(v) (*((uint32_t volatile*)(0x38E00014 + 0x1000 * (v)))) |
| | 113 | +#define VICSOFTINT(v) (*((uint32_t volatile*)(0x38E00018 + 0x1000 * (v)))) |
| | 114 | +#define VICSOFTINTCLEAR(v) (*((uint32_t volatile*)(0x38E0001C + 0x1000 * (v)))) |
| | 115 | +#define VICPROTECTION(v) (*((uint32_t volatile*)(0x38E00020 + 0x1000 * (v)))) |
| | 116 | +#define VICSWPRIORITYMASK(v) (*((uint32_t volatile*)(0x38E00024 + 0x1000 * (v)))) |
| | 117 | +#define VICPRIORITYDAISY(v) (*((uint32_t volatile*)(0x38E00028 + 0x1000 * (v)))) |
| | 118 | +#define VICVECTADDR(v, i) (*((uint32_t volatile*)(0x38E00100 + 0x1000 * (v) + 4 * (i)))) |
| | 119 | +#define VICVECTPRIORITY(v, i) (*((uint32_t volatile*)(0x38E00200 + 0x1000 * (v) + 4 * (i)))) |
| | 120 | +#define VICADDRESS(v) (*((const void* volatile*)(0x38E00F00 + 0x1000 * (v)))) |
| | 121 | +#define VIC0IRQSTATUS (*((uint32_t volatile*)(0x38E00000))) |
| | 122 | +#define VIC0FIQSTATUS (*((uint32_t volatile*)(0x38E00004))) |
| | 123 | +#define VIC0RAWINTR (*((uint32_t volatile*)(0x38E00008))) |
| | 124 | +#define VIC0INTSELECT (*((uint32_t volatile*)(0x38E0000C))) |
| | 125 | +#define VIC0INTENABLE (*((uint32_t volatile*)(0x38E00010))) |
| | 126 | +#define VIC0INTENCLEAR (*((uint32_t volatile*)(0x38E00014))) |
| | 127 | +#define VIC0SOFTINT (*((uint32_t volatile*)(0x38E00018))) |
| | 128 | +#define VIC0SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0001C))) |
| | 129 | +#define VIC0PROTECTION (*((uint32_t volatile*)(0x38E00020))) |
| | 130 | +#define VIC0SWPRIORITYMASK (*((uint32_t volatile*)(0x38E00024))) |
| | 131 | +#define VIC0PRIORITYDAISY (*((uint32_t volatile*)(0x38E00028))) |
| | 132 | +#define VIC0VECTADDR(i) (*((const void* volatile*)(0x38E00100 + 4 * (i)))) |
| | 133 | +#define VIC0VECTADDR0 (*((const void* volatile*)(0x38E00100))) |
| | 134 | +#define VIC0VECTADDR1 (*((const void* volatile*)(0x38E00104))) |
| | 135 | +#define VIC0VECTADDR2 (*((const void* volatile*)(0x38E00108))) |
| | 136 | +#define VIC0VECTADDR3 (*((const void* volatile*)(0x38E0010C))) |
| | 137 | +#define VIC0VECTADDR4 (*((const void* volatile*)(0x38E00110))) |
| | 138 | +#define VIC0VECTADDR5 (*((const void* volatile*)(0x38E00114))) |
| | 139 | +#define VIC0VECTADDR6 (*((const void* volatile*)(0x38E00118))) |
| | 140 | +#define VIC0VECTADDR7 (*((const void* volatile*)(0x38E0011C))) |
| | 141 | +#define VIC0VECTADDR8 (*((const void* volatile*)(0x38E00120))) |
| | 142 | +#define VIC0VECTADDR9 (*((const void* volatile*)(0x38E00124))) |
| | 143 | +#define VIC0VECTADDR10 (*((const void* volatile*)(0x38E00128))) |
| | 144 | +#define VIC0VECTADDR11 (*((const void* volatile*)(0x38E0012C))) |
| | 145 | +#define VIC0VECTADDR12 (*((const void* volatile*)(0x38E00130))) |
| | 146 | +#define VIC0VECTADDR13 (*((const void* volatile*)(0x38E00134))) |
| | 147 | +#define VIC0VECTADDR14 (*((const void* volatile*)(0x38E00138))) |
| | 148 | +#define VIC0VECTADDR15 (*((const void* volatile*)(0x38E0013C))) |
| | 149 | +#define VIC0VECTADDR16 (*((const void* volatile*)(0x38E00140))) |
| | 150 | +#define VIC0VECTADDR17 (*((const void* volatile*)(0x38E00144))) |
| | 151 | +#define VIC0VECTADDR18 (*((const void* volatile*)(0x38E00148))) |
| | 152 | +#define VIC0VECTADDR19 (*((const void* volatile*)(0x38E0014C))) |
| | 153 | +#define VIC0VECTADDR20 (*((const void* volatile*)(0x38E00150))) |
| | 154 | +#define VIC0VECTADDR21 (*((const void* volatile*)(0x38E00154))) |
| | 155 | +#define VIC0VECTADDR22 (*((const void* volatile*)(0x38E00158))) |
| | 156 | +#define VIC0VECTADDR23 (*((const void* volatile*)(0x38E0015C))) |
| | 157 | +#define VIC0VECTADDR24 (*((const void* volatile*)(0x38E00160))) |
| | 158 | +#define VIC0VECTADDR25 (*((const void* volatile*)(0x38E00164))) |
| | 159 | +#define VIC0VECTADDR26 (*((const void* volatile*)(0x38E00168))) |
| | 160 | +#define VIC0VECTADDR27 (*((const void* volatile*)(0x38E0016C))) |
| | 161 | +#define VIC0VECTADDR28 (*((const void* volatile*)(0x38E00170))) |
| | 162 | +#define VIC0VECTADDR29 (*((const void* volatile*)(0x38E00174))) |
| | 163 | +#define VIC0VECTADDR30 (*((const void* volatile*)(0x38E00178))) |
| | 164 | +#define VIC0VECTADDR31 (*((const void* volatile*)(0x38E0017C))) |
| | 165 | +#define VIC0VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E00200 + 4 * (i)))) |
| | 166 | +#define VIC0VECTPRIORITY0 (*((uint32_t volatile*)(0x38E00200))) |
| | 167 | +#define VIC0VECTPRIORITY1 (*((uint32_t volatile*)(0x38E00204))) |
| | 168 | +#define VIC0VECTPRIORITY2 (*((uint32_t volatile*)(0x38E00208))) |
| | 169 | +#define VIC0VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0020C))) |
| | 170 | +#define VIC0VECTPRIORITY4 (*((uint32_t volatile*)(0x38E00210))) |
| | 171 | +#define VIC0VECTPRIORITY5 (*((uint32_t volatile*)(0x38E00214))) |
| | 172 | +#define VIC0VECTPRIORITY6 (*((uint32_t volatile*)(0x38E00218))) |
| | 173 | +#define VIC0VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0021C))) |
| | 174 | +#define VIC0VECTPRIORITY8 (*((uint32_t volatile*)(0x38E00220))) |
| | 175 | +#define VIC0VECTPRIORITY9 (*((uint32_t volatile*)(0x38E00224))) |
| | 176 | +#define VIC0VECTPRIORITY10 (*((uint32_t volatile*)(0x38E00228))) |
| | 177 | +#define VIC0VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0022C))) |
| | 178 | +#define VIC0VECTPRIORITY12 (*((uint32_t volatile*)(0x38E00230))) |
| | 179 | +#define VIC0VECTPRIORITY13 (*((uint32_t volatile*)(0x38E00234))) |
| | 180 | +#define VIC0VECTPRIORITY14 (*((uint32_t volatile*)(0x38E00238))) |
| | 181 | +#define VIC0VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0023C))) |
| | 182 | +#define VIC0VECTPRIORITY16 (*((uint32_t volatile*)(0x38E00240))) |
| | 183 | +#define VIC0VECTPRIORITY17 (*((uint32_t volatile*)(0x38E00244))) |
| | 184 | +#define VIC0VECTPRIORITY18 (*((uint32_t volatile*)(0x38E00248))) |
| | 185 | +#define VIC0VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0024C))) |
| | 186 | +#define VIC0VECTPRIORITY20 (*((uint32_t volatile*)(0x38E00250))) |
| | 187 | +#define VIC0VECTPRIORITY21 (*((uint32_t volatile*)(0x38E00254))) |
| | 188 | +#define VIC0VECTPRIORITY22 (*((uint32_t volatile*)(0x38E00258))) |
| | 189 | +#define VIC0VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0025C))) |
| | 190 | +#define VIC0VECTPRIORITY24 (*((uint32_t volatile*)(0x38E00260))) |
| | 191 | +#define VIC0VECTPRIORITY25 (*((uint32_t volatile*)(0x38E00264))) |
| | 192 | +#define VIC0VECTPRIORITY26 (*((uint32_t volatile*)(0x38E00268))) |
| | 193 | +#define VIC0VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0026C))) |
| | 194 | +#define VIC0VECTPRIORITY28 (*((uint32_t volatile*)(0x38E00270))) |
| | 195 | +#define VIC0VECTPRIORITY29 (*((uint32_t volatile*)(0x38E00274))) |
| | 196 | +#define VIC0VECTPRIORITY30 (*((uint32_t volatile*)(0x38E00278))) |
| | 197 | +#define VIC0VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0027C))) |
| | 198 | +#define VIC0ADDRESS (*((void* volatile*)(0x38E00F00))) |
| | 199 | +#define VIC1IRQSTATUS (*((uint32_t volatile*)(0x38E01000))) |
| | 200 | +#define VIC1FIQSTATUS (*((uint32_t volatile*)(0x38E01004))) |
| | 201 | +#define VIC1RAWINTR (*((uint32_t volatile*)(0x38E01008))) |
| | 202 | +#define VIC1INTSELECT (*((uint32_t volatile*)(0x38E0100C))) |
| | 203 | +#define VIC1INTENABLE (*((uint32_t volatile*)(0x38E01010))) |
| | 204 | +#define VIC1INTENCLEAR (*((uint32_t volatile*)(0x38E01014))) |
| | 205 | +#define VIC1SOFTINT (*((uint32_t volatile*)(0x38E01018))) |
| | 206 | +#define VIC1SOFTINTCLEAR (*((uint32_t volatile*)(0x38E0101C))) |
| | 207 | +#define VIC1PROTECTION (*((uint32_t volatile*)(0x38E01020))) |
| | 208 | +#define VIC1SWPRIORITYMASK (*((uint32_t volatile*)(0x38E01024))) |
| | 209 | +#define VIC1PRIORITYDAISY (*((uint32_t volatile*)(0x38E01028))) |
| | 210 | +#define VIC1VECTADDR(i) (*((const void* volatile*)(0x38E01100 + 4 * (i)))) |
| | 211 | +#define VIC1VECTADDR0 (*((const void* volatile*)(0x38E01100))) |
| | 212 | +#define VIC1VECTADDR1 (*((const void* volatile*)(0x38E01104))) |
| | 213 | +#define VIC1VECTADDR2 (*((const void* volatile*)(0x38E01108))) |
| | 214 | +#define VIC1VECTADDR3 (*((const void* volatile*)(0x38E0110C))) |
| | 215 | +#define VIC1VECTADDR4 (*((const void* volatile*)(0x38E01110))) |
| | 216 | +#define VIC1VECTADDR5 (*((const void* volatile*)(0x38E01114))) |
| | 217 | +#define VIC1VECTADDR6 (*((const void* volatile*)(0x38E01118))) |
| | 218 | +#define VIC1VECTADDR7 (*((const void* volatile*)(0x38E0111C))) |
| | 219 | +#define VIC1VECTADDR8 (*((const void* volatile*)(0x38E01120))) |
| | 220 | +#define VIC1VECTADDR9 (*((const void* volatile*)(0x38E01124))) |
| | 221 | +#define VIC1VECTADDR10 (*((const void* volatile*)(0x38E01128))) |
| | 222 | +#define VIC1VECTADDR11 (*((const void* volatile*)(0x38E0112C))) |
| | 223 | +#define VIC1VECTADDR12 (*((const void* volatile*)(0x38E01130))) |
| | 224 | +#define VIC1VECTADDR13 (*((const void* volatile*)(0x38E01134))) |
| | 225 | +#define VIC1VECTADDR14 (*((const void* volatile*)(0x38E01138))) |
| | 226 | +#define VIC1VECTADDR15 (*((const void* volatile*)(0x38E0113C))) |
| | 227 | +#define VIC1VECTADDR16 (*((const void* volatile*)(0x38E01140))) |
| | 228 | +#define VIC1VECTADDR17 (*((const void* volatile*)(0x38E01144))) |
| | 229 | +#define VIC1VECTADDR18 (*((const void* volatile*)(0x38E01148))) |
| | 230 | +#define VIC1VECTADDR19 (*((const void* volatile*)(0x38E0114C))) |
| | 231 | +#define VIC1VECTADDR20 (*((const void* volatile*)(0x38E01150))) |
| | 232 | +#define VIC1VECTADDR21 (*((const void* volatile*)(0x38E01154))) |
| | 233 | +#define VIC1VECTADDR22 (*((const void* volatile*)(0x38E01158))) |
| | 234 | +#define VIC1VECTADDR23 (*((const void* volatile*)(0x38E0115C))) |
| | 235 | +#define VIC1VECTADDR24 (*((const void* volatile*)(0x38E01160))) |
| | 236 | +#define VIC1VECTADDR25 (*((const void* volatile*)(0x38E01164))) |
| | 237 | +#define VIC1VECTADDR26 (*((const void* volatile*)(0x38E01168))) |
| | 238 | +#define VIC1VECTADDR27 (*((const void* volatile*)(0x38E0116C))) |
| | 239 | +#define VIC1VECTADDR28 (*((const void* volatile*)(0x38E01170))) |
| | 240 | +#define VIC1VECTADDR29 (*((const void* volatile*)(0x38E01174))) |
| | 241 | +#define VIC1VECTADDR30 (*((const void* volatile*)(0x38E01178))) |
| | 242 | +#define VIC1VECTADDR31 (*((const void* volatile*)(0x38E0117C))) |
| | 243 | +#define VIC1VECTPRIORITY(i) (*((uint32_t volatile*)(0x38E01200 + 4 * (i)))) |
| | 244 | +#define VIC1VECTPRIORITY0 (*((uint32_t volatile*)(0x38E01200))) |
| | 245 | +#define VIC1VECTPRIORITY1 (*((uint32_t volatile*)(0x38E01204))) |
| | 246 | +#define VIC1VECTPRIORITY2 (*((uint32_t volatile*)(0x38E01208))) |
| | 247 | +#define VIC1VECTPRIORITY3 (*((uint32_t volatile*)(0x38E0120C))) |
| | 248 | +#define VIC1VECTPRIORITY4 (*((uint32_t volatile*)(0x38E01210))) |
| | 249 | +#define VIC1VECTPRIORITY5 (*((uint32_t volatile*)(0x38E01214))) |
| | 250 | +#define VIC1VECTPRIORITY6 (*((uint32_t volatile*)(0x38E01218))) |
| | 251 | +#define VIC1VECTPRIORITY7 (*((uint32_t volatile*)(0x38E0121C))) |
| | 252 | +#define VIC1VECTPRIORITY8 (*((uint32_t volatile*)(0x38E01220))) |
| | 253 | +#define VIC1VECTPRIORITY9 (*((uint32_t volatile*)(0x38E01224))) |
| | 254 | +#define VIC1VECTPRIORITY10 (*((uint32_t volatile*)(0x38E01228))) |
| | 255 | +#define VIC1VECTPRIORITY11 (*((uint32_t volatile*)(0x38E0122C))) |
| | 256 | +#define VIC1VECTPRIORITY12 (*((uint32_t volatile*)(0x38E01230))) |
| | 257 | +#define VIC1VECTPRIORITY13 (*((uint32_t volatile*)(0x38E01234))) |
| | 258 | +#define VIC1VECTPRIORITY14 (*((uint32_t volatile*)(0x38E01238))) |
| | 259 | +#define VIC1VECTPRIORITY15 (*((uint32_t volatile*)(0x38E0123C))) |
| | 260 | +#define VIC1VECTPRIORITY16 (*((uint32_t volatile*)(0x38E01240))) |
| | 261 | +#define VIC1VECTPRIORITY17 (*((uint32_t volatile*)(0x38E01244))) |
| | 262 | +#define VIC1VECTPRIORITY18 (*((uint32_t volatile*)(0x38E01248))) |
| | 263 | +#define VIC1VECTPRIORITY19 (*((uint32_t volatile*)(0x38E0124C))) |
| | 264 | +#define VIC1VECTPRIORITY20 (*((uint32_t volatile*)(0x38E01250))) |
| | 265 | +#define VIC1VECTPRIORITY21 (*((uint32_t volatile*)(0x38E01254))) |
| | 266 | +#define VIC1VECTPRIORITY22 (*((uint32_t volatile*)(0x38E01258))) |
| | 267 | +#define VIC1VECTPRIORITY23 (*((uint32_t volatile*)(0x38E0125C))) |
| | 268 | +#define VIC1VECTPRIORITY24 (*((uint32_t volatile*)(0x38E01260))) |
| | 269 | +#define VIC1VECTPRIORITY25 (*((uint32_t volatile*)(0x38E01264))) |
| | 270 | +#define VIC1VECTPRIORITY26 (*((uint32_t volatile*)(0x38E01268))) |
| | 271 | +#define VIC1VECTPRIORITY27 (*((uint32_t volatile*)(0x38E0126C))) |
| | 272 | +#define VIC1VECTPRIORITY28 (*((uint32_t volatile*)(0x38E01270))) |
| | 273 | +#define VIC1VECTPRIORITY29 (*((uint32_t volatile*)(0x38E01274))) |
| | 274 | +#define VIC1VECTPRIORITY30 (*((uint32_t volatile*)(0x38E01278))) |
| | 275 | +#define VIC1VECTPRIORITY31 (*((uint32_t volatile*)(0x38E0127C))) |
| | 276 | +#define VIC1ADDRESS (*((void* volatile*)(0x38E01F00))) |
| | 277 | + |
| | 278 | + |
| | 279 | +/////GPIO///// |
| | 280 | +#define PCON(i) (*((uint32_t volatile*)(0x3cf00000 + ((i) << 5)))) |
| | 281 | +#define PDAT(i) (*((uint32_t volatile*)(0x3cf00004 + ((i) << 5)))) |
| | 282 | +#define PUNA(i) (*((uint32_t volatile*)(0x3cf00008 + ((i) << 5)))) |
| | 283 | +#define PUNB(i) (*((uint32_t volatile*)(0x3cf0000c + ((i) << 5)))) |
| | 284 | +#define PCON0 (*((uint32_t volatile*)(0x3cf00000))) |
| | 285 | +#define PDAT0 (*((uint32_t volatile*)(0x3cf00004))) |
| | 286 | +#define PCON1 (*((uint32_t volatile*)(0x3cf00020))) |
| | 287 | +#define PDAT1 (*((uint32_t volatile*)(0x3cf00024))) |
| | 288 | +#define PCON2 (*((uint32_t volatile*)(0x3cf00040))) |
| | 289 | +#define PDAT2 (*((uint32_t volatile*)(0x3cf00044))) |
| | 290 | +#define PCON3 (*((uint32_t volatile*)(0x3cf00060))) |
| | 291 | +#define PDAT3 (*((uint32_t volatile*)(0x3cf00064))) |
| | 292 | +#define PCON4 (*((uint32_t volatile*)(0x3cf00080))) |
| | 293 | +#define PDAT4 (*((uint32_t volatile*)(0x3cf00084))) |
| | 294 | +#define PCON5 (*((uint32_t volatile*)(0x3cf000a0))) |
| | 295 | +#define PDAT5 (*((uint32_t volatile*)(0x3cf000a4))) |
| | 296 | +#define PCON6 (*((uint32_t volatile*)(0x3cf000c0))) |
| | 297 | +#define PDAT6 (*((uint32_t volatile*)(0x3cf000c4))) |
| | 298 | +#define PCON7 (*((uint32_t volatile*)(0x3cf000e0))) |
| | 299 | +#define PDAT7 (*((uint32_t volatile*)(0x3cf000e4))) |
| | 300 | +#define PCON8 (*((uint32_t volatile*)(0x3cf00100))) |
| | 301 | +#define PDAT8 (*((uint32_t volatile*)(0x3cf00104))) |
| | 302 | +#define PCON9 (*((uint32_t volatile*)(0x3cf00120))) |
| | 303 | +#define PDAT9 (*((uint32_t volatile*)(0x3cf00124))) |
| | 304 | +#define PCONA (*((uint32_t volatile*)(0x3cf00140))) |
| | 305 | +#define PDATA (*((uint32_t volatile*)(0x3cf00144))) |
| | 306 | +#define PCONB (*((uint32_t volatile*)(0x3cf00160))) |
| | 307 | +#define PDATB (*((uint32_t volatile*)(0x3cf00164))) |
| | 308 | +#define PCONC (*((uint32_t volatile*)(0x3cf00180))) |
| | 309 | +#define PDATC (*((uint32_t volatile*)(0x3cf00184))) |
| | 310 | +#define PCOND (*((uint32_t volatile*)(0x3cf001a0))) |
| | 311 | +#define PDATD (*((uint32_t volatile*)(0x3cf001a4))) |
| | 312 | +#define PCONE (*((uint32_t volatile*)(0x3cf001c0))) |
| | 313 | +#define PDATE (*((uint32_t volatile*)(0x3cf001c4))) |
| | 314 | +#define PCONF (*((uint32_t volatile*)(0x3cf001e0))) |
| | 315 | +#define PDATF (*((uint32_t volatile*)(0x3cf001e4))) |
| | 316 | +#define GPIOCMD (*((uint32_t volatile*)(0x3cf00200))) |
| | 317 | + |
| | 318 | + |
| | 319 | +/////SPI///// |
| | 320 | +#define SPIBASE(i) ((i) == 2 ? 0x3d200000 : \ |
| | 321 | + (i) == 1 ? 0x3ce00000 : \ |
| | 322 | + 0x3c300000) |
| | 323 | +#define SPICLKGATE(i) ((i) == 2 ? 0x2f : \ |
| | 324 | + (i) == 1 ? 0x2b : \ |
| | 325 | + 0x22) |
| | 326 | +#define SPIDMA(i) ((i) == 2 ? 0xd : \ |
| | 327 | + (i) == 1 ? 0xf : \ |
| | 328 | + 0x5) |
| | 329 | +#define SPICTRL(i) (*((uint32_t volatile*)(SPIBASE(i)))) |
| | 330 | +#define SPISETUP(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x4))) |
| | 331 | +#define SPISTATUS(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x8))) |
| | 332 | +#define SPIUNKREG1(i) (*((uint32_t volatile*)(SPIBASE(i) + 0xc))) |
| | 333 | +#define SPITXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x10))) |
| | 334 | +#define SPIRXDATA(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x20))) |
| | 335 | +#define SPICLKDIV(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x30))) |
| | 336 | +#define SPIRXLIMIT(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x34))) |
| | 337 | +#define SPIUNKREG3(i) (*((uint32_t volatile*)(SPIBASE(i) + 0x38))) |
| | 338 | + |
| | 339 | + |
| | 340 | +/////AES///// |
| | 341 | +#define AESCONTROL (*((uint32_t volatile*)(0x38c00000))) |
| | 342 | +#define AESGO (*((uint32_t volatile*)(0x38c00004))) |
| | 343 | +#define AESUNKREG0 (*((uint32_t volatile*)(0x38c00008))) |
| | 344 | +#define AESSTATUS (*((uint32_t volatile*)(0x38c0000c))) |
| | 345 | +#define AESUNKREG1 (*((uint32_t volatile*)(0x38c00010))) |
| | 346 | +#define AESKEYLEN (*((uint32_t volatile*)(0x38c00014))) |
| | 347 | +#define AESOUTSIZE (*((uint32_t volatile*)(0x38c00018))) |
| | 348 | +#define AESOUTADDR (*((void* volatile*)(0x38c00020))) |
| | 349 | +#define AESINSIZE (*((uint32_t volatile*)(0x38c00024))) |
| | 350 | +#define AESINADDR (*((const void* volatile*)(0x38c00028))) |
| | 351 | +#define AESAUXSIZE (*((uint32_t volatile*)(0x38c0002c))) |
| | 352 | +#define AESAUXADDR (*((void* volatile*)(0x38c00030))) |
| | 353 | +#define AESSIZE3 (*((uint32_t volatile*)(0x38c00034))) |
| | 354 | +#define AESKEY ((uint32_t volatile*)(0x38c0004c)) |
| | 355 | +#define AESTYPE (*((uint32_t volatile*)(0x38c0006c))) |
| | 356 | +#define AESIV ((uint32_t volatile*)(0x38c00074)) |
| | 357 | +#define AESTYPE2 (*((uint32_t volatile*)(0x38c00088))) |
| | 358 | +#define AESUNKREG2 (*((uint32_t volatile*)(0x38c0008c))) |
| | 359 | + |
| | 360 | + |
| | 361 | +/////SHA1///// |
| | 362 | +#define SHA1CONFIG (*((uint32_t volatile*)(0x38000000))) |
| | 363 | +#define SHA1RESET (*((uint32_t volatile*)(0x38000004))) |
| | 364 | +#define SHA1RESULT ((uint32_t volatile*)(0x38000020)) |
| | 365 | +#define SHA1DATAIN ((uint32_t volatile*)(0x38000040)) |
| | 366 | + |
| | 367 | + |
| | 368 | +/////DMA///// |
| | 369 | +struct dma_lli |
| | 370 | +{ |
| | 371 | + void* srcaddr; |
| | 372 | + void* dstaddr; |
| | 373 | + const struct dma_lli* nextlli; |
| | 374 | + uint32_t control; |
| | 375 | +}; |
| | 376 | +#define DMACINTSTS(d) (*((uint32_t volatile*)(0x38200000 + 0x1700000 * (d)))) |
| | 377 | +#define DMACINTTCSTS(d) (*((uint32_t volatile*)(0x38200004 + 0x1700000 * (d)))) |
| | 378 | +#define DMACINTTCCLR(d) (*((uint32_t volatile*)(0x38200008 + 0x1700000 * (d)))) |
| | 379 | +#define DMACINTERRSTS(d) (*((uint32_t volatile*)(0x3820000c + 0x1700000 * (d)))) |
| | 380 | +#define DMACINTERRCLR(d) (*((uint32_t volatile*)(0x38200010 + 0x1700000 * (d)))) |
| | 381 | +#define DMACRAWINTTCSTS(d) (*((uint32_t volatile*)(0x38200014 + 0x1700000 * (d)))) |
| | 382 | +#define DMACRAWINTERRSTS(d) (*((uint32_t volatile*)(0x38200018 + 0x1700000 * (d)))) |
| | 383 | +#define DMACENABLEDCHANS(d) (*((uint32_t volatile*)(0x3820001c + 0x1700000 * (d)))) |
| | 384 | +#define DMACSOFTBREQ(d) (*((uint32_t volatile*)(0x38200020 + 0x1700000 * (d)))) |
| | 385 | +#define DMACSOFTSREQ(d) (*((uint32_t volatile*)(0x38200024 + 0x1700000 * (d)))) |
| | 386 | +#define DMACSOFTLBREQ(d) (*((uint32_t volatile*)(0x38200028 + 0x1700000 * (d)))) |
| | 387 | +#define DMACSOFTLSREQ(d) (*((uint32_t volatile*)(0x3820002c + 0x1700000 * (d)))) |
| | 388 | +#define DMACCONFIG(d) (*((uint32_t volatile*)(0x38200030 + 0x1700000 * (d)))) |
| | 389 | +#define DMACSYNC(d) (*((uint32_t volatile*)(0x38200034 + 0x1700000 * (d)))) |
| | 390 | +#define DMACCLLI(d, c) (*((struct dma_lli volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c)))) |
| | 391 | +#define DMACCSRCADDR(d, c) (*((const void* volatile*)(0x38200100 + 0x1700000 * (d) + 0x20 * (c)))) |
| | 392 | +#define DMACCDESTADDR(d, c) (*((void* volatile*)(0x38200104 + 0x1700000 * (d) + 0x20 * (c)))) |
| | 393 | +#define DMACCNEXTLLI(d, c) (*((const void* volatile*)(0x38200108 + 0x1700000 * (d) + 0x20 * (c)))) |
| | 394 | +#define DMACCCONTROL(d, c) (*((uint32_t volatile*)(0x3820010c + 0x1700000 * (d) + 0x20 * (c)))) |
| | 395 | +#define DMACCCONFIG(d, c) (*((uint32_t volatile*)(0x38200110 + 0x1700000 * (d) + 0x20 * (c)))) |
| | 396 | +#define DMAC0INTSTS (*((uint32_t volatile*)(0x38200000))) |
| | 397 | +#define DMAC0INTTCSTS (*((uint32_t volatile*)(0x38200004))) |
| | 398 | +#define DMAC0INTTCCLR (*((uint32_t volatile*)(0x38200008))) |
| | 399 | +#define DMAC0INTERRSTS (*((uint32_t volatile*)(0x3820000c))) |
| | 400 | +#define DMAC0INTERRCLR (*((uint32_t volatile*)(0x38200010))) |
| | 401 | +#define DMAC0RAWINTTCSTS (*((uint32_t volatile*)(0x38200014))) |
| | 402 | +#define DMAC0RAWINTERRSTS (*((uint32_t volatile*)(0x38200018))) |
| | 403 | +#define DMAC0ENABLEDCHANS (*((uint32_t volatile*)(0x3820001c))) |
| | 404 | +#define DMAC0SOFTBREQ (*((uint32_t volatile*)(0x38200020))) |
| | 405 | +#define DMAC0SOFTSREQ (*((uint32_t volatile*)(0x38200024))) |
| | 406 | +#define DMAC0SOFTLBREQ (*((uint32_t volatile*)(0x38200028))) |
| | 407 | +#define DMAC0SOFTLSREQ (*((uint32_t volatile*)(0x3820002c))) |
| | 408 | +#define DMAC0CONFIG (*((uint32_t volatile*)(0x38200030))) |
| | 409 | +#define DMAC0SYNC (*((uint32_t volatile*)(0x38200034))) |
| | 410 | +#define DMAC0CLLI(c) (*((struct dma_lli volatile*)(0x38200100 + 0x20 * (c)))) |
| | 411 | +#define DMAC0CSRCADDR(c) (*((const void* volatile*)(0x38200100 + 0x20 * (c)))) |
| | 412 | +#define DMAC0CDESTADDR(c) (*((void* volatile*)(0x38200104 + 0x20 * (c)))) |
| | 413 | +#define DMAC0CNEXTLLI(c) (*((const void* volatile*)(0x38200108 + 0x20 * (c)))) |
| | 414 | +#define DMAC0CCONTROL(c) (*((uint32_t volatile*)(0x3820010c + 0x20 * (c)))) |
| | 415 | +#define DMAC0CCONFIG(c) (*((uint32_t volatile*)(0x38200110 + 0x20 * (c)))) |
| | 416 | +#define DMAC0C0LLI (*((struct dma_lli volatile*)(0x38200100))) |
| | 417 | +#define DMAC0C0SRCADDR (*((const void* volatile*)(0x38200100))) |
| | 418 | +#define DMAC0C0DESTADDR (*((void* volatile*)(0x38200104))) |
| | 419 | +#define DMAC0C0NEXTLLI (*((const struct dma_lli* volatile*)(0x38200108))) |
| | 420 | +#define DMAC0C0CONTROL (*((uint32_t volatile*)(0x3820010c))) |
| | 421 | +#define DMAC0C0CONFIG (*((uint32_t volatile*)(0x38200110))) |
| | 422 | +#define DMAC0C1LLI (*((struct dma_lli volatile*)(0x38200120))) |
| | 423 | +#define DMAC0C1SRCADDR (*((const void* volatile*)(0x38200120))) |
| | 424 | +#define DMAC0C1DESTADDR (*((void* volatile*)(0x38200124))) |
| | 425 | +#define DMAC0C1NEXTLLI (*((const struct dma_lli* volatile*)(0x38200128))) |
| | 426 | +#define DMAC0C1CONTROL (*((uint32_t volatile*)(0x3820012c))) |
| | 427 | +#define DMAC0C1CONFIG (*((uint32_t volatile*)(0x38200130))) |
| | 428 | +#define DMAC0C2LLI (*((struct dma_lli volatile*)(0x38200140))) |
| | 429 | +#define DMAC0C2SRCADDR (*((const void* volatile*)(0x38200140))) |
| | 430 | +#define DMAC0C2DESTADDR (*((void* volatile*)(0x38200144))) |
| | 431 | +#define DMAC0C2NEXTLLI (*((const struct dma_lli* volatile*)(0x38200148))) |
| | 432 | +#define DMAC0C2CONTROL (*((uint32_t volatile*)(0x3820014c))) |
| | 433 | +#define DMAC0C2CONFIG (*((uint32_t volatile*)(0x38200150))) |
| | 434 | +#define DMAC0C3LLI (*((struct dma_lli volatile*)(0x38200160))) |
| | 435 | +#define DMAC0C3SRCADDR (*((const void* volatile*)(0x38200160))) |
| | 436 | +#define DMAC0C3DESTADDR (*((void* volatile*)(0x38200164))) |
| | 437 | +#define DMAC0C3NEXTLLI (*((const struct dma_lli* volatile*)(0x38200168))) |
| | 438 | +#define DMAC0C3CONTROL (*((uint32_t volatile*)(0x3820016c))) |
| | 439 | +#define DMAC0C3CONFIG (*((uint32_t volatile*)(0x38200170))) |
| | 440 | +#define DMAC0C4LLI (*((struct dma_lli volatile*)(0x38200180))) |
| | 441 | +#define DMAC0C4SRCADDR (*((const void* volatile*)(0x38200180))) |
| | 442 | +#define DMAC0C4DESTADDR (*((void* volatile*)(0x38200184))) |
| | 443 | +#define DMAC0C4NEXTLLI (*((const struct dma_lli* volatile*)(0x38200188))) |
| | 444 | +#define DMAC0C4CONTROL (*((uint32_t volatile*)(0x3820018c))) |
| | 445 | +#define DMAC0C4CONFIG (*((uint32_t volatile*)(0x38200190))) |
| | 446 | +#define DMAC0C5LLI (*((struct dma_lli volatile*)(0x382001a0))) |
| | 447 | +#define DMAC0C5SRCADDR (*((const void* volatile*)(0x382001a0))) |
| | 448 | +#define DMAC0C5DESTADDR (*((void* volatile*)(0x382001a4))) |
| | 449 | +#define DMAC0C5NEXTLLI (*((const struct dma_lli* volatile*)(0x382001a8))) |
| | 450 | +#define DMAC0C5CONTROL (*((uint32_t volatile*)(0x382001ac))) |
| | 451 | +#define DMAC0C5CONFIG (*((uint32_t volatile*)(0x382001b0))) |
| | 452 | +#define DMAC0C6LLI (*((struct dma_lli volatile*)(0x382001c0))) |
| | 453 | +#define DMAC0C6SRCADDR (*((const void* volatile*)(0x382001c0))) |
| | 454 | +#define DMAC0C6DESTADDR (*((void* volatile*)(0x382001c4))) |
| | 455 | +#define DMAC0C6NEXTLLI (*((const struct dma_lli* volatile*)(0x382001c8))) |
| | 456 | +#define DMAC0C6CONTROL (*((uint32_t volatile*)(0x382001cc))) |
| | 457 | +#define DMAC0C6CONFIG (*((uint32_t volatile*)(0x382001d0))) |
| | 458 | +#define DMAC0C7LLI (*((struct dma_lli volatile*)(0x382001e0))) |
| | 459 | +#define DMAC0C7SRCADDR (*((const void* volatile*)(0x382001e0))) |
| | 460 | +#define DMAC0C7DESTADDR (*((void* volatile*)(0x382001e4))) |
| | 461 | +#define DMAC0C7NEXTLLI (*((const struct dma_lli* volatile*)(0x382001e8))) |
| | 462 | +#define DMAC0C7CONTROL (*((uint32_t volatile*)(0x382001ec))) |
| | 463 | +#define DMAC0C7CONFIG (*((uint32_t volatile*)(0x382001f0))) |
| | 464 | +#define DMAC1INTSTS (*((uint32_t volatile*)(0x39900000))) |
| | 465 | +#define DMAC1INTTCSTS (*((uint32_t volatile*)(0x39900004))) |
| | 466 | +#define DMAC1INTTCCLR (*((uint32_t volatile*)(0x39900008))) |
| | 467 | +#define DMAC1INTERRSTS (*((uint32_t volatile*)(0x3990000c))) |
| | 468 | +#define DMAC1INTERRCLR (*((uint32_t volatile*)(0x39900010))) |
| | 469 | +#define DMAC1RAWINTTCSTS (*((uint32_t volatile*)(0x39900014))) |
| | 470 | +#define DMAC1RAWINTERRSTS (*((uint32_t volatile*)(0x39900018))) |
| | 471 | +#define DMAC1ENABLEDCHANS (*((uint32_t volatile*)(0x3990001c))) |
| | 472 | +#define DMAC1SOFTBREQ (*((uint32_t volatile*)(0x39900020))) |
| | 473 | +#define DMAC1SOFTSREQ (*((uint32_t volatile*)(0x39900024))) |
| | 474 | +#define DMAC1SOFTLBREQ (*((uint32_t volatile*)(0x39900028))) |
| | 475 | +#define DMAC1SOFTLSREQ (*((uint32_t volatile*)(0x3990002c))) |
| | 476 | +#define DMAC1CONFIG (*((uint32_t volatile*)(0x39900030))) |
| | 477 | +#define DMAC1SYNC (*((uint32_t volatile*)(0x39900034))) |
| | 478 | +#define DMAC1CLLI(c) (*((struct dma_lli volatile*)(0x39900100 + 0x20 * (c)))) |
| | 479 | +#define DMAC1CSRCADDR(c) (*((const void* volatile*)(0x39900100 + 0x20 * (c)))) |
| | 480 | +#define DMAC1CDESTADDR(c) (*((void* volatile*)(0x39900104 + 0x20 * (c)))) |
| | 481 | +#define DMAC1CNEXTLLI(c) (*((const void* volatile*)(0x39900108 + 0x20 * (c)))) |
| | 482 | +#define DMAC1CCONTROL(c) (*((uint32_t volatile*)(0x3990010c + 0x20 * (c)))) |
| | 483 | +#define DMAC1CCONFIG(c) (*((uint32_t volatile*)(0x39900110 + 0x20 * (c)))) |
| | 484 | +#define DMAC1C0LLI (*((struct dma_lli volatile*)(0x39900100))) |
| | 485 | +#define DMAC1C0SRCADDR (*((const void* volatile*)(0x39900100))) |
| | 486 | +#define DMAC1C0DESTADDR (*((void* volatile*)(0x39900104))) |
| | 487 | +#define DMAC1C0NEXTLLI (*((const struct dma_lli* volatile*)(0x39900108))) |
| | 488 | +#define DMAC1C0CONTROL (*((uint32_t volatile*)(0x3990010c))) |
| | 489 | +#define DMAC1C0CONFIG (*((uint32_t volatile*)(0x39900110))) |
| | 490 | +#define DMAC1C1LLI (*((struct dma_lli volatile*)(0x39900120))) |
| | 491 | +#define DMAC1C1SRCADDR (*((const void* volatile*)(0x39900120))) |
| | 492 | +#define DMAC1C1DESTADDR (*((void* volatile*)(0x39900124))) |
| | 493 | +#define DMAC1C1NEXTLLI (*((const struct dma_lli* volatile*)(0x39900128))) |
| | 494 | +#define DMAC1C1CONTROL (*((uint32_t volatile*)(0x3990012c))) |
| | 495 | +#define DMAC1C1CONFIG (*((uint32_t volatile*)(0x39900130))) |
| | 496 | +#define DMAC1C2LLI (*((struct dma_lli volatile*)(0x39900140))) |
| | 497 | +#define DMAC1C2SRCADDR (*((const void* volatile*)(0x39900140))) |
| | 498 | +#define DMAC1C2DESTADDR (*((void* volatile*)(0x39900144))) |
| | 499 | +#define DMAC1C2NEXTLLI (*((const struct dma_lli* volatile*)(0x39900148))) |
| | 500 | +#define DMAC1C2CONTROL (*((uint32_t volatile*)(0x3990014c))) |
| | 501 | +#define DMAC1C2CONFIG (*((uint32_t volatile*)(0x39900150))) |
| | 502 | +#define DMAC1C3LLI (*((struct dma_lli volatile*)(0x39900160))) |
| | 503 | +#define DMAC1C3SRCADDR (*((const void* volatile*)(0x39900160))) |
| | 504 | +#define DMAC1C3DESTADDR (*((void* volatile*)(0x39900164))) |
| | 505 | +#define DMAC1C3NEXTLLI (*((volatile void**)(0x39900168))) |
| | 506 | +#define DMAC1C3CONTROL (*((uint32_t volatile*)(0x3990016c))) |
| | 507 | +#define DMAC1C3CONFIG (*((uint32_t volatile*)(0x39900170))) |
| | 508 | +#define DMAC1C4LLI (*((struct dma_lli volatile*)(0x39900180))) |
| | 509 | +#define DMAC1C4SRCADDR (*((const void* volatile*)(0x39900180))) |
| | 510 | +#define DMAC1C4DESTADDR (*((void* volatile*)(0x39900184))) |
| | 511 | +#define DMAC1C4NEXTLLI (*((const struct dma_lli* volatile*)(0x39900188))) |
| | 512 | +#define DMAC1C4CONTROL (*((uint32_t volatile*)(0x3990018c))) |
| | 513 | +#define DMAC1C4CONFIG (*((uint32_t volatile*)(0x39900190))) |
| | 514 | +#define DMAC1C5LLI (*((struct dma_lli volatile*)(0x399001a0))) |
| | 515 | +#define DMAC1C5SRCADDR (*((const void* volatile*)(0x399001a0))) |
| | 516 | +#define DMAC1C5DESTADDR (*((void* volatile*)(0x399001a4))) |
| | 517 | +#define DMAC1C5NEXTLLI (*((const struct dma_lli* volatile*)(0x399001a8))) |
| | 518 | +#define DMAC1C5CONTROL (*((uint32_t volatile*)(0x399001ac))) |
| | 519 | +#define DMAC1C5CONFIG (*((uint32_t volatile*)(0x399001b0))) |
| | 520 | +#define DMAC1C6LLI (*((struct dma_lli volatile*)(0x399001c0))) |
| | 521 | +#define DMAC1C6SRCADDR (*((const void* volatile*)(0x399001c0))) |
| | 522 | +#define DMAC1C6DESTADDR (*((void* volatile*)(0x399001c4))) |
| | 523 | +#define DMAC1C6NEXTLLI (*((const struct dma_lli* volatile*)(0x399001c8))) |
| | 524 | +#define DMAC1C6CONTROL (*((uint32_t volatile*)(0x399001cc))) |
| | 525 | +#define DMAC1C6CONFIG (*((uint32_t volatile*)(0x399001d0))) |
| | 526 | +#define DMAC1C7LLI (*((struct dma_lli volatile*)(0x399001e0))) |
| | 527 | +#define DMAC1C7SRCADDR (*((const void* volatile*)(0x399001e0))) |
| | 528 | +#define DMAC1C7DESTADDR (*((void* volatile*)(0x399001e4))) |
| | 529 | +#define DMAC1C7NEXTLLI (*((const struct dma_lli* volatile*)(0x399001e8))) |
| | 530 | +#define DMAC1C7CONTROL (*((uint32_t volatile*)(0x399001ec))) |
| | 531 | +#define DMAC1C7CONFIG (*((uint32_t volatile*)(0x399001f0))) |
| | 532 | + |
| | 533 | + |
| | 534 | +/////LCD///// |
| | 535 | +#define LCDCON (*((uint32_t volatile*)(0x38300000))) |
| | 536 | +#define LCDWCMD (*((uint32_t volatile*)(0x38300004))) |
| | 537 | +#define LCDSTATUS (*((uint32_t volatile*)(0x3830001c))) |
| | 538 | +#define LCDPHTIME (*((uint32_t volatile*)(0x38300010))) |
| | 539 | +#define LCDWDATA (*((uint32_t volatile*)(0x38300040))) |
| | 540 | + |
| | 541 | +/////ATA///// |
| | 542 | +#define ATA_CONTROL (*((uint32_t volatile*)(0x38700000))) |
| | 543 | +#define ATA_STATUS (*((uint32_t volatile*)(0x38700004))) |
| | 544 | +#define ATA_COMMAND (*((uint32_t volatile*)(0x38700008))) |
| | 545 | +#define ATA_SWRST (*((uint32_t volatile*)(0x3870000c))) |
| | 546 | +#define ATA_IRQ (*((uint32_t volatile*)(0x38700010))) |
| | 547 | +#define ATA_IRQ_MASK (*((uint32_t volatile*)(0x38700014))) |
| | 548 | +#define ATA_CFG (*((uint32_t volatile*)(0x38700018))) |
| | 549 | +#define ATA_MDMA_TIME (*((uint32_t volatile*)(0x38700028))) |
| | 550 | +#define ATA_PIO_TIME (*((uint32_t volatile*)(0x3870002c))) |
| | 551 | +#define ATA_UDMA_TIME (*((uint32_t volatile*)(0x38700030))) |
| | 552 | +#define ATA_XFR_NUM (*((uint32_t volatile*)(0x38700034))) |
| | 553 | +#define ATA_XFR_CNT (*((uint32_t volatile*)(0x38700038))) |
| | 554 | +#define ATA_TBUF_START (*((void* volatile*)(0x3870003c))) |
| | 555 | +#define ATA_TBUF_SIZE (*((uint32_t volatile*)(0x38700040))) |
| | 556 | +#define ATA_SBUF_START (*((void* volatile*)(0x38700044))) |
| | 557 | +#define ATA_SBUF_SIZE (*((uint32_t volatile*)(0x38700048))) |
| | 558 | +#define ATA_CADR_TBUF (*((void* volatile*)(0x3870004c))) |
| | 559 | +#define ATA_CADR_SBUF (*((void* volatile*)(0x38700050))) |
| | 560 | +#define ATA_PIO_DTR (*((uint32_t volatile*)(0x38700054))) |
| | 561 | +#define ATA_PIO_FED (*((uint32_t volatile*)(0x38700058))) |
| | 562 | +#define ATA_PIO_SCR (*((uint32_t volatile*)(0x3870005c))) |
| | 563 | +#define ATA_PIO_LLR (*((uint32_t volatile*)(0x38700060))) |
| | 564 | +#define ATA_PIO_LMR (*((uint32_t volatile*)(0x38700064))) |
| | 565 | +#define ATA_PIO_LHR (*((uint32_t volatile*)(0x38700068))) |
| | 566 | +#define ATA_PIO_DVR (*((uint32_t volatile*)(0x3870006c))) |
| | 567 | +#define ATA_PIO_CSD (*((uint32_t volatile*)(0x38700070))) |
| | 568 | +#define ATA_PIO_DAD (*((uint32_t volatile*)(0x38700074))) |
| | 569 | +#define ATA_PIO_READY (*((uint32_t volatile*)(0x38700078))) |
| | 570 | +#define ATA_PIO_RDATA (*((uint32_t volatile*)(0x3870007c))) |
| | 571 | +#define ATA_BUS_FIFO_STATUS (*((uint32_t volatile*)(0x38700080))) |
| | 572 | +#define ATA_FIFO_STATUS (*((uint32_t volatile*)(0x38700084))) |
| | 573 | +#define ATA_DMA_ADDR (*((void* volatile*)(0x38700088))) |
| | 574 | + |
| | 575 | + |
| | 576 | +/////CLICKWHEEL///// |
| | 577 | +#define WHEEL00 (*((uint32_t volatile*)(0x3C200000))) |
| | 578 | +#define WHEEL04 (*((uint32_t volatile*)(0x3C200004))) |
| | 579 | +#define WHEEL08 (*((uint32_t volatile*)(0x3C200008))) |
| | 580 | +#define WHEEL0C (*((uint32_t volatile*)(0x3C20000C))) |
| | 581 | +#define WHEEL10 (*((uint32_t volatile*)(0x3C200010))) |
| | 582 | +#define WHEELINT (*((uint32_t volatile*)(0x3C200014))) |
| | 583 | +#define WHEELRX (*((uint32_t volatile*)(0x3C200018))) |
| | 584 | +#define WHEELTX (*((uint32_t volatile*)(0x3C20001C))) |
| | 585 | + |
| | 586 | + |
| | 587 | +/////CLOCK GATES///// |
| | 588 | +#define CLOCKGATE_USB_1 2 |
| | 589 | +#define CLOCKGATE_USB_2 35 |
| | 590 | + |
| | 591 | + |
| | 592 | +/////INTERRUPTS///// |
| | 593 | +#define IRQ_TIMER 8 |
| | 594 | +#define IRQ_USB_FUNC 19 |
| | 595 | +#define IRQ_DMAC(d) 16 + d |
| | 596 | +#define IRQ_DMAC0 16 |
| | 597 | +#define IRQ_DMAC1 17 |
| | 598 | +#define IRQ_WHEEL 23 |
| | 599 | +#define IRQ_ATA 29 |
| | 600 | + |
| | 601 | + |
| | 602 | +#endif |