h83068f.h 64 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225
  1. #ifndef __INCLUDE_H83068F_H__
  2. #define __INCLUDE_H83068F_H__
  3. /*
  4. * Copyright (C) 2004 by Jan Dubiec. All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions
  8. * are met:
  9. *
  10. * 1. Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. * 2. Redistributions in binary form must reproduce the above copyright
  13. * notice, this list of conditions and the following disclaimer in the
  14. * documentation and/or other materials provided with the distribution.
  15. * 3. Neither the name of the copyright holders nor the names of
  16. * contributors may be used to endorse or promote products derived
  17. * from this software without specific prior written permission.
  18. *
  19. * THIS SOFTWARE IS PROVIDED BY JAN DUBIEC AND CONTRIBUTORS
  20. * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  21. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  22. * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL JAN DUBIEC
  23. * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  24. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  25. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  26. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  27. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  28. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  29. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  30. */
  31. /*
  32. * This file is based on 3068s.h which can be freely downloaded from
  33. * http://www.renesas.com/eng/products/mpumcu/tool/crosstool/iodef/index.html.
  34. *
  35. * I have added lacking definition of ADRCR register in structure st_bsc
  36. * (bus controler), chanded "int" to "short" in some places in order to make
  37. * structs/unions be compatible with gcc's "-mint32" option and added appropriate
  38. * ifdefs in order to avoid including the contents of this file more than once.
  39. *
  40. * Jan Dubiec <jdx@slackware.pl>
  41. *
  42. */
  43. /*
  44. * $Log$
  45. * Revision 1.2 2004/03/19 18:21:12 jdubiec
  46. * Added comment about the origin of this file.
  47. *
  48. * Revision 1.1 2004/03/16 16:48:26 haraldkipp
  49. * Added Jan Dubiec's H8/300 port.
  50. *
  51. */
  52. /************************************************************************/
  53. /* H8/3068 Series Include File Ver 2.0 */
  54. /************************************************************************/
  55. union un_p1dr { /* union P1DR */
  56. unsigned char BYTE; /* Byte Access */
  57. struct { /* Bit Access */
  58. unsigned char B7:1; /* Bit 7 */
  59. unsigned char B6:1; /* Bit 6 */
  60. unsigned char B5:1; /* Bit 5 */
  61. unsigned char B4:1; /* Bit 4 */
  62. unsigned char B3:1; /* Bit 3 */
  63. unsigned char B2:1; /* Bit 2 */
  64. unsigned char B1:1; /* Bit 1 */
  65. unsigned char B0:1; /* Bit 0 */
  66. } BIT; /* */
  67. }; /* */
  68. union un_p2pcr { /* union P2PCR */
  69. unsigned char BYTE; /* Byte Access */
  70. struct { /* Bit Access */
  71. unsigned char B7:1; /* Bit 7 */
  72. unsigned char B6:1; /* Bit 6 */
  73. unsigned char B5:1; /* Bit 5 */
  74. unsigned char B4:1; /* Bit 4 */
  75. unsigned char B3:1; /* Bit 3 */
  76. unsigned char B2:1; /* Bit 2 */
  77. unsigned char B1:1; /* Bit 1 */
  78. unsigned char B0:1; /* Bit 0 */
  79. } BIT; /* */
  80. }; /* */
  81. union un_p2dr { /* union P2DR */
  82. unsigned char BYTE; /* Byte Access */
  83. struct { /* Bit Access */
  84. unsigned char B7:1; /* Bit 7 */
  85. unsigned char B6:1; /* Bit 6 */
  86. unsigned char B5:1; /* Bit 5 */
  87. unsigned char B4:1; /* Bit 4 */
  88. unsigned char B3:1; /* Bit 3 */
  89. unsigned char B2:1; /* Bit 2 */
  90. unsigned char B1:1; /* Bit 1 */
  91. unsigned char B0:1; /* Bit 0 */
  92. } BIT; /* */
  93. }; /* */
  94. union un_p3dr { /* union P3DR */
  95. unsigned char BYTE; /* Byte Access */
  96. struct { /* Bit Access */
  97. unsigned char B7:1; /* Bit 7 */
  98. unsigned char B6:1; /* Bit 6 */
  99. unsigned char B5:1; /* Bit 5 */
  100. unsigned char B4:1; /* Bit 4 */
  101. unsigned char B3:1; /* Bit 3 */
  102. unsigned char B2:1; /* Bit 2 */
  103. unsigned char B1:1; /* Bit 1 */
  104. unsigned char B0:1; /* Bit 0 */
  105. } BIT; /* */
  106. }; /* */
  107. union un_p4pcr { /* union P4PCR */
  108. unsigned char BYTE; /* Byte Access */
  109. struct { /* Bit Access */
  110. unsigned char B7:1; /* Bit 7 */
  111. unsigned char B6:1; /* Bit 6 */
  112. unsigned char B5:1; /* Bit 5 */
  113. unsigned char B4:1; /* Bit 4 */
  114. unsigned char B3:1; /* Bit 3 */
  115. unsigned char B2:1; /* Bit 2 */
  116. unsigned char B1:1; /* Bit 1 */
  117. unsigned char B0:1; /* Bit 0 */
  118. } BIT; /* */
  119. }; /* */
  120. union un_p4dr { /* union P4DR */
  121. unsigned char BYTE; /* Byte Access */
  122. struct { /* Bit Access */
  123. unsigned char B7:1; /* Bit 7 */
  124. unsigned char B6:1; /* Bit 6 */
  125. unsigned char B5:1; /* Bit 5 */
  126. unsigned char B4:1; /* Bit 4 */
  127. unsigned char B3:1; /* Bit 3 */
  128. unsigned char B2:1; /* Bit 2 */
  129. unsigned char B1:1; /* Bit 1 */
  130. unsigned char B0:1; /* Bit 0 */
  131. } BIT; /* */
  132. }; /* */
  133. union un_p5pcr { /* union P5PCR */
  134. unsigned char BYTE; /* Byte Access */
  135. struct { /* Bit Access */
  136. unsigned char:4; /* */
  137. unsigned char B3:1; /* Bit 3 */
  138. unsigned char B2:1; /* Bit 2 */
  139. unsigned char B1:1; /* Bit 1 */
  140. unsigned char B0:1; /* Bit 0 */
  141. } BIT; /* */
  142. }; /* */
  143. union un_p5dr { /* union P5DR */
  144. unsigned char BYTE; /* Byte Access */
  145. struct { /* Bit Access */
  146. unsigned char:4; /* */
  147. unsigned char B3:1; /* Bit 3 */
  148. unsigned char B2:1; /* Bit 2 */
  149. unsigned char B1:1; /* Bit 1 */
  150. unsigned char B0:1; /* Bit 0 */
  151. } BIT; /* */
  152. }; /* */
  153. union un_p6dr { /* union P6DR */
  154. unsigned char BYTE; /* Byte Access */
  155. struct { /* Bit Access */
  156. unsigned char B7:1; /* Bit 7 */
  157. unsigned char B6:1; /* Bit 6 */
  158. unsigned char B5:1; /* Bit 5 */
  159. unsigned char B4:1; /* Bit 4 */
  160. unsigned char B3:1; /* Bit 3 */
  161. unsigned char B2:1; /* Bit 2 */
  162. unsigned char B1:1; /* Bit 1 */
  163. unsigned char B0:1; /* Bit 0 */
  164. } BIT; /* */
  165. }; /* */
  166. union un_p7dr { /* union P7DR */
  167. unsigned char BYTE; /* Byte Access */
  168. struct { /* Bit Access */
  169. unsigned char B7:1; /* Bit 7 */
  170. unsigned char B6:1; /* Bit 6 */
  171. unsigned char B5:1; /* Bit 5 */
  172. unsigned char B4:1; /* Bit 4 */
  173. unsigned char B3:1; /* Bit 3 */
  174. unsigned char B2:1; /* Bit 2 */
  175. unsigned char B1:1; /* Bit 1 */
  176. unsigned char B0:1; /* Bit 0 */
  177. } BIT; /* */
  178. }; /* */
  179. union un_p8dr { /* union P8DR */
  180. unsigned char BYTE; /* Byte Access */
  181. struct { /* Bit Access */
  182. unsigned char:3; /* */
  183. unsigned char B4:1; /* Bit 4 */
  184. unsigned char B3:1; /* Bit 3 */
  185. unsigned char B2:1; /* Bit 2 */
  186. unsigned char B1:1; /* Bit 1 */
  187. unsigned char B0:1; /* Bit 0 */
  188. } BIT; /* */
  189. }; /* */
  190. union un_p9dr { /* union P9DR */
  191. unsigned char BYTE; /* Byte Access */
  192. struct { /* Bit Access */
  193. unsigned char:2; /* */
  194. unsigned char B5:1; /* Bit 5 */
  195. unsigned char B4:1; /* Bit 4 */
  196. unsigned char B3:1; /* Bit 3 */
  197. unsigned char B2:1; /* Bit 2 */
  198. unsigned char B1:1; /* Bit 1 */
  199. unsigned char B0:1; /* Bit 0 */
  200. } BIT; /* */
  201. }; /* */
  202. union un_padr { /* union PADR */
  203. unsigned char BYTE; /* Byte Access */
  204. struct { /* Bit Access */
  205. unsigned char B7:1; /* Bit 7 */
  206. unsigned char B6:1; /* Bit 6 */
  207. unsigned char B5:1; /* Bit 5 */
  208. unsigned char B4:1; /* Bit 4 */
  209. unsigned char B3:1; /* Bit 3 */
  210. unsigned char B2:1; /* Bit 2 */
  211. unsigned char B1:1; /* Bit 1 */
  212. unsigned char B0:1; /* Bit 0 */
  213. } BIT; /* */
  214. }; /* */
  215. union un_pbdr { /* union PBDR */
  216. unsigned char BYTE; /* Byte Access */
  217. struct { /* Bit Access */
  218. unsigned char B7:1; /* Bit 7 */
  219. unsigned char B6:1; /* Bit 6 */
  220. unsigned char B5:1; /* Bit 5 */
  221. unsigned char B4:1; /* Bit 4 */
  222. unsigned char B3:1; /* Bit 3 */
  223. unsigned char B2:1; /* Bit 2 */
  224. unsigned char B1:1; /* Bit 1 */
  225. unsigned char B0:1; /* Bit 0 */
  226. } BIT; /* */
  227. }; /* */
  228. union un_mdcr { /* union MDCR */
  229. unsigned char BYTE; /* Byte Access */
  230. struct { /* Bit Access */
  231. unsigned char:5; /* */
  232. unsigned char MDS:3; /* MDS */
  233. } BIT; /* */
  234. }; /* */
  235. union un_syscr { /* union SYSCR */
  236. unsigned char BYTE; /* Byte Access */
  237. struct { /* Bit Access */
  238. unsigned char SSBY:1; /* SSBY */
  239. unsigned char STS:3; /* STS */
  240. unsigned char UE:1; /* UE */
  241. unsigned char NMIEG:1; /* NMIEG */
  242. unsigned char SSOE:1; /* SSOE */
  243. unsigned char RAME:1; /* RAME */
  244. } BIT; /* */
  245. }; /* */
  246. union un_divcr { /* union DIVCR */
  247. unsigned char BYTE; /* Byte Access */
  248. struct { /* Bit Access */
  249. unsigned char:6; /* */
  250. unsigned char DIV:2; /* DIV */
  251. } BIT; /* */
  252. }; /* */
  253. union un_mstcr { /* union MSTCR */
  254. unsigned short WORD; /* Word Access */
  255. struct { /* Byte Access */
  256. unsigned char H; /* High */
  257. unsigned char L; /* Low */
  258. } BYTE; /* */
  259. struct { /* Bit Access */
  260. unsigned char PSTOP:1; /* PSTOP */
  261. unsigned char:4; /* */
  262. unsigned char _SCI2:1; /* MSTPH2 */
  263. unsigned char _SCI1:1; /* MSTPH1 */
  264. unsigned char _SCI0:1; /* MSTPH0 */
  265. unsigned char _DMAC:1; /* MSTPL7 */
  266. unsigned char:1; /* */
  267. unsigned char _DRAM:1; /* MSTPL5 */
  268. unsigned char _ITU:1; /* MSTPL4 */
  269. unsigned char _TMR01:1; /* MSTPL3 */
  270. unsigned char _TMR23:1; /* MSTPL2 */
  271. unsigned char:1; /* */
  272. unsigned char _AD:1; /* MSTPL0 */
  273. } BIT; /* */
  274. }; /* */
  275. struct st_bsc { /* struct BSC */
  276. char wk1; /* */
  277. union { /* BRCR */
  278. unsigned char BYTE; /* Byte Access */
  279. struct { /* Bit Access */
  280. unsigned char A23E:1; /* A23E */
  281. unsigned char A22E:1; /* A22E */
  282. unsigned char A21E:1; /* A21E */
  283. unsigned char A20E:1; /* A20E */
  284. unsigned char:3; /* */
  285. unsigned char BRLE:1; /* BRLE */
  286. } BIT; /* */
  287. } BRCR; /* */
  288. char wk2[10]; /* */
  289. union { /* ADRCR */
  290. unsigned char BYTE; /* Byte Access */
  291. struct { /* Bit Access */
  292. unsigned char:7; /* */
  293. unsigned char ADRCTL:1; /* ADRCTL */
  294. } BIT; /* */
  295. } ADRCR; /* */
  296. union { /* CSCR */
  297. unsigned char BYTE; /* Byte Access */
  298. struct { /* Bit Access */
  299. unsigned char CS7E:1; /* CS7E */
  300. unsigned char CS6E:1; /* CS6E */
  301. unsigned char CS5E:1; /* CS5E */
  302. unsigned char CS4E:1; /* CS4E */
  303. } BIT; /* */
  304. } CSCR; /* */
  305. union { /* ABWCR */
  306. unsigned char BYTE; /* Byte Access */
  307. struct { /* Bit Access */
  308. unsigned char ABW7:1; /* ABW7 */
  309. unsigned char ABW6:1; /* ABW6 */
  310. unsigned char ABW5:1; /* ABW5 */
  311. unsigned char ABW4:1; /* ABW4 */
  312. unsigned char ABW3:1; /* ABW3 */
  313. unsigned char ABW2:1; /* ABW2 */
  314. unsigned char ABW1:1; /* ABW1 */
  315. unsigned char ABW0:1; /* ABW0 */
  316. } BIT; /* */
  317. } ABWCR; /* */
  318. union { /* ASTCR */
  319. unsigned char BYTE; /* Byte Access */
  320. struct { /* Bit Access */
  321. unsigned char AST7:1; /* AST7 */
  322. unsigned char AST6:1; /* AST6 */
  323. unsigned char AST5:1; /* AST5 */
  324. unsigned char AST4:1; /* AST4 */
  325. unsigned char AST3:1; /* AST3 */
  326. unsigned char AST2:1; /* AST2 */
  327. unsigned char AST1:1; /* AST1 */
  328. unsigned char AST0:1; /* AST0 */
  329. } BIT; /* */
  330. } ASTCR; /* */
  331. union { /* WCR */
  332. unsigned short WORD; /* Word Access */
  333. struct { /* Byte Access */
  334. unsigned char H; /* WCRH */
  335. unsigned char L; /* WCRL */
  336. } BYTE; /* */
  337. struct { /* Bit Access */
  338. unsigned char W7:2; /* W7 */
  339. unsigned char W6:2; /* W6 */
  340. unsigned char W5:2; /* W5 */
  341. unsigned char W4:2; /* W4 */
  342. unsigned char W3:2; /* W3 */
  343. unsigned char W2:2; /* W2 */
  344. unsigned char W1:2; /* W1 */
  345. unsigned char W0:2; /* W0 */
  346. } BIT; /* */
  347. } WCR; /* */
  348. union { /* BCR */
  349. unsigned char BYTE; /* Byte Access */
  350. struct { /* Bit Access */
  351. unsigned char ICIS1:1; /* ICIS1 */
  352. unsigned char ICIS0:1; /* ICIS0 */
  353. unsigned char BROME:1; /* BROME */
  354. unsigned char BRSTS1:1; /* BRSTS1 */
  355. unsigned char BRSTS0:1; /* BRSTS0 */
  356. unsigned char:1; /* */
  357. unsigned char RDEA:1; /* RDEA */
  358. unsigned char WAITE:1; /* WAITE */
  359. } BIT; /* */
  360. } BCR; /* */
  361. char wk3; /* */
  362. union { /* DRCRA */
  363. unsigned char BYTE; /* Byte Access */
  364. struct { /* Bit Access */
  365. unsigned char DRAS:3; /* DRAS */
  366. unsigned char:1; /* */
  367. unsigned char BE:1; /* BE */
  368. unsigned char RDM:1; /* RDM */
  369. unsigned char SRFMD:1; /* SRFMD */
  370. unsigned char RFSHE:1; /* RFSHE */
  371. } BIT; /* */
  372. } DRCRA; /* */
  373. union { /* DRCRB */
  374. unsigned char BYTE; /* Byte Access */
  375. struct { /* Bit Access */
  376. unsigned char MXC:2; /* MXC */
  377. unsigned char CSEL:1; /* CSEL */
  378. unsigned char RCYCE:1; /* RCYCE */
  379. unsigned char:1; /* */
  380. unsigned char _TPC:1; /* TPC */
  381. unsigned char RCW:1; /* RCW */
  382. unsigned char RLW:1; /* RLW */
  383. } BIT; /* */
  384. } DRCRB; /* */
  385. union { /* RTMCSR */
  386. unsigned char BYTE; /* Byte Access */
  387. struct { /* Bit Access */
  388. unsigned char CMF:1; /* CMF */
  389. unsigned char CMIE:1; /* CMIE */
  390. unsigned char CKS:3; /* CKS */
  391. } BIT; /* */
  392. } RTMCSR; /* */
  393. unsigned char RTCNT; /* RTCNT */
  394. unsigned char RTCOR; /* RTCOR */
  395. }; /* */
  396. struct st_intc { /* struct INTC */
  397. union { /* ISCR */
  398. unsigned char BYTE; /* Byte Access */
  399. struct { /* Bit Access */
  400. unsigned char:2; /* */
  401. unsigned char IRQ5SC:1; /* IRQ5SC */
  402. unsigned char IRQ4SC:1; /* IRQ4SC */
  403. unsigned char IRQ3SC:1; /* IRQ3SC */
  404. unsigned char IRQ2SC:1; /* IRQ2SC */
  405. unsigned char IRQ1SC:1; /* IRQ1SC */
  406. unsigned char IRQ0SC:1; /* IRQ0SC */
  407. } BIT; /* */
  408. } ISCR; /* */
  409. union { /* IER */
  410. unsigned char BYTE; /* Byte Access */
  411. struct { /* Bit Access */
  412. unsigned char:2; /* */
  413. unsigned char IRQ5E:1; /* IRQ5E */
  414. unsigned char IRQ4E:1; /* IRQ4E */
  415. unsigned char IRQ3E:1; /* IRQ3E */
  416. unsigned char IRQ2E:1; /* IRQ2E */
  417. unsigned char IRQ1E:1; /* IRQ1E */
  418. unsigned char IRQ0E:1; /* IRQ0E */
  419. } BIT; /* */
  420. } IER; /* */
  421. union { /* ISR */
  422. unsigned char BYTE; /* Byte Access */
  423. struct { /* Bit Access */
  424. unsigned char:2; /* */
  425. unsigned char IRQ5F:1; /* IRQ5F */
  426. unsigned char IRQ4F:1; /* IRQ4F */
  427. unsigned char IRQ3F:1; /* IRQ3F */
  428. unsigned char IRQ2F:1; /* IRQ2F */
  429. unsigned char IRQ1F:1; /* IRQ1F */
  430. unsigned char IRQ0F:1; /* IRQ0F */
  431. } BIT; /* */
  432. } ISR; /* */
  433. char wk; /* */
  434. union { /* IPRA */
  435. unsigned char BYTE; /* Byte Access */
  436. struct { /* Bit Access */
  437. unsigned char _IRQ0:1; /* IRQ0 */
  438. unsigned char _IRQ1:1; /* IRQ1 */
  439. unsigned char _IRQ23:1; /* IRQ2,IRQ3 */
  440. unsigned char _IRQ45:1; /* IRQ4,IRQ5 */
  441. unsigned char _WDT:1; /* WDT,DRAM,A/D */
  442. unsigned char _ITU0:1; /* ITU0 */
  443. unsigned char _ITU1:1; /* ITU1 */
  444. unsigned char _ITU2:1; /* ITU2 */
  445. } BIT; /* */
  446. } IPRA; /* */
  447. union { /* IPRB */
  448. unsigned char BYTE; /* Byte Access */
  449. struct { /* Bit Access */
  450. unsigned char _TMR01:1; /* TMR0,1 */
  451. unsigned char _TMR23:1; /* TMR2,3 */
  452. unsigned char _DMAC:1; /* DMAC */
  453. unsigned char:1; /* */
  454. unsigned char _SCI0:1; /* SCI0 */
  455. unsigned char _SCI1:1; /* SCI1 */
  456. unsigned char _SCI2:1; /* SCI2 */
  457. } BIT; /* */
  458. } IPRB; /* */
  459. }; /* */
  460. #if __CPU__==2 /* Normal Mode */
  461. struct st_sam { /* struct DMAC */
  462. char wk[2]; /* */
  463. void *MAR; /* MAR */
  464. unsigned short ETCR; /* ETCR */
  465. unsigned char IOAR; /* IOAR */
  466. union { /* DTCR */
  467. unsigned char BYTE; /* Byte Access */
  468. struct { /* Bit Access */
  469. unsigned char DTE:1; /* DTE */
  470. unsigned char DTSZ:1; /* DTSZ */
  471. unsigned char DTID:1; /* DTID */
  472. unsigned char RPE:1; /* RPE */
  473. unsigned char DTIE:1; /* DTIE */
  474. unsigned char DTS:3; /* DTS */
  475. } BIT; /* */
  476. } DTCR; /* */
  477. }; /* */
  478. struct st_fam { /* struct DMAC */
  479. char wk1[2]; /* */
  480. void *MARA; /* MARA */
  481. unsigned short ETCRA; /* ETCRA */
  482. char wk2; /* */
  483. union { /* DTCRA */
  484. unsigned char BYTE; /* Byte Access */
  485. struct { /* Bit Access */
  486. unsigned char DTE:1; /* DTE */
  487. unsigned char DTSZ:1; /* DTSZ */
  488. unsigned char SAID:1; /* SAID */
  489. unsigned char SAIDE:1; /* SAIDE */
  490. unsigned char DTIE:1; /* DTIE */
  491. unsigned char DTS:3; /* DTS */
  492. } BIT; /* */
  493. } DTCRA; /* */
  494. char wk3[2]; /* */
  495. void *MARB; /* MARB */
  496. unsigned short ETCRB; /* ETCRB */
  497. char wk4; /* */
  498. union { /* DTCRB */
  499. unsigned char BYTE; /* Byte Access */
  500. struct { /* Bit Access */
  501. unsigned char DTME:1; /* DTME */
  502. unsigned char:1; /* */
  503. unsigned char DAID:1; /* DAID */
  504. unsigned char DAIDE:1; /* DAIDE */
  505. unsigned char TMS:1; /* TMS */
  506. unsigned char DTS:3; /* DTS */
  507. } BIT; /* */
  508. } DTCRB; /* */
  509. }; /* */
  510. #else /* Advanced Mode */
  511. struct st_sam { /* struct DMAC */
  512. void *MAR; /* MAR */
  513. unsigned short ETCR; /* ETCR */
  514. unsigned char IOAR; /* IOAR */
  515. union { /* DTCR */
  516. unsigned char BYTE; /* Byte Access */
  517. struct { /* Bit Access */
  518. unsigned char DTE:1; /* DTE */
  519. unsigned char DTSZ:1; /* DTSZ */
  520. unsigned char DTID:1; /* DTID */
  521. unsigned char RPE:1; /* RPE */
  522. unsigned char DTIE:1; /* DTIE */
  523. unsigned char DTS:3; /* DTS */
  524. } BIT; /* */
  525. } DTCR; /* */
  526. }; /* */
  527. struct st_fam { /* struct DMAC */
  528. void *MARA; /* MARA */
  529. unsigned short ETCRA; /* ETCRA */
  530. char wk1; /* */
  531. union { /* DTCRA */
  532. unsigned char BYTE; /* Byte Access */
  533. struct { /* Bit Access */
  534. unsigned char DTE:1; /* DTE */
  535. unsigned char DTSZ:1; /* DTSZ */
  536. unsigned char SAID:1; /* SAID */
  537. unsigned char SAIDE:1; /* SAIDE */
  538. unsigned char DTIE:1; /* DTIE */
  539. unsigned char DTS:3; /* DTS */
  540. } BIT; /* */
  541. } DTCRA; /* */
  542. void *MARB; /* MARB */
  543. unsigned short ETCRB; /* ETCRB */
  544. char wk2; /* */
  545. union { /* DTCRB */
  546. unsigned char BYTE; /* Byte Access */
  547. struct { /* Bit Access */
  548. unsigned char DTME:1; /* DTME */
  549. unsigned char:1; /* */
  550. unsigned char DAID:1; /* DAID */
  551. unsigned char DAIDE:1; /* DAIDE */
  552. unsigned char TMS:1; /* TMS */
  553. unsigned char DTS:3; /* DTS */
  554. } BIT; /* */
  555. } DTCRB; /* */
  556. }; /* */
  557. #endif /* */
  558. struct st_flash { /* struct FLASH */
  559. union { /* FLMCR1 */
  560. unsigned char BYTE; /* Byte Access */
  561. struct { /* Bit Access */
  562. unsigned char FWE:1; /* FWE */
  563. unsigned char SWE:1; /* SWE */
  564. unsigned char ESU:1; /* ESU */
  565. unsigned char PSU:1; /* PSU */
  566. unsigned char EV:1; /* EV */
  567. unsigned char PV:1; /* PV */
  568. unsigned char E:1; /* E */
  569. unsigned char P:1; /* P */
  570. } BIT; /* */
  571. } FLMCR1; /* */
  572. union { /* FLMCR2 */
  573. unsigned char BYTE; /* Byte Access */
  574. struct { /* Bit Access */
  575. unsigned char FLER:1; /* FLER */
  576. } BIT; /* */
  577. } FLMCR2; /* */
  578. union { /* EBR1 */
  579. unsigned char BYTE; /* Byte Access */
  580. struct { /* Bit Access */
  581. unsigned char EB7:1; /* EB7 */
  582. unsigned char EB6:1; /* EB6 */
  583. unsigned char EB5:1; /* EB5 */
  584. unsigned char EB4:1; /* EB4 */
  585. unsigned char EB3:1; /* EB3 */
  586. unsigned char EB2:1; /* EB2 */
  587. unsigned char EB1:1; /* EB1 */
  588. unsigned char EB0:1; /* EB0 */
  589. } BIT; /* */
  590. } EBR1; /* */
  591. union { /* EBR2 */
  592. unsigned char BYTE; /* Byte Access */
  593. struct { /* Bit Access */
  594. unsigned char:2; /* */
  595. unsigned char EB13:1; /* EB13 */
  596. unsigned char EB12:1; /* EB12 */
  597. unsigned char EB11:1; /* EB11 */
  598. unsigned char EB10:1; /* EB10 */
  599. unsigned char EB9:1; /* EB9 */
  600. unsigned char EB8:1; /* EB8 */
  601. } BIT; /* */
  602. } EBR2; /* */
  603. char wk[67]; /* */
  604. union { /* RAMCR */
  605. unsigned char BYTE; /* Byte Access */
  606. struct { /* Bit Access */
  607. unsigned char:4; /* */
  608. unsigned char RAMS:1; /* RAMS */
  609. unsigned char RAM:3; /* RAM */
  610. } BIT; /* */
  611. } RAMCR; /* */
  612. }; /* */
  613. struct st_itu { /* struct ITU */
  614. union { /* TSTR */
  615. unsigned char BYTE; /* Byte Access */
  616. struct { /* Bit Access */
  617. unsigned char:5; /* */
  618. unsigned char STR2:1; /* STR2 */
  619. unsigned char STR1:1; /* STR1 */
  620. unsigned char STR0:1; /* STR0 */
  621. } BIT; /* */
  622. } TSTR; /* */
  623. union { /* TSNC */
  624. unsigned char BYTE; /* Byte Access */
  625. struct { /* Bit Access */
  626. unsigned char:5; /* */
  627. unsigned char SYNC2:1; /* SYNC2 */
  628. unsigned char SYNC1:1; /* SYNC1 */
  629. unsigned char SYNC0:1; /* SYNC0 */
  630. } BIT; /* */
  631. } TSNC; /* */
  632. union { /* TMDR */
  633. unsigned char BYTE; /* Byte Access */
  634. struct { /* Bit Access */
  635. unsigned char:1; /* */
  636. unsigned char MDF:1; /* MDF */
  637. unsigned char FDIR:1; /* FDIR */
  638. unsigned char:2; /* */
  639. unsigned char PWM2:1; /* PWM2 */
  640. unsigned char PWM1:1; /* PWM1 */
  641. unsigned char PWM0:1; /* PWM0 */
  642. } BIT; /* */
  643. } TMDR; /* */
  644. union { /* TOLR */
  645. unsigned char BYTE; /* Byte Access */
  646. struct { /* Bit Access */
  647. unsigned char:2; /* */
  648. unsigned char TOB2:1; /* TOB2 */
  649. unsigned char TOA2:1; /* TOA2 */
  650. unsigned char TOB1:1; /* TOB1 */
  651. unsigned char TOA1:1; /* TOA1 */
  652. unsigned char TOB0:1; /* TOB0 */
  653. unsigned char TOA0:1; /* TOA0 */
  654. } BIT; /* */
  655. } TOLR; /* */
  656. union { /* TISRA */
  657. unsigned char BYTE; /* Byte Access */
  658. struct { /* Bit Access */
  659. unsigned char:1; /* */
  660. unsigned char IMIEA2:1; /* IMIEA2 */
  661. unsigned char IMIEA1:1; /* IMIEA2 */
  662. unsigned char IMIEA0:1; /* IMIEA2 */
  663. unsigned char:1; /* */
  664. unsigned char IMFA2:1; /* IMFA2 */
  665. unsigned char IMFA1:1; /* IMFA1 */
  666. unsigned char IMFA0:1; /* IMFA0 */
  667. } BIT; /* */
  668. } TISRA; /* */
  669. union { /* TISRB */
  670. unsigned char BYTE; /* Byte Access */
  671. struct { /* Bit Access */
  672. unsigned char:1; /* */
  673. unsigned char IMIEB2:1; /* IMIEB2 */
  674. unsigned char IMIEB1:1; /* IMIEB2 */
  675. unsigned char IMIEB0:1; /* IMIEB2 */
  676. unsigned char:1; /* */
  677. unsigned char IMFB2:1; /* IMFB2 */
  678. unsigned char IMFB1:1; /* IMFB1 */
  679. unsigned char IMFB0:1; /* IMFB0 */
  680. } BIT; /* */
  681. } TISRB; /* */
  682. union { /* TISRC */
  683. unsigned char BYTE; /* Byte Access */
  684. struct { /* Bit Access */
  685. unsigned char:1; /* */
  686. unsigned char OVIE2:1; /* OVIE2 */
  687. unsigned char OVIE1:1; /* OVIE2 */
  688. unsigned char OVIE0:1; /* OVIE2 */
  689. unsigned char:1; /* */
  690. unsigned char OVF2:1; /* OVF2 */
  691. unsigned char OVF1:1; /* OVF1 */
  692. unsigned char OVF0:1; /* OVF0 */
  693. } BIT; /* */
  694. } TISRC; /* */
  695. }; /* */
  696. struct st_itu0 { /* struct ITU0 */
  697. union { /* TCR */
  698. unsigned char BYTE; /* Byte Access */
  699. struct { /* Bit Access */
  700. unsigned char:1; /* */
  701. unsigned char CCLR:2; /* CCLR */
  702. unsigned char CKEG:2; /* CKEG */
  703. unsigned char TPSC:3; /* TPSC */
  704. } BIT; /* */
  705. } TCR; /* */
  706. union { /* TIOR */
  707. unsigned char BYTE; /* Byte Access */
  708. struct { /* Bit Access */
  709. unsigned char:1; /* */
  710. unsigned char IOB:3; /* IOB */
  711. unsigned char:1; /* */
  712. unsigned char IOA:3; /* IOA */
  713. } BIT; /* */
  714. } TIOR; /* */
  715. unsigned short TCNT; /* TCNT */
  716. unsigned short GRA; /* GRA */
  717. unsigned short GRB; /* GRB */
  718. }; /* */
  719. union un_wdt { /* union WDT */
  720. struct { /* Read Access */
  721. union { /* TCSR */
  722. unsigned char BYTE; /* Byte Access */
  723. struct { /* Bit Access */
  724. unsigned char OVF:1; /* OVF */
  725. unsigned char WTIT:1; /* WT/IT */
  726. unsigned char TME:1; /* TME */
  727. unsigned char:2; /* */
  728. unsigned char CKS:3; /* CKS */
  729. } BIT; /* */
  730. } TCSR; /* */
  731. unsigned char TCNT; /* TCNT */
  732. char wk; /* */
  733. union { /* RSTCSR */
  734. unsigned char BYTE; /* Byte Access */
  735. struct { /* */
  736. unsigned char WRST:1; /* WSRT */
  737. } BIT; /* */
  738. } RSTCSR; /* */
  739. } READ; /* */
  740. struct { /* Write Access */
  741. unsigned short TCSR; /* TCSR/TCNT */
  742. unsigned short RSTCSR; /* RSTCSR */
  743. } WRITE; /* */
  744. }; /* */
  745. struct st_tmr01 { /* struct TMR01 */
  746. union { /* TCR0 */
  747. unsigned char BYTE; /* Byte Access */
  748. struct { /* Bit Access */
  749. unsigned char CMIEB:1; /* CMIEB */
  750. unsigned char CMIEA:1; /* CMIEA */
  751. unsigned char OVIE:1; /* OVIE */
  752. unsigned char CCLR:2; /* CCLR */
  753. unsigned char CKS:3; /* CKS */
  754. } BIT; /* */
  755. } TCR0; /* */
  756. union { /* TCR1 */
  757. unsigned char BYTE; /* Byte Access */
  758. struct { /* Bit Access */
  759. unsigned char CMIEB:1; /* CMIEB */
  760. unsigned char CMIEA:1; /* CMIEA */
  761. unsigned char OVIE:1; /* OVIE */
  762. unsigned char CCLR:2; /* CCLR */
  763. unsigned char CKS:3; /* CKS */
  764. } BIT; /* */
  765. } TCR1; /* */
  766. union { /* TCSR0 */
  767. unsigned char BYTE; /* Byte Access */
  768. struct { /* Bit Access */
  769. unsigned char CMFB:1; /* CMFB */
  770. unsigned char CMFA:1; /* CMFA */
  771. unsigned char OVF:1; /* OVF */
  772. unsigned char ADTE:1; /* ADTE */
  773. unsigned char OS:4; /* OS */
  774. } BIT; /* */
  775. } TCSR0; /* */
  776. union { /* TCSR1 */
  777. unsigned char BYTE; /* Byte Access */
  778. struct { /* Bit Access */
  779. unsigned char CMFB:1; /* CMFB */
  780. unsigned char CMFA:1; /* CMFA */
  781. unsigned char OVF:1; /* OVF */
  782. unsigned char ICE:1; /* ICE */
  783. unsigned char OS:4; /* OS */
  784. } BIT; /* */
  785. } TCSR1; /* */
  786. unsigned short TCORA; /* TCORA */
  787. unsigned short TCORB; /* TCORB */
  788. unsigned short TCNT; /* TCNT */
  789. }; /* */
  790. struct st_tmr23 { /* struct TMR23 */
  791. union { /* TCR2 */
  792. unsigned char BYTE; /* Byte Access */
  793. struct { /* Bit Access */
  794. unsigned char CMIEB:1; /* CMIEB */
  795. unsigned char CMIEA:1; /* CMIEA */
  796. unsigned char OVIE:1; /* OVIE */
  797. unsigned char CCLR:2; /* CCLR */
  798. unsigned char CKS:3; /* CKS */
  799. } BIT; /* */
  800. } TCR2; /* */
  801. union { /* TCR3 */
  802. unsigned char BYTE; /* Byte Access */
  803. struct { /* Bit Access */
  804. unsigned char CMIEB:1; /* CMIEB */
  805. unsigned char CMIEA:1; /* CMIEA */
  806. unsigned char OVIE:1; /* OVIE */
  807. unsigned char CCLR:2; /* CCLR */
  808. unsigned char CKS:3; /* CKS */
  809. } BIT; /* */
  810. } TCR3; /* */
  811. union { /* TCSR2 */
  812. unsigned char BYTE; /* Byte Access */
  813. struct { /* Bit Access */
  814. unsigned char CMFB:1; /* CMFB */
  815. unsigned char CMFA:1; /* CMFA */
  816. unsigned char OVF:1; /* OVF */
  817. unsigned char:1; /* */
  818. unsigned char OS:4; /* OS */
  819. } BIT; /* */
  820. } TCSR2; /* */
  821. union { /* TCSR3 */
  822. unsigned char BYTE; /* Byte Access */
  823. struct { /* Bit Access */
  824. unsigned char CMFB:1; /* CMFB */
  825. unsigned char CMFA:1; /* CMFA */
  826. unsigned char OVF:1; /* OVF */
  827. unsigned char ICE:1; /* ICE */
  828. unsigned char OS:4; /* OS */
  829. } BIT; /* */
  830. } TCSR3; /* */
  831. unsigned short TCORA; /* TCORA */
  832. unsigned short TCORB; /* TCORB */
  833. unsigned short TCNT; /* TCNT */
  834. }; /* */
  835. struct st_tmr0 { /* struct TMR0 */
  836. union { /* TCR */
  837. unsigned char BYTE; /* Byte Access */
  838. struct { /* Bit Access */
  839. unsigned char CMIEB:1; /* CMIEB */
  840. unsigned char CMIEA:1; /* CMIEA */
  841. unsigned char OVIE:1; /* OVIE */
  842. unsigned char CCLR:2; /* CCLR */
  843. unsigned char CKS:3; /* CKS */
  844. } BIT; /* */
  845. } TCR; /* */
  846. char wk1; /* */
  847. union { /* TCSR */
  848. unsigned char BYTE; /* Byte Access */
  849. struct { /* Bit Access */
  850. unsigned char CMFB:1; /* CMFB */
  851. unsigned char CMFA:1; /* CMFA */
  852. unsigned char OVF:1; /* OVF */
  853. unsigned char ADTE:1; /* ADTE */
  854. unsigned char OS:4; /* OS */
  855. } BIT; /* */
  856. } TCSR; /* */
  857. char wk2; /* */
  858. unsigned char TCORA; /* TCORA */
  859. char wk3; /* */
  860. unsigned char TCORB; /* TCORB */
  861. char wk4; /* */
  862. unsigned char TCNT; /* TCNT */
  863. }; /* */
  864. struct st_tmr1 { /* struct TMR1 */
  865. union { /* TCR */
  866. unsigned char BYTE; /* Byte Access */
  867. struct { /* Bit Access */
  868. unsigned char CMIEB:1; /* CMIEB */
  869. unsigned char CMIEA:1; /* CMIEA */
  870. unsigned char OVIE:1; /* OVIE */
  871. unsigned char CCLR:2; /* CCLR */
  872. unsigned char CKS:3; /* CKS */
  873. } BIT; /* */
  874. } TCR; /* */
  875. char wk1; /* */
  876. union { /* TCSR */
  877. unsigned char BYTE; /* Byte Access */
  878. struct { /* Bit Access */
  879. unsigned char CMFB:1; /* CMFB */
  880. unsigned char CMFA:1; /* CMFA */
  881. unsigned char OVF:1; /* OVF */
  882. unsigned char ICE:1; /* ICE */
  883. unsigned char OS:4; /* OS */
  884. } BIT; /* */
  885. } TCSR; /* */
  886. char wk2; /* */
  887. unsigned char TCORA; /* TCORA */
  888. char wk3; /* */
  889. unsigned char TCORB; /* TCORB */
  890. char wk4; /* */
  891. unsigned char TCNT; /* TCNT */
  892. }; /* */
  893. struct st_tmr2 { /* struct TMR2 */
  894. union { /* TCR */
  895. unsigned char BYTE; /* Byte Access */
  896. struct { /* Bit Access */
  897. unsigned char CMIEB:1; /* CMIEB */
  898. unsigned char CMIEA:1; /* CMIEA */
  899. unsigned char OVIE:1; /* OVIE */
  900. unsigned char CCLR:2; /* CCLR */
  901. unsigned char CKS:3; /* CKS */
  902. } BIT; /* */
  903. } TCR; /* */
  904. char wk1; /* */
  905. union { /* TCSR */
  906. unsigned char BYTE; /* Byte Access */
  907. struct { /* Bit Access */
  908. unsigned char CMFB:1; /* CMFB */
  909. unsigned char CMFA:1; /* CMFA */
  910. unsigned char OVF:1; /* OVF */
  911. unsigned char:1; /* */
  912. unsigned char OS:4; /* OS */
  913. } BIT; /* */
  914. } TCSR; /* */
  915. char wk2; /* */
  916. unsigned char TCORA; /* TCORA */
  917. char wk3; /* */
  918. unsigned char TCORB; /* TCORB */
  919. char wk4; /* */
  920. unsigned char TCNT; /* TCNT */
  921. }; /* */
  922. union un_dastcr { /* DASTCR */
  923. unsigned char BYTE; /* Byte Access */
  924. struct { /* Bit Access */
  925. unsigned char:7; /* */
  926. unsigned char DASTE:1; /* DASTE */
  927. } BIT; /* */
  928. }; /* */
  929. struct st_da { /* struct D/A */
  930. unsigned char DADR0; /* DADR0 */
  931. unsigned char DADR1; /* DADR1 */
  932. union { /* DACR */
  933. unsigned char BYTE; /* Byte Access */
  934. struct { /* Bit Access */
  935. unsigned char DAOE1:1; /* DAOE1 */
  936. unsigned char DAOE0:1; /* DAOE0 */
  937. unsigned char DAE:1; /* DAE */
  938. } BIT; /* */
  939. } DACR; /* */
  940. }; /* */
  941. struct st_tpc { /* struct TPC */
  942. union { /* TPMR */
  943. unsigned char BYTE; /* Byte Access */
  944. struct { /* Bit Access */
  945. unsigned char:4; /* */
  946. unsigned char G3NOV:1; /* G3NOV */
  947. unsigned char G2NOV:1; /* G2NOV */
  948. unsigned char G1NOV:1; /* G1NOV */
  949. unsigned char G0NOV:1; /* G0NOV */
  950. } BIT; /* */
  951. } TPMR; /* */
  952. union { /* TPCR */
  953. unsigned char BYTE; /* Byte Access */
  954. struct { /* Bit Access */
  955. unsigned char G3CMS:2; /* G3CMS */
  956. unsigned char G2CMS:2; /* G2CMS */
  957. unsigned char G1CMS:2; /* G1CMS */
  958. unsigned char G0CMS:2; /* G0CMS */
  959. } BIT; /* */
  960. } TPCR; /* */
  961. union { /* NDERB */
  962. unsigned char BYTE; /* Byte Access */
  963. struct { /* Bit Access */
  964. unsigned char B15:1; /* NDER15 */
  965. unsigned char B14:1; /* NDER14 */
  966. unsigned char B13:1; /* NDER13 */
  967. unsigned char B12:1; /* NDER12 */
  968. unsigned char B11:1; /* NDER11 */
  969. unsigned char B10:1; /* NDER10 */
  970. unsigned char B9:1; /* NDER9 */
  971. unsigned char B8:1; /* NDER8 */
  972. } BIT; /* */
  973. } NDERB; /* */
  974. union { /* NDERA */
  975. unsigned char BYTE; /* Byte Access */
  976. struct { /* Bit Access */
  977. unsigned char B7:1; /* NDER7 */
  978. unsigned char B6:1; /* NDER6 */
  979. unsigned char B5:1; /* NDER5 */
  980. unsigned char B4:1; /* NDER4 */
  981. unsigned char B3:1; /* NDER3 */
  982. unsigned char B2:1; /* NDER2 */
  983. unsigned char B1:1; /* NDER1 */
  984. unsigned char B0:1; /* NDER0 */
  985. } BIT; /* */
  986. } NDERA; /* */
  987. union { /* NDRB (H'A4) */
  988. unsigned char BYTE; /* Byte Access */
  989. struct { /* Bit Access */
  990. unsigned char B15:1; /* NDR15 */
  991. unsigned char B14:1; /* NDR14 */
  992. unsigned char B13:1; /* NDR13 */
  993. unsigned char B12:1; /* NDR12 */
  994. unsigned char B11:1; /* NDR11 */
  995. unsigned char B10:1; /* NDR10 */
  996. unsigned char B9:1; /* NDR9 */
  997. unsigned char B8:1; /* NDR8 */
  998. } BIT; /* */
  999. } NDRB1; /* */
  1000. union { /* NDRA (H'A5) */
  1001. unsigned char BYTE; /* Byte Access */
  1002. struct { /* Bit Access */
  1003. unsigned char B7:1; /* NDR7 */
  1004. unsigned char B6:1; /* NDR6 */
  1005. unsigned char B5:1; /* NDR5 */
  1006. unsigned char B4:1; /* NDR4 */
  1007. unsigned char B3:1; /* NDR3 */
  1008. unsigned char B2:1; /* NDR2 */
  1009. unsigned char B1:1; /* NDR1 */
  1010. unsigned char B0:1; /* NDR0 */
  1011. } BIT; /* */
  1012. } NDRA1; /* */
  1013. union { /* NDRB (H'A6) */
  1014. unsigned char BYTE; /* Byte Access */
  1015. struct { /* Bit Access */
  1016. unsigned char:4; /* */
  1017. unsigned char B11:1; /* NDR11 */
  1018. unsigned char B10:1; /* NDR10 */
  1019. unsigned char B9:1; /* NDR9 */
  1020. unsigned char B8:1; /* NDR8 */
  1021. } BIT; /* */
  1022. } NDRB2; /* */
  1023. union { /* NDRA (H'A7) */
  1024. unsigned char BYTE; /* Byte Access */
  1025. struct { /* Bit Access */
  1026. unsigned char:4; /* */
  1027. unsigned char B3:1; /* NDR3 */
  1028. unsigned char B2:1; /* NDR2 */
  1029. unsigned char B1:1; /* NDR1 */
  1030. unsigned char B0:1; /* NDR0 */
  1031. } BIT; /* */
  1032. } NDRA2; /* */
  1033. }; /* */
  1034. struct st_sci { /* struct SCI */
  1035. union { /* SMR */
  1036. unsigned char BYTE; /* Byte Access */
  1037. struct { /* Bit Access */
  1038. unsigned char CA:1; /* C/A */
  1039. unsigned char CHR:1; /* CHR */
  1040. unsigned char PE:1; /* PE */
  1041. unsigned char OE:1; /* O/E */
  1042. unsigned char STOP:1; /* STOP */
  1043. unsigned char MP:1; /* MP */
  1044. unsigned char CKS:2; /* CKS */
  1045. } BIT; /* */
  1046. } SMR; /* */
  1047. unsigned char BRR; /* BRR */
  1048. union { /* SCR */
  1049. unsigned char BYTE; /* Byte Access */
  1050. struct { /* Bit Access */
  1051. unsigned char TIE:1; /* TIE */
  1052. unsigned char RIE:1; /* RIE */
  1053. unsigned char TE:1; /* TE */
  1054. unsigned char RE:1; /* RE */
  1055. unsigned char MPIE:1; /* MPIE */
  1056. unsigned char TEIE:1; /* TEIE */
  1057. unsigned char CKE:2; /* CKE */
  1058. } BIT; /* */
  1059. } SCR; /* */
  1060. unsigned char TDR; /* TDR */
  1061. union { /* SSR */
  1062. unsigned char BYTE; /* Byte Access */
  1063. struct { /* Bit Access */
  1064. unsigned char TDRE:1; /* TDRE */
  1065. unsigned char RDRF:1; /* RDRF */
  1066. unsigned char ORER:1; /* ORER */
  1067. unsigned char FER:1; /* FER */
  1068. unsigned char PER:1; /* PER */
  1069. unsigned char TEND:1; /* TEND */
  1070. unsigned char MPB:1; /* MPB */
  1071. unsigned char MPBT:1; /* MPBT */
  1072. } BIT; /* */
  1073. } SSR; /* */
  1074. unsigned char RDR; /* RDR */
  1075. union { /* SCMR */
  1076. unsigned char BYTE; /* Byte Access */
  1077. struct { /* Bit Access */
  1078. unsigned char:4; /* */
  1079. unsigned char SDIR:1; /* SDIR */
  1080. unsigned char SINV:1; /* SINV */
  1081. unsigned char:1; /* */
  1082. unsigned char SMIF:1; /* SMIF */
  1083. } BIT; /* */
  1084. } SCMR; /* */
  1085. }; /* */
  1086. struct st_smci { /* struct SMCI */
  1087. union { /* SMR */
  1088. unsigned char BYTE; /* Byte Access */
  1089. struct { /* Bit Access */
  1090. unsigned char GM:1; /* GM */
  1091. unsigned char CHR:1; /* CHR */
  1092. unsigned char PE:1; /* PE */
  1093. unsigned char OE:1; /* O/E */
  1094. unsigned char STOP:1; /* STOP */
  1095. unsigned char MP:1; /* MP */
  1096. unsigned char CKS:2; /* CKS */
  1097. } BIT; /* */
  1098. } SMR; /* */
  1099. unsigned char BRR; /* BRR */
  1100. union { /* SCR */
  1101. unsigned char BYTE; /* Byte Access */
  1102. struct { /* Bit Access */
  1103. unsigned char TIE:1; /* TIE */
  1104. unsigned char RIE:1; /* RIE */
  1105. unsigned char TE:1; /* TE */
  1106. unsigned char RE:1; /* RE */
  1107. unsigned char MPIE:1; /* MPIE */
  1108. unsigned char TEIE:1; /* TEIE */
  1109. unsigned char CKE:2; /* CKE */
  1110. } BIT; /* */
  1111. } SCR; /* */
  1112. unsigned char TDR; /* TDR */
  1113. union { /* SSR */
  1114. unsigned char BYTE; /* Byte Access */
  1115. struct { /* Bit Access */
  1116. unsigned char TDRE:1; /* TDRE */
  1117. unsigned char RDRF:1; /* RDRF */
  1118. unsigned char ORER:1; /* ORER */
  1119. unsigned char ERS:1; /* ERS */
  1120. unsigned char PER:1; /* PER */
  1121. unsigned char TEND:1; /* TEND */
  1122. unsigned char MPB:1; /* MPB */
  1123. unsigned char MPBT:1; /* MPBT */
  1124. } BIT; /* */
  1125. } SSR; /* */
  1126. unsigned char RDR; /* RDR */
  1127. union { /* SCMR */
  1128. unsigned char BYTE; /* Byte Access */
  1129. struct { /* Bit Access */
  1130. unsigned char:4; /* */
  1131. unsigned char SDIR:1; /* SDIR */
  1132. unsigned char SINV:1; /* SINV */
  1133. unsigned char:1; /* */
  1134. unsigned char SMIF:1; /* SMIF */
  1135. } BIT; /* */
  1136. } SCMR; /* */
  1137. }; /* */
  1138. struct st_ad { /* struct A/D */
  1139. unsigned short ADDRA; /* ADDRA */
  1140. unsigned short ADDRB; /* ADDRB */
  1141. unsigned short ADDRC; /* ADDRC */
  1142. unsigned short ADDRD; /* ADDRD */
  1143. union { /* ADCSR */
  1144. unsigned char BYTE; /* Byte Access */
  1145. struct { /* Bit Access */
  1146. unsigned char ADF:1; /* ADF */
  1147. unsigned char ADIE:1; /* ADIE */
  1148. unsigned char ADST:1; /* ADST */
  1149. unsigned char SCAN:1; /* SCAN */
  1150. unsigned char CKS:1; /* CKS */
  1151. unsigned char CH:3; /* CH */
  1152. } BIT; /* */
  1153. } ADCSR; /* */
  1154. union { /* ADCR */
  1155. unsigned char BYTE; /* Byte Access */
  1156. struct { /* Bit Access */
  1157. unsigned char TRGE:1; /* TRGE */
  1158. } BIT; /* */
  1159. } ADCR; /* */
  1160. }; /* */
  1161. #define P1DDR (*(volatile unsigned char *)0xFEE000) /* P1DDR Address */
  1162. #define P2DDR (*(volatile unsigned char *)0xFEE001) /* P2DDR Address */
  1163. #define P3DDR (*(volatile unsigned char *)0xFEE002) /* P3DDR Address */
  1164. #define P4DDR (*(volatile unsigned char *)0xFEE003) /* P4DDR Address */
  1165. #define P5DDR (*(volatile unsigned char *)0xFEE004) /* P5DDR Address */
  1166. #define P6DDR (*(volatile unsigned char *)0xFEE005) /* P6DDR Address */
  1167. #define P8DDR (*(volatile unsigned char *)0xFEE007) /* P8DDR Address */
  1168. #define P9DDR (*(volatile unsigned char *)0xFEE008) /* P9DDR Address */
  1169. #define PADDR (*(volatile unsigned char *)0xFEE009) /* PADDR Address */
  1170. #define PBDDR (*(volatile unsigned char *)0xFEE00A) /* PBDDR Address */
  1171. #define P2PCR (*(volatile union un_p2pcr *)0xFEE03C) /* P2PCR Address */
  1172. #define P4PCR (*(volatile union un_p4pcr *)0xFEE03E) /* P4PCR Address */
  1173. #define P5PCR (*(volatile union un_p5pcr *)0xFEE03F) /* P5PCR Address */
  1174. #define P1DR (*(volatile union un_p1dr *)0xFFFFD0) /* P1DR Address */
  1175. #define P2DR (*(volatile union un_p2dr *)0xFFFFD1) /* P2DR Address */
  1176. #define P3DR (*(volatile union un_p3dr *)0xFFFFD2) /* P3DR Address */
  1177. #define P4DR (*(volatile union un_p4dr *)0xFFFFD3) /* P4DR Address */
  1178. #define P5DR (*(volatile union un_p5dr *)0xFFFFD4) /* P5DR Address */
  1179. #define P6DR (*(volatile union un_p6dr *)0xFFFFD5) /* P6DR Address */
  1180. #define P7DR (*(volatile union un_p7dr *)0xFFFFD6) /* P7DR Address */
  1181. #define P8DR (*(volatile union un_p8dr *)0xFFFFD7) /* P8DR Address */
  1182. #define P9DR (*(volatile union un_p9dr *)0xFFFFD8) /* P9DR Address */
  1183. #define PADR (*(volatile union un_padr *)0xFFFFD9) /* PADR Address */
  1184. #define PBDR (*(volatile union un_pbdr *)0xFFFFDA) /* PBDR Address */
  1185. #define MDCR (*(volatile union un_mdcr *)0xFEE011) /* MDCR Address */
  1186. #define SYSCR (*(volatile union un_syscr *)0xFEE012) /* SYSCR Address */
  1187. #define DIVCR (*(volatile union un_divcr *)0xFEE01B) /* DIVCR Address */
  1188. #define MSTCR (*(volatile union un_mstcr *)0xFEE01C) /* MSTCR Address */
  1189. #define BSC (*(volatile struct st_bsc *)0xFEE012) /* BSC Address */
  1190. #define INTC (*(volatile struct st_intc *)0xFEE014) /* INTC Address */
  1191. #define DMAC0A (*(volatile struct st_sam *)0xFFFF20) /* DMAC 0A Addr */
  1192. #define DMAC0B (*(volatile struct st_sam *)0xFFFF28) /* DMAC 0B Addr */
  1193. #define DMAC1A (*(volatile struct st_sam *)0xFFFF30) /* DMAC 1A Addr */
  1194. #define DMAC1B (*(volatile struct st_sam *)0xFFFF38) /* DMAC 1B Addr */
  1195. #define DMAC0 (*(volatile struct st_fam *)0xFFFF20) /* DMAC 0 Addr */
  1196. #define DMAC1 (*(volatile struct st_fam *)0xFFFF30) /* DMAC 1 Addr */
  1197. #define FLASH (*(volatile struct st_flash *)0xFFFF40) /* FLASH Address */
  1198. #define ITU (*(volatile struct st_itu *)0xFFFF60) /* ITU Address */
  1199. #define ITU0 (*(volatile struct st_itu0 *)0xFFFF68) /* ITU0 Address */
  1200. #define ITU1 (*(volatile struct st_itu0 *)0xFFFF70) /* ITU1 Address */
  1201. #define ITU2 (*(volatile struct st_itu0 *)0xFFFF78) /* ITU2 Address */
  1202. #define WDT (*(volatile union un_wdt *)0xFFFF8C) /* WDT Address */
  1203. #define TMR01 (*(volatile struct st_tmr01 *)0xFFFF80) /* TMR01 Address */
  1204. #define TMR23 (*(volatile struct st_tmr23 *)0xFFFF90) /* TMR23 Address */
  1205. #define TMR0 (*(volatile struct st_tmr0 *)0xFFFF80) /* TMR0 Address */
  1206. #define TMR1 (*(volatile struct st_tmr1 *)0xFFFF81) /* TMR1 Address */
  1207. #define TMR2 (*(volatile struct st_tmr2 *)0xFFFF90) /* TMR2 Address */
  1208. #define TMR3 (*(volatile struct st_tmr1 *)0xFFFF91) /* TMR3 Address */
  1209. #define DASTCR (*(volatile union un_dastcr*)0xFEE01A) /* DASTCRAddress */
  1210. #define DA (*(volatile struct st_da *)0xFFFF9C) /* D/A Address */
  1211. #define TPC (*(volatile struct st_tpc *)0xFFFFA0) /* TPC Address */
  1212. #define SCI0 (*(volatile struct st_sci *)0xFFFFB0) /* SCI0 Address */
  1213. #define SCI1 (*(volatile struct st_sci *)0xFFFFB8) /* SCI1 Address */
  1214. #define SCI2 (*(volatile struct st_sci *)0xFFFFC0) /* SCI2 Address */
  1215. #define SMCI0 (*(volatile struct st_smci *)0xFFFFB0) /* SMCI0 Address */
  1216. #define SMCI1 (*(volatile struct st_smci *)0xFFFFB8) /* SMCI1 Address */
  1217. #define SMCI2 (*(volatile struct st_smci *)0xFFFFC0) /* SMCI2 Address */
  1218. #define AD (*(volatile struct st_ad *)0xFFFFE0) /* A/D Address */
  1219. #endif /* #ifndef __INCLUDE_H83068F_H__ */