m32102peri.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468
  1. /* $Id$
  2. *
  3. * This file is subject to the terms and conditions of the GNU General Public
  4. * License. See the file "COPYING" in the main directory of this archive
  5. * for more details.
  6. *
  7. * Copyright (C) 2000,2001 by Hiroyuki Kondo
  8. */
  9. #ifndef __ASSEMBLY__
  10. typedef void V;
  11. typedef char B;
  12. typedef short S;
  13. typedef int W;
  14. typedef long L;
  15. typedef float F;
  16. typedef double D;
  17. typedef unsigned char UB;
  18. typedef unsigned short US;
  19. typedef unsigned int UW;
  20. typedef unsigned long UL;
  21. typedef const unsigned int CUW;
  22. /*********************************
  23. M32102 ICU
  24. *********************************/
  25. #define ICUISTS (UW *)0xa0EFF004
  26. #define ICUIREQ0 (UW *)0xa0EFF008
  27. #define ICUIREQ1 (UW *)0xa0EFF00C
  28. #define ICUSBICR (UW *)0xa0EFF018
  29. #define ICUIMASK (UW *)0xa0EFF01C
  30. #define ICUCR1 (UW *)0xa0EFF200 /* INT0 */
  31. #define ICUCR2 (UW *)0xa0EFF204 /* INT1 */
  32. #define ICUCR3 (UW *)0xa0EFF208 /* INT2 */
  33. #define ICUCR4 (UW *)0xa0EFF20C /* INT3 */
  34. #define ICUCR5 (UW *)0xa0EFF210 /* INT4 */
  35. #define ICUCR6 (UW *)0xa0EFF214 /* INT5 */
  36. #define ICUCR7 (UW *)0xa0EFF218 /* INT6 */
  37. #define ICUCR16 (UW *)0xa0EFF23C /* MFT0 */
  38. #define ICUCR17 (UW *)0xa0EFF240 /* MFT1 */
  39. #define ICUCR18 (UW *)0xa0EFF244 /* MFT2 */
  40. #define ICUCR19 (UW *)0xa0EFF248 /* MFT3 */
  41. #define ICUCR20 (UW *)0xa0EFF24C /* MFT4 */
  42. #define ICUCR21 (UW *)0xa0EFF250 /* MFT5 */
  43. #define ICUCR32 (UW *)0xa0EFF27C /* DMA0 */
  44. #define ICUCR33 (UW *)0xa0EFF280 /* DMA1 */
  45. #define ICUCR48 (UW *)0xa0EFF2BC /* SIO0R */
  46. #define ICUCR49 (UW *)0xa0EFF2C0 /* SIO0S */
  47. #define ICUCR50 (UW *)0xa0EFF2C4 /* SIO1R */
  48. #define ICUCR51 (UW *)0xa0EFF2C8 /* SIO1S */
  49. #define ICUCR52 (UW *)0xa0EFF2CC /* SIO2R */
  50. #define ICUCR53 (UW *)0xa0EFF2D0 /* SIO2S */
  51. #define ICUCR54 (UW *)0xa0EFF2D4 /* SIO3R */
  52. #define ICUCR55 (UW *)0xa0EFF2D8 /* SIO3S */
  53. #define ICUCR56 (UW *)0xa0EFF2DC /* SIO4R */
  54. #define ICUCR57 (UW *)0xa0EFF2E0 /* SIO4S */
  55. /*********************************
  56. M32102 MFT
  57. *********************************/
  58. #define MFTCR (US *)0xa0EFC002
  59. #define MFTRPR (UB *)0xa0EFC006
  60. #define MFT0MOD (US *)0xa0EFC102
  61. #define MFT0BOS (US *)0xa0EFC106
  62. #define MFT0CUT (US *)0xa0EFC10A
  63. #define MFT0RLD (US *)0xa0EFC10E
  64. #define MFT0CRLD (US *)0xa0EFC112
  65. #define MFT1MOD (US *)0xa0EFC202
  66. #define MFT1BOS (US *)0xa0EFC206
  67. #define MFT1CUT (US *)0xa0EFC20A
  68. #define MFT1RLD (US *)0xa0EFC20E
  69. #define MFT1CRLD (US *)0xa0EFC212
  70. #define MFT2MOD (US *)0xa0EFC302
  71. #define MFT2BOS (US *)0xa0EFC306
  72. #define MFT2CUT (US *)0xa0EFC30A
  73. #define MFT2RLD (US *)0xa0EFC30E
  74. #define MFT2CRLD (US *)0xa0EFC312
  75. #define MFT3MOD (US *)0xa0EFC402
  76. #define MFT3CUT (US *)0xa0EFC40A
  77. #define MFT3RLD (US *)0xa0EFC40E
  78. #define MFT3CRLD (US *)0xa0EFC412
  79. #define MFT4MOD (US *)0xa0EFC502
  80. #define MFT4CUT (US *)0xa0EFC50A
  81. #define MFT4RLD (US *)0xa0EFC50E
  82. #define MFT4CRLD (US *)0xa0EFC512
  83. #define MFT5MOD (US *)0xa0EFC602
  84. #define MFT5CUT (US *)0xa0EFC60A
  85. #define MFT5RLD (US *)0xa0EFC60E
  86. #define MFT5CRLD (US *)0xa0EFC612
  87. /*********************************
  88. M32102 SIO
  89. *********************************/
  90. #define SIO0CR (volatile int *)0xa0efd000
  91. #define SIO0MOD0 (volatile int *)0xa0efd004
  92. #define SIO0MOD1 (volatile int *)0xa0efd008
  93. #define SIO0STS (volatile int *)0xa0efd00c
  94. #define SIO0IMASK (volatile int *)0xa0efd010
  95. #define SIO0BAUR (volatile int *)0xa0efd014
  96. #define SIO0RBAUR (volatile int *)0xa0efd018
  97. #define SIO0TXB (volatile int *)0xa0efd01c
  98. #define SIO0RXB (volatile int *)0xa0efd020
  99. #define SIO1CR (volatile int *)0xa0efd100
  100. #define SIO1MOD0 (volatile int *)0xa0efd104
  101. #define SIO1MOD1 (volatile int *)0xa0efd108
  102. #define SIO1STS (volatile int *)0xa0efd10c
  103. #define SIO1IMASK (volatile int *)0xa0efd110
  104. #define SIO1BAUR (volatile int *)0xa0efd114
  105. #define SIO1RBAUR (volatile int *)0xa0efd118
  106. #define SIO1TXB (volatile int *)0xa0efd11c
  107. #define SIO1RXB (volatile int *)0xa0efd120
  108. /*********************************
  109. M32102 PORT
  110. *********************************/
  111. #define PIEN (UB *)0xa0EF1003 /* input enable */
  112. #define P0DATA (UB *)0xa0EF1020 /* data */
  113. #define P1DATA (UB *)0xa0EF1021
  114. #define P2DATA (UB *)0xa0EF1022
  115. #define P3DATA (UB *)0xa0EF1023
  116. #define P4DATA (UB *)0xa0EF1024
  117. #define P5DATA (UB *)0xa0EF1025
  118. #define P6DATA (UB *)0xa0EF1026
  119. #define P7DATA (UB *)0xa0EF1027
  120. #define P0DIR (UB *)0xa0EF1040 /* direction */
  121. #define P1DIR (UB *)0xa0EF1041
  122. #define P2DIR (UB *)0xa0EF1042
  123. #define P3DIR (UB *)0xa0EF1043
  124. #define P4DIR (UB *)0xa0EF1044
  125. #define P5DIR (UB *)0xa0EF1045
  126. #define P6DIR (UB *)0xa0EF1046
  127. #define P7DIR (UB *)0xa0EF1047
  128. #define P0MOD (US *)0xa0EF1060 /* mode control */
  129. #define P1MOD (US *)0xa0EF1062
  130. #define P2MOD (US *)0xa0EF1064
  131. #define P3MOD (US *)0xa0EF1066
  132. #define P4MOD (US *)0xa0EF1068
  133. #define P5MOD (US *)0xa0EF106A
  134. #define P6MOD (US *)0xa0EF106C
  135. #define P7MOD (US *)0xa0EF106E
  136. #define P0ODCR (UB *)0xa0EF1080 /* open-drain control */
  137. #define P1ODCR (UB *)0xa0EF1081
  138. #define P2ODCR (UB *)0xa0EF1082
  139. #define P3ODCR (UB *)0xa0EF1083
  140. #define P4ODCR (UB *)0xa0EF1084
  141. #define P5ODCR (UB *)0xa0EF1085
  142. #define P6ODCR (UB *)0xa0EF1086
  143. #define P7ODCR (UB *)0xa0EF1087
  144. /*********************************
  145. M32102 Cache
  146. ********************************/
  147. #define MCCR (US *)0xFFFFFFFE
  148. #else /* __ASSEMBLY__ */
  149. ;;
  150. ;; PIO 0x80ef1000
  151. ;;
  152. #define PIEN 0xa0ef1000
  153. #define P0DATA 0xa0ef1020
  154. #define P1DATA 0xa0ef1021
  155. #define P2DATA 0xa0ef1022
  156. #define P3DATA 0xa0ef1023
  157. #define P4DATA 0xa0ef1024
  158. #define P5DATA 0xa0ef1025
  159. #define P6DATA 0xa0ef1026
  160. #define P7DATA 0xa0ef1027
  161. #define P0DIR 0xa0ef1040
  162. #define P1DIR 0xa0ef1041
  163. #define P2DIR 0xa0ef1042
  164. #define P3DIR 0xa0ef1043
  165. #define P4DIR 0xa0ef1044
  166. #define P5DIR 0xa0ef1045
  167. #define P6DIR 0xa0ef1046
  168. #define P7DIR 0xa0ef1047
  169. #define P0MOD 0xa0ef1060
  170. #define P1MOD 0xa0ef1062
  171. #define P2MOD 0xa0ef1064
  172. #define P3MOD 0xa0ef1066
  173. #define P4MOD 0xa0ef1068
  174. #define P5MOD 0xa0ef106a
  175. #define P6MOD 0xa0ef106c
  176. #define P7MOD 0xa0ef106e
  177. ;
  178. #define P0ODCR 0xa0ef1080
  179. #define P1ODCR 0xa0ef1081
  180. #define P2ODCR 0xa0ef1082
  181. #define P3ODCR 0xa0ef1083
  182. #define P4ODCR 0xa0ef1084
  183. #define P5ODCR 0xa0ef1085
  184. #define P6ODCR 0xa0ef1086
  185. #define P7ODCR 0xa0ef1087
  186. ;;
  187. ;; WDT 0xa0ef2000
  188. ;;
  189. #define WDTCR 0xa0ef2000
  190. ;;
  191. ;; CLK 0xa0ef4000
  192. ;;
  193. #define CPUCLKCR 0xa0ef4000
  194. #define CLKMOD 0xa0ef4004
  195. #define PLLCR 0xa0ef4008
  196. ;;
  197. ;; BSEL 0xa0ef5000
  198. ;;
  199. #define BSEL0CR 0xa0ef5000
  200. #define BSEL1CR 0xa0ef5004
  201. #define BSEL2CR 0xa0ef5008
  202. #define BSEL3CR 0xa0ef500c
  203. #define BSEL4CR 0xa0ef5010
  204. #define BSEL5CR 0xa0ef5014
  205. ;;
  206. ;; SDRAMC 0xa0ef6000
  207. ;;
  208. #define SDRF0 0xa0ef6000
  209. #define SDRF1 0xa0ef6004
  210. #define SDIR0 0xa0ef6008
  211. #define SDIR1 0xa0ef600c
  212. #define SDBR 0xa0ef6010
  213. ;; CH0
  214. #define SD0ADR 0xa0ef6020
  215. #define SD0SZ 0xa0ef6022
  216. #define SD0ER 0xa0ef6024
  217. #define SD0TR 0xa0ef6028
  218. #define SD0MOD 0xa0ef602c
  219. ;; CH1
  220. #define SD1ADR 0xa0ef6040
  221. #define SD1SZ 0xa0ef6042
  222. #define SD1ER 0xa0ef6044
  223. #define SD1TR 0xa0ef6048
  224. #define SD1MOD 0xa0ef604c
  225. ;;
  226. ;; DMAC 0xa0ef8000
  227. ;;
  228. #define DMAEN 0xa0ef8000
  229. #define DMAISTS 0xa0ef8004
  230. #define DMAEDET 0xa0ef8008
  231. #define DMAASTS 0xa0ef800c
  232. ;; CH0
  233. #define DMA0CR0 0xa0ef8100
  234. #define DMA0CR1 0xa0ef8104
  235. #define DMA0CSA 0xa0ef8108
  236. #define DMA0RSA 0xa0ef810c
  237. #define DMA0CDA 0xa0ef8110
  238. #define DMA0RDA 0xa0ef8114
  239. #define DMA0CBCUT 0xa0ef8118
  240. #define DMA0RBCUT 0xa0ef811c
  241. ;; CH1
  242. #define DMA1CR0 0xa0ef8200
  243. #define DMA1CR1 0xa0ef8204
  244. #define DMA1CSA 0xa0ef8208
  245. #define DMA1RSA 0xa0ef820c
  246. #define DMA1CDA 0xa0ef8210
  247. #define DMA1RDA 0xa0ef8214
  248. #define DMA1CBCUT 0xa0ef8218
  249. #define DMA1RBCUT 0xa0ef821c
  250. ;;
  251. ;; MFT 0xa0efc000
  252. ;;
  253. #define MFTCR 0xa0efc000
  254. #define MFTRPR 0xa0efc004
  255. ;; CH0
  256. #define MFT0MOD 0xa0efc100
  257. #define MFT0BOS 0xa0efc104
  258. #define MFT0CUT 0xa0efc108
  259. #define MFT0RLD 0xa0efc10c
  260. #define MFT0CMPRLD 0xa0efc110
  261. ;; CH1
  262. #define MFT1MOD 0xa0efc200
  263. #define MFT1BOS 0xa0efc204
  264. #define MFT1CUT 0xa0efc208
  265. #define MFT1RLD 0xa0efc20c
  266. #define MFT1CMPRLD 0xa0efc210
  267. ;; CH2
  268. #define MFT2MOD 0xa0efc300
  269. #define MFT2BOS 0xa0efc304
  270. #define MFT2CUT 0xa0efc308
  271. #define MFT2RLD 0xa0efc30c
  272. #define MFT2CMPRLD 0xa0efc310
  273. ;; CH3
  274. #define MFT3MOD 0xa0efc400
  275. #define MFT3BOS 0xa0efc404
  276. #define MFT3CUT 0xa0efc408
  277. #define MFT3RLD 0xa0efc40c
  278. #define MFT3CMPRLD 0xa0efc410
  279. ;; CH4
  280. #define MFT4MOD 0xa0efc500
  281. #define MFT4BOS 0xa0efc504
  282. #define MFT4CUT 0xa0efc508
  283. #define MFT4RLD 0xa0efc50c
  284. #define MFT4CMPRLD 0xa0efc510
  285. ;; CH5
  286. #define MFT5MOD 0xa0efc600
  287. #define MFT5BOS 0xa0efc604
  288. #define MFT5CUT 0xa0efc608
  289. #define MFT5RLD 0xa0efc60c
  290. #define MFT5CMPRLD 0xa0efc610
  291. ;;
  292. ;; SIO 0xa0efd000
  293. ;;
  294. ;; CH0
  295. #define SIO0CR 0xa0efd000
  296. #define SIO0MOD0 0xa0efd004
  297. #define SIO0MOD1 0xa0efd008
  298. #define SIO0STS 0xa0efd00c
  299. #define SIO0IMASK 0xa0efd010
  300. #define SIO0BAUR 0xa0efd014
  301. #define SIO0RBAUR 0xa0efd018
  302. #define SIO0TXB 0xa0efd01c
  303. #define SIO0RXB 0xa0efd020
  304. ;; CH1
  305. #define SIO1CR 0xa0efd100
  306. #define SIO1MOD0 0xa0efd104
  307. #define SIO1MOD1 0xa0efd108
  308. #define SIO1STS 0xa0efd10c
  309. #define SIO1IMASK 0xa0efd110
  310. #define SIO1BAUR 0xa0efd114
  311. #define SIO1RBAUR 0xa0efd118
  312. #define SIO1TXB 0xa0efd11c
  313. #define SIO1RXB 0xa0efd120
  314. ;; CH2
  315. #define SIO2CR 0xa0efd200
  316. #define SIO2MOD0 0xa0efd204
  317. #define SIO2MOD1 0xa0efd208
  318. #define SIO2STS 0xa0efd20c
  319. #define SIO2IMASK 0xa0efd210
  320. #define SIO2BAUR 0xa0efd214
  321. #define SIO2RBAUR 0xa0efd218
  322. #define SIO2TXB 0xa0efd21c
  323. #define SIO2RXB 0xa0efd220
  324. ;; CH3
  325. #define SIO3CR 0xa0efd300
  326. #define SIO3MOD0 0xa0efd304
  327. #define SIO3MOD1 0xa0efd308
  328. #define SIO3STS 0xa0efd30c
  329. #define SIO3IMASK 0xa0efd310
  330. #define SIO3BAUR 0xa0efd314
  331. #define SIO3RBAUR 0xa0efd318
  332. #define SIO3TXB 0xa0efd31c
  333. #define SIO3RXB 0xa0efd320
  334. ;; CH4
  335. #define SIO4CR 0xa0efd400
  336. #define SIO4MOD0 0xa0efd404
  337. #define SIO4MOD1 0xa0efd408
  338. #define SIO4STS 0xa0efd40c
  339. #define SIO4IMASK 0xa0efd410
  340. #define SIO4BAUR 0xa0efd414
  341. #define SIO4RBAUR 0xa0efd418
  342. #define SIO4TXB 0xa0efd41c
  343. #define SIO4RXB 0xa0efd420
  344. ;;
  345. ;; ICU 0xa0eff000
  346. ;;
  347. #define ICUISTS 0xa0eff004
  348. #define ICUIREQ0 0xa0eff008
  349. #define ICUIREQ1 0xa0eff00c
  350. #define ICUSBICR 0xa0eff018
  351. #define ICUIMASK 0xa0eff01c
  352. #define ICUCR1 0xa0eff200
  353. #define ICUCR2 0xa0eff204
  354. #define ICUCR3 0xa0eff208
  355. #define ICUCR4 0xa0eff20c
  356. #define ICUCR5 0xa0eff210
  357. #define ICUCR6 0xa0eff214
  358. #define ICUCR7 0xa0eff218
  359. #define ICUCR16 0xa0eff23c
  360. #define ICUCR17 0xa0eff240
  361. #define ICUCR18 0xa0eff244
  362. #define ICUCR19 0xa0eff248
  363. #define ICUCR20 0xa0eff24c
  364. #define ICUCR21 0xa0eff250
  365. #define ICUCR32 0xa0eff27c
  366. #define ICUCR33 0xa0eff280
  367. #define ICUCR48 0xa0eff2bc
  368. #define ICUCR49 0xa0eff2c0
  369. #define ICUCR50 0xa0eff2c4
  370. #define ICUCR51 0xa0eff2c8
  371. #define ICUCR52 0xa0eff2cc
  372. #define ICUCR53 0xa0eff2d0
  373. #define ICUCR54 0xa0eff2d4
  374. #define ICUCR55 0xa0eff2d8
  375. #define ICUCR56 0xa0eff2dc
  376. #define ICUCR57 0xa0eff2e0
  377. ;;
  378. ;; CACHE
  379. ;;
  380. #define MCCR 0xfffffffc
  381. #endif /* __ASSEMBLY__ */