source: ssp_rpi3/trunk/arch/arm64_gcc/bcm283x/chip_serial.h@ 384

Last change on this file since 384 was 384, checked in by nmir-saito, 5 years ago

add target dependent files of ssp for rpi3

  • Property svn:keywords set to Id
File size: 4.6 KB
Line 
1/*
2 * TOPPERS/SSP Kernel
3 * Smallest Set Profile Kernel
4 *
5 * Copyright (C) 2007 by Embedded and Real-Time Systems Laboratory
6 * Graduate School of Information Science, Nagoya Univ., JAPAN
7 * Copyright (C) 2015,2018,2019 by Naoki Saito
8 * Nagoya Municipal Industrial Research Institute, JAPAN
9 *
10 * 上記著作権者
11は,以下の(1)〜(4)の条件を満たす場合に限り,本ソフトウェ
12 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改
13 * 変・再é…
14å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
15 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
16 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
17 * スコード中に含まれていること.
18 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
19 * 用できる形で再é…
20å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
21å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
22 * 者
23マニュアルなど)に,上記の著作権表示,この利用条件および下記
24 * の無保証規定を掲載すること.
25 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
26 * 用できない形で再é…
27å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
28 * と.
29 * (a) 再é…
30å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
31マニュアルなど)に,上記の著
32 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
33 * (b) 再é…
34å¸ƒã®å½¢æ…
35‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
36 * 報告すること.
37 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
38 * 害からも,上記著作権者
39およびTOPPERSプロジェクトをå…
40è²¬ã™ã‚‹ã“と.
41 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理
42 * 由に基づく請求からも,上記著作権者
43およびTOPPERSプロジェクトを
44 * å…
45è²¬ã™ã‚‹ã“と.
46 *
47 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
48お
49 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的
50 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ
51 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ
52 * の責任を負わない.
53 *
54 */
55
56/*
57 * シリアルI/Oデバイス(SIO)ドライバ
58 */
59
60#ifndef TOPPERS_CHIP_SERIAL_H
61#define TOPPERS_CHIP_SERIAL_H
62
63/*
64 * SIOの割込み設定
65 */
66#define INTNO_SIO TINTNO_UART // 割込み番号
67
68#ifndef INTATR_SIO
69 #define INTATR_SIO TA_NULL // 割込み属性
70#endif
71
72#ifndef INTPRI_SIO
73 #define INTPRI_SIO (-2) // 割込み優å…
74ˆåº¦
75#endif
76
77/*
78 * コールバックルーチンの識別番号
79 */
80#define SIO_RDY_SND 1U /* 送信可能コールバック */
81#define SIO_RDY_RCV 2U /* 受信通知コールバック */
82
83#ifndef TOPPERS_MACRO_ONLY
84
85/*
86 * シリアルポートの初期化ブロック
87 */
88typedef const struct tag_SIOPINIB {
89 uintptr_t baseAddress;
90 uint8_t ibrd;
91 uint8_t fbrd;
92 uint8_t lcr_h;
93} SIOPINIB;
94
95/*
96 * シリアルポートの管理ブロック
97 */
98typedef struct sio_port_control_block {
99 SIOPINIB *inib;
100 intptr_t exinf;
101} SIOPCB;
102
103/*
104 * SIO初期化
105 */
106extern void sio_initialize(intptr_t exinf);
107
108/*
109 * シリアルオープン
110 */
111extern SIOPCB *sio_opn_por(ID siopid, intptr_t exinf);
112
113/*
114 * シリアルクローズ
115 */
116extern void sio_cls_por(SIOPCB *p_siopcb);
117
118/*
119 * 割込みハンドラ
120 */
121extern void sio_isr(intptr_t exinf);
122
123/*
124 * 1文字送信
125 */
126extern bool_t sio_snd_chr(SIOPCB *siopcb, char c);
127
128/*
129 * 1文字受信
130 */
131extern int_t sio_rcv_chr(SIOPCB *siopcb);
132
133/*
134 * コールバックの許可
135 */
136extern void sio_ena_cbr(SIOPCB *siopcb, uint_t cbrtn);
137
138/*
139 * コールバックの禁止
140 */
141extern void sio_dis_cbr(SIOPCB *siopcb, uint_t cbrtn);
142
143/*
144 * 送信可能コールバック
145 */
146extern void sio_irdy_snd(intptr_t exinf);
147
148/*
149 * 受信通知コールバック
150 */
151extern void sio_irdy_rcv(intptr_t exinf);
152
153/*
154 * 1文字送信(ポーリングでの出力)
155 */
156extern void sio_pol_snd_chr(char c, ID siopid);
157
158/*
159 * 低レベル出力初期化
160 */
161extern void target_low_output_init(ID siopid);
162
163#endif /* TOPPERS_MACRO_ONLY */
164#endif /* TOPPERS_TARGET_SERIAL_H */
Note: See TracBrowser for help on using the repository browser.