source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/h8-renesas/h8_3048f.h@ 26

Last change on this file since 26 was 26, checked in by ykominami, 12 years ago

initial

File size: 23.1 KB
Line 
1/*
2 * TOPPERS/JSP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Just Standard Profile Kernel
5 *
6 * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 * Copyright (C) 2001-2007 by Industrial Technology Institute,
9 * Miyagi Prefectural Government, JAPAN
10 * Copyright (C) 2001-2004 by Dep. of Computer Science and Engineering
11 * Tomakomai National College of Technology, JAPAN
12 *
13 * 上記著作権者
14は,以下の (1)〜(4) の条件か,Free Software Foundation
15 * によってå…
16¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
17 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
18 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
19å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
20 * 利用と呼ぶ)することを無償で許諾する.
21 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
22 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
23 * スコード中に含まれていること.
24 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
25 * 用できる形で再é…
26å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
27å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
28 * 者
29マニュアルなど)に,上記の著作権表示,この利用条件および下記
30 * の無保証規定を掲載すること.
31 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
32 * 用できない形で再é…
33å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
34 * と.
35 * (a) 再é…
36å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
37マニュアルなど)に,上記の著
38 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
39 * (b) 再é…
40å¸ƒã®å½¢æ…
41‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
42 * 報告すること.
43 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
44 * 害からも,上記著作権者
45およびTOPPERSプロジェクトをå…
46è²¬ã™ã‚‹ã“と.
47 *
48 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
49お
50 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
51 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
52 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
53 *
54 * @(#) $Id: h8_3048f.h,v 1.7 2007/03/23 07:58:33 honda Exp $
55 */
56
57#ifndef _H8_3048F_H_
58#define _H8_3048F_H_
59
60/*
61 * H8/3048F用定義
62 * H8/3048F-ONEとå…
63±ç”¨ã§ã‚る。
64 * 両者
65の違いは、フラッシュROM関連の制御レジスタ群の扱いであるが、
66 * このファイルにはフラッシュROM関連の制御レジスタ群は定義していない
67 * (実行中にフラッシュROMを書き換える使い方は想定していない)
68 *
69 * int型が16ビットのため、アドレス値にはすべてLを付加している。
70 */
71
72/* Interrupt numbers */
73
74#define IRQ_NMI 7u /* NMI */
75
76#define IRQ_EXT0 12u /* IRQ0 */
77#define IRQ_EXT1 13u /* IRQ1 */
78#define IRQ_EXT2 14u /* IRQ2 */
79#define IRQ_EXT3 15u /* IRQ3 */
80#define IRQ_EXT4 16u /* IRQ4 */
81#define IRQ_EXT5 17u /* IRQ5 */
82
83#define IRQ_WOVI 20u /* Watch Doc Timer */
84
85#define IRQ_CMI 21u /* Compare Match */
86
87#define IRQ_IMIA0 24u /* ITU0 IMIA0 */
88#define IRQ_IMIB0 25u /* ITU0 IMIB0 */
89#define IRQ_OVI0 26u /* ITU0 OVI0 */
90
91#define IRQ_IMIA1 28u /* ITU1 IMIA1 */
92#define IRQ_IMIB1 29u /* ITU1 IMIB1 */
93#define IRQ_OVI1 30u /* ITU1 OVI1 */
94
95#define IRQ_IMIA2 32u /* ITU2 IMIA2 */
96#define IRQ_IMIB2 33u /* ITU2 IMIB2 */
97#define IRQ_OVI2 34u /* ITU2 OVI2 */
98
99#define IRQ_IMIA3 36u /* ITU3 IMIA3 */
100#define IRQ_IMIB3 37u /* ITU3 IMIB3 */
101#define IRQ_OVI3 38u /* ITU3 OVI3 */
102
103#define IRQ_IMIA4 40u /* ITU4 IMIA4 */
104#define IRQ_IMIB4 41u /* ITU4 IMIB4 */
105#define IRQ_OVI4 42u /* ITU4 OVI4 */
106
107#define IRQ_DEND0A 44u /* DMAC */
108#define IRQ_DEND0B 45u /* DMAC */
109#define IRQ_DEND1A 46u /* DMAC */
110#define IRQ_DEND1B 47u /* DMAC */
111
112#define IRQ_ERI0 52u /* SCI0 ERI */
113#define IRQ_RXI0 53u /* SCI0 RXI */
114#define IRQ_TXI0 54u /* SCI0 TXI */
115#define IRQ_TEI0 55u /* SCI0 TEI */
116
117#define IRQ_ERI1 56u /* SCI1 ERI */
118#define IRQ_RXI1 57u /* SCI1 RXI */
119#define IRQ_TXI1 58u /* SCI1 TXI */
120#define IRQ_TEI1 59u /* SCI1 TEI */
121
122#define IRQ_ADI 60u /* A/D */
123
124/* register address */
125
126/* I/O ports */
127
128/* port1: A0 - A7 */
129
130#define H8P1DDR 0xffffc0ul
131#define H8P1DR 0xffffc2ul
132
133/* port2: A8 - A15 */
134
135#define H8P2DDR 0xffffc1ul
136#define H8P2DR 0xffffc3ul
137#define H8P2PCR 0xffffd8ul
138
139/* port3: D8 - D15 */
140
141#define H8P3DDR 0xffffc4ul
142#define H8P3DR 0xffffc6ul
143
144/* port4: D0 - D7 */
145
146#define H8P4DDR 0xffffc5ul
147#define H8P4DR 0xffffc7ul
148#define H8P4PCR 0xffffdaul
149
150/* port5: A16 - A19 */
151
152#define H8P5DDR 0xffffc8ul
153#define H8P5DR 0xffffcaul
154#define H8P5PCR 0xffffdbul
155
156#define H8P5DDR_A19_BIT 3u
157#define H8P5DDR_A18_BIT 2u
158#define H8P5DDR_A17_BIT 1u
159#define H8P5DDR_A16_BIT 0u
160
161#define H8P5DDR_A19 (1u<<H8P5DDR_A19_BIT)
162#define H8P5DDR_A18 (1u<<H8P5DDR_A18_BIT)
163#define H8P5DDR_A17 (1u<<H8P5DDR_A17_BIT)
164#define H8P5DDR_A16 (1u<<H8P5DDR_A16_BIT)
165
166/* port6 */
167
168#define H8P6DDR 0xffffc9ul
169#define H8P6DR 0xffffcbul
170
171#define H8P6DDR_HWR_BIT 6u
172#define H8P6DDR_LWR_BIT 5u
173#define H8P6DDR_RD_BIT 4u
174#define H8P6DDR_AS_BIT 3u
175#define H8P6DDR_BACK_BIT 2u
176#define H8P6DDR_BREQ_BIT 1u
177#define H8P6DDR_WAIT_BIT 0u
178
179#define H8P6DDR_HWR (1u<<H8P6DDR_HWR_BIT)
180#define H8P6DDR_LWR (1u<<H8P6DDR_LWR_BIT)
181#define H8P6DDR_RD (1u<<H8P6DDR_RD_BIT)
182#define H8P6DDR_AS (1u<<H8P6DDR_AS_BIT)
183#define H8P6DDR_BACK (1u<<H8P6DDR_BACK_BIT)
184#define H8P6DDR_BREQ (1u<<H8P6DDR_BREQ_BIT)
185#define H8P6DDR_WAIT (1u<<H8P6DDR_WAIT_BIT)
186
187/* port7 */
188
189#define H8P7DR 0xffffceul
190
191/* port8 */
192
193#define H8P8DDR 0xffffcdul
194#define H8P8DR 0xffffcful
195
196#define H8P8DDR_CS0_BIT 4u
197#define H8P8DDR_CS1_BIT 3u
198#define H8P8DDR_CS2_BIT 2u
199#define H8P8DDR_CS3_BIT 1u
200#define H8P8DDR_RFSH_BIT 0u
201
202#define H8P8DDR_CS0 (1u<<H8P8DDR_CS0_BIT)
203#define H8P8DDR_CS1 (1u<<H8P8DDR_CS1_BIT)
204#define H8P8DDR_CS2 (1u<<H8P8DDR_CS2_BIT)
205#define H8P8DDR_CS3 (1u<<H8P8DDR_CS3_BIT)
206#define H8P8DDR_RFSH (1u<<H8P8DDR_RFSH_BIT)
207
208#define H8P8DDR_IRQ3_BIT 3u
209#define H8P8DDR_IRQ2_BIT 2u
210#define H8P8DDR_IRQ1_BIT 1u
211#define H8P8DDR_IRQ0_BIT 0u
212
213#define H8P8DDR_IRQ3 (1u<<H8P8DDR_IRQ3_BIT)
214#define H8P8DDR_IRQ2 (1u<<H8P8DDR_IRQ2_BIT)
215#define H8P8DDR_IRQ1 (1u<<H8P8DDR_IRQ1_BIT)
216#define H8P8DDR_IRQ0 (1u<<H8P8DDR_IRQ0_BIT)
217
218/* port9 (SCI) */
219
220#define H8P9DDR 0xffffd0ul
221#define H8P9DR 0xffffd2ul
222
223#define H8P9DDR_SCK1_BIT 5u
224#define H8P9DDR_SCK0_BIT 4u
225#define H8P9DDR_RXD1_BIT 3u
226#define H8P9DDR_RXD0_BIT 2u
227#define H8P9DDR_TXD1_BIT 1u
228#define H8P9DDR_TXD0_BIT 0u
229
230#define H8P9DDR_SCK1 (1u<<H8P9DDR_SCK1_BIT)
231#define H8P9DDR_SCK0 (1u<<H8P9DDR_SCK0_BIT)
232#define H8P9DDR_RXD1 (1u<<H8P9DDR_RXD1_BIT)
233#define H8P9DDR_RXD0 (1u<<H8P9DDR_RXD0_BIT)
234#define H8P9DDR_TXD1 (1u<<H8P9DDR_TXD1_BIT)
235#define H8P9DDR_TXD0 (1u<<H8P9DDR_TXD0_BIT)
236
237#define H8P9DDR_IRQ5_BIT 5u
238#define H8P9DDR_IRQ4_BIT 4u
239
240#define H8P9DDR_IRQ5 (1u<<H8P9DDR_IRQ5_BIT)
241#define H8P9DDR_IRQ4 (1u<<H8P9DDR_IRQ4_BIT)
242
243/* portA (TPC/ITU/DMA) */
244
245#define H8PADDR 0xffffd1ul
246#define H8PADR 0xffffd3ul
247
248#define H8PADDR_TP7_BIT 7u
249#define H8PADDR_TP6_BIT 6u
250#define H8PADDR_TP5_BIT 5u
251#define H8PADDR_TP4_BIT 4u
252#define H8PADDR_TP3_BIT 3u
253#define H8PADDR_TP2_BIT 2u
254#define H8PADDR_TP1_BIT 1u
255#define H8PADDR_TP0_BIT 0u
256
257#define H8PADDR_TP7 (1u<<H8PADDR_TP7_BIT)
258#define H8PADDR_TP6 (1u<<H8PADDR_TP6_BIT)
259#define H8PADDR_TP5 (1u<<H8PADDR_TP5_BIT)
260#define H8PADDR_TP4 (1u<<H8PADDR_TP4_BIT)
261#define H8PADDR_TP3 (1u<<H8PADDR_TP3_BIT)
262#define H8PADDR_TP2 (1u<<H8PADDR_TP2_BIT)
263#define H8PADDR_TP1 (1u<<H8PADDR_TP1_BIT)
264#define H8PADDR_TP0 (1u<<H8PADDR_TP0_BIT)
265
266#define H8PADDR_TIOCB2_BIT 7u
267#define H8PADDR_TIOCA2_BIT 6u
268#define H8PADDR_TIOCB1_BIT 5u
269#define H8PADDR_TIOCA1_BIT 4u
270#define H8PADDR_TIOCB0_BIT 3u
271#define H8PADDR_TIOCA0_BIT 2u
272
273#define H8PADDR_TIOCB2 (1u<<H8PADDR_TIOCB2_BIT)
274#define H8PADDR_TIOCA2 (1u<<H8PADDR_TIOCA2_BIT)
275#define H8PADDR_TIOCB1 (1u<<H8PADDR_TIOCB1_BIT)
276#define H8PADDR_TIOCA1 (1u<<H8PADDR_TIOCA1_BIT)
277#define H8PADDR_TIOCB0 (1u<<H8PADDR_TIOCB0_BIT)
278#define H8PADDR_TIOCA0 (1u<<H8PADDR_TIOCA0_BIT)
279
280#define H8PADDR_TEND1_BIT 1u
281#define H8PADDR_TEND0_BIT 0u
282
283#define H8PADDR_TEND1 (1u<<H8PADDR_TEND1_BIT)
284#define H8PADDR_TEND0 (1u<<H8PADDR_TEND0_BIT)
285
286#define H8PADDR_A20_BIT 7u
287#define H8PADDR_A21_BIT 6u
288#define H8PADDR_A22_BIT 5u
289#define H8PADDR_A23_BIT 4u
290
291#define H8PADDR_A20 (1u<<H8PADDR_A20_BIT)
292#define H8PADDR_A21 (1u<<H8PADDR_A21_BIT)
293#define H8PADDR_A22 (1u<<H8PADDR_A22_BIT)
294#define H8PADDR_A23 (1u<<H8PADDR_A23_BIT)
295
296#define H8PADDR_CS4_BIT 6u
297#define H8PADDR_CS5_BIT 5u
298#define H8PADDR_CS6_BIT 4u
299
300#define H8PADDR_CS4 (1u<<H8PADDR_CS4_BIT)
301#define H8PADDR_CS5 (1u<<H8PADDR_CS5_BIT)
302#define H8PADDR_CS6 (1u<<H8PADDR_CS6_BIT)
303
304#define H8PADDR_TCLKD_BIT 3u
305#define H8PADDR_TCLKC_BIT 2u
306#define H8PADDR_TCLKB_BIT 1u
307#define H8PADDR_TCLKA_BIT 0u
308
309#define H8PADDR_TCLKD (1u<<H8PADDR_TCLKD_BIT)
310#define H8PADDR_TCLKC (1u<<H8PADDR_TCLKC_BIT)
311#define H8PADDR_TCLKB (1u<<H8PADDR_TCLKB_BIT)
312#define H8PADDR_TCLKA (1u<<H8PADDR_TCLKA_BIT)
313
314/* portB (TP/ITU/DMA/AD) */
315
316#define H8PBDDR 0xffffd4ul
317#define H8PBDR 0xffffd6ul
318
319#define H8PBDDR_TP15_BIT 7u
320#define H8PBDDR_TP14_BIT 6u
321#define H8PBDDR_TP13_BIT 5u
322#define H8PBDDR_TP12_BIT 4u
323#define H8PBDDR_TP11_BIT 3u
324#define H8PBDDR_TP10_BIT 2u
325#define H8PBDDR_TP9_BIT 1u
326#define H8PBDDR_TP8_BIT 0u
327
328#define H8PBDDR_TP15 (1u<<H8PBDDR_TP15_BIT)
329#define H8PBDDR_TP14 (1u<<H8PBDDR_TP14_BIT)
330#define H8PBDDR_TP13 (1u<<H8PBDDR_TP13_BIT)
331#define H8PBDDR_TP12 (1u<<H8PBDDR_TP12_BIT)
332#define H8PBDDR_TP11 (1u<<H8PBDDR_TP11_BIT)
333#define H8PBDDR_TP10 (1u<<H8PBDDR_TP10_BIT)
334#define H8PBDDR_TP9 (1u<<H8PBDDR_TP9_BIT)
335#define H8PBDDR_TP8 (1u<<H8PBDDR_TP8_BIT)
336
337#define H8PBDDR_DREQ1_BIT 7u
338#define H8PBDDR_DREQ0_BIT 6u
339
340#define H8PBDDR_DREQ1 (1u<<H8PBDDR_DREQ1_BIT)
341#define H8PBDDR_DREQ0 (1u<<H8PBDDR_DREQ0_BIT)
342
343#define H8PBDDR_TOCXB4_BIT 5u
344#define H8PBDDR_TOCXA4_BIT 4u
345#define H8PBDDR_TIOCB4_BIT 3u
346#define H8PBDDR_TIOCA4_BIT 2u
347#define H8PBDDR_TIOCB3_BIT 1u
348#define H8PBDDR_TIOCA3_BIT 0u
349
350#define H8PBDDR_TOCXB4 (1u<<H8PBDDR_TOCXB4_BIT)
351#define H8PBDDR_TOCXA4 (1u<<H8PBDDR_TOCXA4_BIT)
352#define H8PBDDR_TIOCB4 (1u<<H8PBDDR_TIOCB4_BIT)
353#define H8PBDDR_TIOCA4 (1u<<H8PBDDR_TIOCA4_BIT)
354#define H8PBDDR_TIOCB3 (1u<<H8PBDDR_TIOCB3_BIT)
355#define H8PBDDR_TIOCA3 (1u<<H8PBDDR_TIOCA3_BIT)
356
357#define H8PBDDR_ADTRG_BIT 7u
358
359#define H8PBDDR_ADTRG (1u<<H8PBDDR_ADTRG_BIT)
360
361#define H8PBDDR_CS7_BIT 6u
362
363#define H8PBDDR_CS7 (1u<<H8PBDDR_CS7_BIT)
364
365/* Interrupt Contolller */
366
367#define H8SYSCR 0xfffff2ul
368#define H8IPRA 0xfffff8ul
369#define H8IPRB 0xfffff9ul
370
371/* System Control Register */
372
373#define H8SYSCR_SSBY_BIT 7u
374#define H8SYSCR_STS2_BIT 6u
375#define H8SYSCR_STS1_BIT 5u
376#define H8SYSCR_STS0_BIT 4u
377#define H8SYSCR_UE_BIT 3u
378#define H8SYSCR_NMIEG_BIT 2u
379#define H8SYSCR_RAME_BIT 0u
380
381#define H8SYSCR_SSBY (1u<<(H8SYSCR_SSBY_BIT))
382#define H8SYSCR_STS2 (1u<<(H8SYSCR_STS2_BIT))
383#define H8SYSCR_STS1 (1u<<(H8SYSCR_STS1_BIT))
384#define H8SYSCR_STS0 (1u<<(H8SYSCR_STS0_BIT))
385#define H8SYSCR_UE (1u<<(H8SYSCR_UE_BIT))
386#define H8SYSCR_NMIEG (1u<<(H8SYSCR_NMIEG_BIT))
387#define H8SYSCR_RAME (1u<<(H8SYSCR_RAME_BIT))
388
389/* Interrupt Priority Register A */
390
391#define H8IPR_IRQ0_BIT 7u /* IRQ0 */
392#define H8IPR_IRQ1_BIT 6u /* IRQ1 */
393#define H8IPR_IRQ2_BIT 5u /* IRQ2 */
394#define H8IPR_IRQ3_BIT 5u /* IRQ3 */
395#define H8IPR_IRQ4_BIT 4u /* IRQ4 */
396#define H8IPR_IRQ5_BIT 4u /* IRQ5 */
397#define H8IPR_WDT_BIT 3u /* WDT */
398#define H8IPR_CMI_BIT 3u /* CMI */
399#define H8IPR_ITU0_BIT 2u /* ITU0 */
400#define H8IPR_ITU1_BIT 1u /* ITU1 */
401#define H8IPR_ITU2_BIT 0u /* ITU2 */
402
403#define H8IPR_IRQ0 (1u<<(H8IPR_IRQ0_BIT))
404#define H8IPR_IRQ1 (1u<<(H8IPR_IRQ1_BIT))
405#define H8IPR_IRQ2 (1u<<(H8IPR_IRQ2_BIT))
406#define H8IPR_IRQ3 (1u<<(H8IPR_IRQ3_BIT))
407#define H8IPR_IRQ4 (1u<<(H8IPR_IRQ4_BIT))
408#define H8IPR_IRQ5 (1u<<(H8IPR_IRQ5_BIT))
409#define H8IPR_WDT (1u<<(H8IPR_WDT_BIT))
410#define H8IPR_CMI (1u<<(H8IPR_CMI_BIT))
411#define H8IPR_ITU0 (1u<<(H8IPR_ITU0_BIT))
412#define H8IPR_ITU1 (1u<<(H8IPR_ITU1_BIT))
413#define H8IPR_ITU2 (1u<<(H8IPR_ITU2_BIT))
414
415/* Interrupt Priority Register B */
416
417#define H8IPR_ITU3_BIT 7u /* ITU3 */
418#define H8IPR_ITU4_BIT 6u /* ITU4 */
419#define H8IPR_DMAC_BIT 5u /* DMAC (CH0,1) */
420#define H8IPR_SCI0_BIT 3u /* SCI0 */
421#define H8IPR_SCI1_BIT 2u /* SCI1 */
422#define H8IPR_AD_BIT 1u /* A/D */
423
424#define H8IPR_ITU3 (1u<<(H8IPR_ITU3_BIT))
425#define H8IPR_ITU4 (1u<<(H8IPR_ITU4_BIT))
426#define H8IPR_DMAC (1u<<(H8IPR_DMAC_BIT))
427#define H8IPR_SCI0 (1u<<(H8IPR_SCI0_BIT))
428#define H8IPR_SCI1 (1u<<(H8IPR_SCI1_BIT))
429#define H8IPR_AD (1u<<(H8IPR_AD_BIT))
430
431/* Bus Release Control Regisger */
432
433#define H8BRCR 0xfffff3ul
434
435/* Control bit in BRCR */
436
437#define H8BRCR_A23E_BIT 7u
438#define H8BRCR_A22E_BIT 6u
439#define H8BRCR_A21E_BIT 5u
440#define H8BRCR_BRLE_BIT 1u
441
442#define H8BRCR_A23E (1u<<(H8BRCR_A23E_BIT))
443#define H8BRCR_A22E (1u<<(H8BRCR_A22E_BIT))
444#define H8BRCR_A21E (1u<<(H8BRCR_A21E_BIT))
445#define H8BRCR_BRLE (1u<<(H8BRCR_BRLE_BIT))
446
447/* Integrated Timer Unit (ITU) */
448
449#define H8ITU_TSTR 0xffff60ul
450#define H8ITU_TSNC 0xffff61ul
451#define H8ITU_TMDR 0xffff62ul
452#define H8ITU_TFCR 0xffff63ul
453#define H8ITU_TOER 0xffff90ul
454#define H8ITU_TOCR 0xffff91ul
455
456#define H8ITU0 0xffff64ul /* base address */
457#define H8ITU1 0xffff6eul
458#define H8ITU2 0xffff78ul
459#define H8ITU3 0xffff82ul
460#define H8ITU4 0xffff92ul
461
462/* Integrated Timer Unit (ITU) */
463
464/* address offset */
465
466#define H8TCR 0ul
467#define H8TIOR 1ul
468#define H8TIER 2ul
469#define H8TSR 3ul
470#define H8TCNT 4ul
471#define H8TCNTH 4ul
472#define H8TCNTL 5ul
473#define H8GRA 6ul
474#define H8GRAH 6ul
475#define H8GRAL 7ul
476#define H8GRB 8ul
477#define H8GRBH 8ul
478#define H8GRBL 9ul
479#define H8BRA 10ul
480#define H8BRAH 10ul
481#define H8BRAL 11ul
482#define H8BRB 12ul
483#define H8BRBH 12ul
484
485/* ITU Timer Start Register (TSTR) */
486
487#define H8TSTR_STR4_BIT 4u
488#define H8TSTR_STR3_BIT 3u
489#define H8TSTR_STR2_BIT 2u
490#define H8TSTR_STR1_BIT 1u
491#define H8TSTR_STR0_BIT 0u
492
493#define H8TSTR_STR4 (1u<<H8TSTR_STR4_BIT)
494#define H8TSTR_STR3 (1u<<H8TSTR_STR3_BIT)
495#define H8TSTR_STR2 (1u<<H8TSTR_STR2_BIT)
496#define H8TSTR_STR1 (1u<<H8TSTR_STR1_BIT)
497#define H8TSTR_STR0 (1u<<H8TSTR_STR0_BIT)
498
499/* ITU Timer Control Register (TCR) */
500
501#define H8TCR_CCLR1_BIT 6u
502#define H8TCR_CCLR0_BIT 5u
503#define H8TCR_CKEG1_BIT 4u
504#define H8TCR_CKEG0_BIT 3u
505#define H8TCR_TPSC2_BIT 2u
506#define H8TCR_TPSC1_BIT 1u
507#define H8TCR_TPSC0_BIT 0u
508
509#define H8TCR_CCLR1 (1u<<H8TCR_CCLR1_BIT)
510#define H8TCR_CCLR0 (1u<<H8TCR_CCLR0_BIT)
511#define H8TCR_CKEG1 (1u<<H8TCR_CKEG1_BIT)
512#define H8TCR_CKEG0 (1u<<H8TCR_CKEG0_BIT)
513#define H8TCR_TPSC2 (1u<<H8TCR_TPSC2_BIT)
514#define H8TCR_TPSC1 (1u<<H8TCR_TPSC1_BIT)
515#define H8TCR_TPSC0 (1u<<H8TCR_TPSC0_BIT)
516
517/* ITU Timer Status Register (TSR) */
518
519#define H8TSR_OVIF_BIT 2u
520#define H8TSR_IMIFB_BIT 1u
521#define H8TSR_IMIFA_BIT 0u
522
523#define H8TSR_OVIF (1u<<H8TSR_OVIF_BIT)
524#define H8TSR_IMIFB (1u<<H8TSR_IMIFB_BIT)
525#define H8TSR_IMIFA (1u<<H8TSR_IMIFA_BIT)
526
527/* ITU Timer Intrrupt Enable Register (TIER) */
528
529#define H8TIER_OVIE_BIT 2u
530#define H8TIER_IMIEB_BIT 1u
531#define H8TIER_IMIEA_BIT 0u
532
533#define H8TIER_OVIE (1u<<H8TIER_OVIE_BIT)
534#define H8TIER_IMIEB (1u<<H8TIER_IMIEB_BIT)
535#define H8TIER_IMIEA (1u<<H8TIER_IMIEA_BIT)
536
537/* ITU Timer I/O Control Register (TIOR) */
538
539#define H8TIOR_IOB2_BIT 6u
540#define H8TIOR_IOB1_BIT 5u
541#define H8TIOR_IOB0_BIT 4u
542#define H8TIOR_IOA2_BIT 2u
543#define H8TIOR_IOA1_BIT 1u
544#define H8TIOR_IOA0_BIT 0u
545
546#define H8TIOR_IOB2 (1u<<H8TIOR_IOB2_BIT)
547#define H8TIOR_IOB1 (1u<<H8TIOR_IOB1_BIT)
548#define H8TIOR_IOB0 (1u<<H8TIOR_IOB0_BIT)
549#define H8TIOR_IOA2 (1u<<H8TIOR_IOA2_BIT)
550#define H8TIOR_IOA1 (1u<<H8TIOR_IOA1_BIT)
551#define H8TIOR_IOA0 (1u<<H8TIOR_IOA0_BIT)
552
553/* Serial Communication Interface (SCI) */
554
555#define H8SCI0 0xffffb0ul /* base address */
556#define H8SCI1 0xffffb8ul
557
558/* address offset */
559
560#define H8SMR 0ul
561#define H8BRR 1ul
562#define H8SCR 2ul
563#define H8TDR 3ul
564#define H8SSR 4ul
565#define H8RDR 5ul
566
567/* SCI Serial Mode Register (SMR) */
568
569#define H8SMR_CA_BIT 7u
570#define H8SMR_CHR_BIT 6u
571#define H8SMR_PE_BIT 5u
572#define H8SMR_OE_BIT 4u
573#define H8SMR_STOP_BIT 3u
574#define H8SMR_MP_BIT 2u
575#define H8SMR_CKS1_BIT 1u
576#define H8SMR_CKS0_BIT 0u
577
578#define H8SMR_CA (1u<<H8SMR_CA_BIT)
579#define H8SMR_CHR (1u<<H8SMR_CHR_BIT)
580#define H8SMR_PE (1u<<H8SMR_PE_BIT)
581#define H8SMR_OE (1u<<H8SMR_OE_BIT)
582#define H8SMR_STOP (1u<<H8SMR_STOP_BIT)
583#define H8SMR_MP (1u<<H8SMR_MP_BIT)
584#define H8SMR_CKS1 (1u<<H8SMR_CKS1_BIT)
585#define H8SMR_CKS0 (1u<<H8SMR_CKS0_BIT)
586#define H8SMR_CKS_MASK (H8SMR_CKS1|H8SMR_CKS0)
587
588/* SCI Serial Control Register (SCR) */
589
590#define H8SCR_TIE_BIT 7u
591#define H8SCR_RIE_BIT 6u
592#define H8SCR_TE_BIT 5u
593#define H8SCR_RE_BIT 4u
594#define H8SCR_MPIE_BIT 3u
595#define H8SCR_TEIE_BIT 2u
596#define H8SCR_CKE1_BIT 1u
597#define H8SCR_CKE0_BIT 0u
598
599#define H8SCR_TIE (1u<<H8SCR_TIE_BIT)
600#define H8SCR_RIE (1u<<H8SCR_RIE_BIT)
601#define H8SCR_TE (1u<<H8SCR_TE_BIT)
602#define H8SCR_RE (1u<<H8SCR_RE_BIT)
603#define H8SCR_MPIE (1u<<H8SCR_MPIE_BIT)
604#define H8SCR_TEIE (1u<<H8SCR_TEIE_BIT)
605#define H8SCR_CKE1 (1u<<H8SCR_CKE1_BIT)
606#define H8SCR_CKE0 (1u<<H8SCR_CKE0_BIT)
607#define H8SCR_CKE_MASK (H8SCR_CKE1|H8SCR_CKE0)
608#define H8SCR_IE (H8SCR_TIE|H8SCR_RIE|H8SCR_MPIE|H8SCR_TEIE)
609
610/* SCI Serial Status Register (SSR) */
611
612#define H8SSR_TDRE_BIT 7u
613#define H8SSR_RDRF_BIT 6u
614#define H8SSR_ORER_BIT 5u
615#define H8SSR_FER_BIT 4u
616#define H8SSR_PER_BIT 3u
617#define H8SSR_TEND_BIT 2u
618#define H8SSR_MPB_BIT 1u
619#define H8SSR_MPBT_BIT 0u
620
621#define H8SSR_TDRE (1u<<H8SSR_TDRE_BIT)
622#define H8SSR_RDRF (1u<<H8SSR_RDRF_BIT)
623#define H8SSR_ORER (1u<<H8SSR_ORER_BIT)
624#define H8SSR_FER (1u<<H8SSR_FER_BIT)
625#define H8SSR_PER (1u<<H8SSR_PER_BIT)
626#define H8SSR_TEND (1u<<H8SSR_TEND_BIT)
627#define H8SSR_MPB (1u<<H8SSR_MPB_BIT)
628#define H8SSR_MPBT (1u<<H8SSR_MPBT_BIT)
629
630/*
631 * 内
632蔵メモリの定義
633 */
634
635#define H8IN_ROM_BASE 0x000000ul
636#define H8IN_ROM_SIZE 0x020000ul
637#define H8IN_RAM_BASE 0xffef10ul
638#define H8IN_RAM_SIZE 0x001000ul
639
640#endif /* _H8_3048F_H_ */
Note: See TracBrowser for help on using the repository browser.