source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/cfv2/mcfuart.h@ 26

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

initial

File size: 7.4 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 * Copyright (C) 2002-2004 by Hokkaido Industrial Research Institute, JAPAN
11 * Copyright (C) 2007 by KURUSUGAWA Electronics Industry Inc, JAPAN
12 * Copyright (C) 2008 by Takahisa Yokota
13 *
14 * 上記著作権者
15は,以下の (1)〜(4) の条件か,Free Software Foundation
16 * によってå…
17¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
18 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
19 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
20å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
21 * 利用と呼ぶ)することを無償で許諾する.
22 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
23 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
24 * スコード中に含まれていること.
25 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
26 * 用できる形で再é…
27å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
28å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
29 * 者
30マニュアルなど)に,上記の著作権表示,この利用条件および下記
31 * の無保証規定を掲載すること.
32 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
33 * 用できない形で再é…
34å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
35 * と.
36 * (a) 再é…
37å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
38マニュアルなど)に,上記の著
39 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
40 * (b) 再é…
41å¸ƒã®å½¢æ…
42‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
43 * 報告すること.
44 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
45 * 害からも,上記著作権者
46およびTOPPERSプロジェクトをå…
47è²¬ã™ã‚‹ã“と.
48 *
49 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
50お
51 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
52 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
53 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
54 *
55 * @(#) $Id: mcfuart.h,v 1.1 2005/07/06 00:45:07 honda Exp $
56 */
57
58/*
59 * COLDFIRE内
60蔵UART用 簡易ドライバ
61 */
62
63#ifndef _MCFUART_H_
64#define _MCFUART_H_
65
66#include <t_config.h>
67
68/*
69 * シリアルI/Oポート初期化ブロック
70 */
71typedef struct sio_port_initialization_block
72{
73 UW reg_base; /* レジスタのベースアドレス */
74 UH brr; /* ボーレートの設定値 */
75 UB smr; /* モードレジスタの設定値 */
76 UB int_level; /* 割り込みレベルの設定値 */
77} SIOPINIB;
78
79/*
80 * シリアルI/Oポート管理ブロック
81 */
82typedef struct sio_port_control_block
83{
84 const SIOPINIB *siopinib; /* シリアルI/Oポート初期化ブロック */
85 VP_INT exinf; /* 拡張情
86å ± */
87 BOOL openflag; /* オープン済みフラグ */
88 BOOL getready; /* 文字を受信した状æ…
89‹ */
90 BOOL putready; /* 文字を送信できる状æ…
91‹ */
92 VB imr; /* 割込みマスクの状æ…
93‹ */
94} SIOPCB;
95
96/*
97 * コントロールレジスタのアドレスのオフセット
98 */
99#define MCF_UART_UMR1 0x00
100#define MCF_UART_UMR2 0x00
101#define MCF_UART_USR 0x04
102#define MCF_UART_UCSR 0x04
103#define MCF_UART_UCR 0x08
104#define MCF_UART_URB 0x0c
105#define MCF_UART_UTB 0x0c
106#define MCF_UART_UIPCR 0x10
107#define MCF_UART_UACR 0x10
108#define MCF_UART_UISR 0x14
109#define MCF_UART_UIMR 0x14
110#define MCF_UART_UBG1 0x18
111#define MCF_UART_UBG2 0x1c
112#define MCF_UART_UIP 0x34
113#define MCF_UART_UOP1 0x38
114#define MCF_UART_UOP0 0x3c
115
116/*
117 * コントロールレジスタの設定値
118 */
119/* FIFOコントロールレジスタSCFCRのビット */
120#define MCF_UART_UCR_RC_MASK 0x03
121#define MCF_UART_UCR_RC_EN 0x01
122#define MCF_UART_UCR_RC_DIS 0x02
123#define MCF_UART_UCR_TC_MASK 0x0C
124#define MCF_UART_UCR_TC_EN 0x04
125#define MCF_UART_UCR_TC_DIS 0x08
126#define MCF_UART_UCR_MISC_MASK 0x70
127#define MCF_UART_UCR_MISC_RRC 0x10
128#define MCF_UART_UCR_MISC_RR 0x20
129#define MCF_UART_UCR_MISC_RT 0x30
130#define MCF_UART_UCR_MISC_RE 0x40
131#define MCF_UART_UCR_MISC_RBK 0x50
132#define MCF_UART_UCR_MISC_SBK 0x60
133/* シリアルコントロールレジスタUIMRのビット */
134#define MCF_UART_UIMR_TXRDY 0x01
135#define MCF_UART_UIMR_RXRDY 0x02
136#define MCF_UART_UIMR_DB 0x04
137/* シリアルコントロールレジスタUISRのビット */
138#define MCF_UART_UISR_TXRDY 0x01
139#define MCF_UART_UISR_RXRDY 0x02
140#define MCF_UART_UISR_DB 0x04
141/* シリアルステータスレジスタSC1SSRのビット */
142#define MCF_UART_USR_RXRDY (0x01) /* 受信レディ */
143#define MCF_UART_USR_FULL (0x02) /* FIFOフル */
144#define MCF_UART_USR_TXRDY (0x04) /* 送信レディ */
145#define MCF_UART_USR_TEMP (0x08) /* トランスミッタエンプティ */
146#define MCF_UART_USR_OE (0x10) /* オーバーランエラー */
147#define MCF_UART_USR_RE (0x20) /* パリティエラー */
148#define MCF_UART_USR_FE (0x40) /* フレーミングエラー */
149#define MCF_UART_USR_RB (0x80) /* ブレーク受信 */
150
151/*
152 * UBGの設定
153 */
154#define SMR_CKS 0x0 /* 分周比 */
155#define BRR9600 195 /* 9600 ビットレート */
156#define BRR19200 97 /* 19200 ビットレート */
157#define BRR38400 48 /* 38400 ビットレート */
158#define BRR57600 32 /* 57600 ビットレート */
159#define BRR115200 16 /* 115200 ビットレート */
160
161/*
162 * コールバックルーチンの識別番号
163 */
164#define SIO_ERDY_SND 1u /* 送信可能コールバック */
165#define SIO_ERDY_RCV 2u /* 受信通知コールバック */
166
167/*
168 * SIOドライバの初期化ルーチン
169 */
170extern void mcfuart_initialize (void);
171
172/*
173 * オープンしているポートがあるか?
174 */
175extern BOOL mcfuart_openflag (ID siopid);
176
177/*
178 * シリアルI/Oポートのオープン
179 */
180extern SIOPCB *mcfuart_opn_por (ID siopid, VP_INT exinf);
181
182/*
183 * シリアルI/Oポートのクローズ
184 */
185extern void mcfuart_cls_por (SIOPCB * siopcb);
186
187/*
188 * シリアルI/Oポートへの文字送信
189 */
190extern BOOL mcfuart_snd_chr (SIOPCB * siopcb, char c);
191
192/*
193 * シリアルI/Oポートからの文字受信
194 */
195extern INT mcfuart_rcv_chr (SIOPCB * siopcb);
196
197/*
198 * シリアルI/Oポートからのコールバックの許可
199 */
200extern void mcfuart_ena_cbr (SIOPCB * siopcb, UINT cbrtn);
201
202/*
203 * シリアルI/Oポートからのコールバックの禁止
204 */
205extern void mcfuart_dis_cbr (SIOPCB * siopcb, UINT cbrtn);
206
207/*
208 * SIOの割込みサービスルーチン
209 */
210extern void mcfuart_isr (void);
211
212/*
213 * シリアルI/Oポートからの送信可能コールバック
214 */
215extern void mcfuart_ierdy_snd (VP_INT exinf);
216
217/*
218 * シリアルI/Oポートからの受信通知コールバック
219 */
220extern void mcfuart_ierdy_rcv (VP_INT exinf);
221
222#endif /* _MCFUART_H_ */
Note: See TracBrowser for help on using the repository browser.