source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/mips3/vr4131/vr4131.h@ 26

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

initial

File size: 6.0 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-2003 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 * Copyright (C) 2000-2003 by Industrial Technology Institute,
9 * Miyagi Prefectural Government, JAPAN
10 *
11 * 上記著作権者
12は,以下の (1)〜(4) の条件か,Free Software Foundation
13 * によってå…
14¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
15 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
16 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
17å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
18 * 利用と呼ぶ)することを無償で許諾する.
19 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
20 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
21 * スコード中に含まれていること.
22 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
23 * 用できる形で再é…
24å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
25å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
26 * 者
27マニュアルなど)に,上記の著作権表示,この利用条件および下記
28 * の無保証規定を掲載すること.
29 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
30 * 用できない形で再é…
31å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
32 * と.
33 * (a) 再é…
34å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
35マニュアルなど)に,上記の著
36 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
37 * (b) 再é…
38å¸ƒã®å½¢æ…
39‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
40 * 報告すること.
41 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
42 * 害からも,上記著作権者
43およびTOPPERSプロジェクトをå…
44è²¬ã™ã‚‹ã“と.
45 *
46 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
47お
48 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
49 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
50 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
51 */
52
53#ifndef _VR4131_H_
54#define _VR4131_H_
55
56/*
57 * VR4131 ハードウェア定義
58 */
59
60/* CP0ハザードのための時間稼ぎ NOP_FOR_CP0_HAZARD */
61/* VR4131ではmtc0命令の直後から割込み禁止になっているのでnop命令を挿å…
62¥ã—なくても
63 大丈夫 */
64#define NOP_FOR_CP0_HAZARD
65
66/* Configレジスタ */
67#define BP BIT16 /* 分岐予測の設定 */
68
69/* TLB のエントリの最大値 */
70#define TMAX_TLB 31
71
72/* TLBマスク値 */
73#define TLB_VPN2 0x800
74
75/* キャッシュ命令 */
76#define Index_Invalidate_I (0x0+0x0)
77#define Index_Store_Tag_I (0x8+0x0)
78#define Index_Store_Tag_D (0x8+0x1)
79
80/* キャッシュのラインサイズ(バイト単位) */
81#define D_CACHE_LINE_SIZE 0x10 /* 16バイト */
82#define I_CACHE_LINE_SIZE 0x10 /* 16バイト */
83
84/*============================================================================*/
85
86#ifndef _MACRO_ONLY
87
88Inline void
89vr4131_exit() {
90 while(1);
91 /* GDB_STUB 使用時には、STUBの頭に飛ぶ処理が必
92要かも。 */
93}
94
95#endif /* _MACRO_ONLY */
96
97/*============================================================================*/
98/* 以下の定義は、各ユニットごとに、vr4131_xxx.hとしてまとめることも必
99要かも。 */
100
101/*
102 * クロックマスクユニット(CMU)関係の定義
103 */
104#define CMUCLKMSK 0x0f000060
105
106#define MSKSIU BIT1 /* SIU, DSIUへのTClock供給の制御 */
107#define MSKSSIU BIT8 /* SIUへの18.432MHzクロック供給の制御 */
108#define MSKDSIU BIT11 /* DSIUへの18.432MHzクロック供給の制御 */
109
110/*
111 * パワーマネージメントユニット(PMU)関係の定義
112 */
113#define PMUINTREG 0x0f0000c0 /* PMU 割込み/ステータスレジスタ */
114#define PMUCNTREG 0x0f0000c2 /* PMU コントロールレジスタ */
115#define PMUTCLKDIVREG 0x0f0000cc
116
117/* for PMUINTREG */
118#define TIMOUTRST BIT5 /* HALTimerリセット検出 */
119
120/* for PMUCNTREG */
121#define HALTIMERRST BIT2 /* HALTimerリセット*/
122
123/* for PMUTCLKDIVREG */
124#define VTDIV_3 (BIT1 | BIT0)
125
126/*
127 * バスコントロールユニット(BCU)関係の定義
128 */
129#define BCUCNTREG1 0x0f000000
130#define ROMSIZEREG 0x0f000004
131#define ROMSPEEDREG 0x0f000006
132#define IO0SPEEDREG 0x0f000008
133#define IO1SPEEDREG 0x0f00000a
134#define BCUCNTREG3 0x0f000016
135
136/* for ROMSIZEREG */
137#define SIZE3_4 BIT12
138#define SIZE2_4 BIT8
139#define SIZE1_4 BIT4
140#define SIZE0_4 BIT0
141
142/* for ROMSPEEDREG */
143#define ROM4_WAIT_5VTClock (BIT13 | BIT12)
144#define ROM2_WAIT_8VTClock (BIT2 | BIT0)
145
146/* for IO0SPEEDREG */
147#define IO0_1_WAIT_4 (BIT1 | BIT0)
148
149/* for IO1SPEEDREG */
150#define IO1_3_WAIT_11 BIT11
151
152/* for BCUCNTREG3 */
153#define EXT_ROMCS_3ROM_2ROM (BIT13 | BIT12)
154#define IO32 BIT7
155#define LCDSEL1_BUFFER BIT1
156#define LCDSEL0_BUFFER BIT0
157
158/*
159 * SDRAMコントロールユニット(SDRAMU)関係の定義
160 */
161#define SDRAMMODEREG 0x0f000400
162#define SDRAMCNTREG 0x0f000402
163#define BCURFCNTREG 0x0f000404
164#define BCURFCOUNTREG 0x0f000406
165#define RAMSIZEREG 0x0f000408
166
167/* for SDRAMMODEREG */
168#define SCLK BIT15
169#define LTMODE_2 BIT5
170
171/* for SDRAMCNTREG */
172#define TRC_3VTClock (BIT9 | BIT8)
173#define TDAL_2VTClock BIT5
174#define TRCD_2VTClock BIT1
175
176/* for RAMSIZEREG */
177#define SIZE3_64 (BIT14 | BIT12)
178#define SIZE2_64 (BIT10 | BIT8)
179#define SIZE1_64 (BIT6 | BIT4)
180#define SIZE0_64 (BIT2 | BIT0)
181
182/*
183 * シリアルインタフェースユニット(SIU)関係の定義
184 */
185#define SIURESET 0x0f000809
186
187/* for SIURESET */
188#define DSIURESET BIT1 /* DSIUをリセットするフラグ */
189
190#endif /* _VR4131_H_ */
Note: See TracBrowser for help on using the repository browser.