h83068f.h 65 KB

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