OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [devs/] [serial/] [freescale/] [uart/] [drv/] [current/] [include/] [ser_freescale_uart_chan.inl] - Blame information for rev 810

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
//==========================================================================
2
//
3
//      ser_freescale_uart.inl
4
//
5
//      Freescale UART Serial channel definitions
6
//
7
//==========================================================================
8
// ####ECOSGPLCOPYRIGHTBEGIN####
9
// -------------------------------------------
10
// This file is part of eCos, the Embedded Configurable Operating System.
11
// Copyright (C) 2011 Free Software Foundation, Inc.
12
//
13
// eCos is free software; you can redistribute it and/or modify it under
14
// the terms of the GNU General Public License as published by the Free
15
// Software Foundation; either version 2 or (at your option) any later
16
// version.
17
//
18
// eCos is distributed in the hope that it will be useful, but WITHOUT
19
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
// for more details.
22
//
23
// You should have received a copy of the GNU General Public License
24
// along with eCos; if not, write to the Free Software Foundation, Inc.,
25
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
//
27
// As a special exception, if other files instantiate templates or use
28
// macros or inline functions from this file, or you compile this file
29
// and link it with other works to produce a work based on this file,
30
// this file does not by itself cause the resulting work to be covered by
31
// the GNU General Public License. However the source code for this file
32
// must still be made available in accordance with section (3) of the GNU
33
// General Public License v2.
34
//
35
// This exception does not invalidate any other reasons why a work based
36
// on this file might be covered by the GNU General Public License.
37
// -------------------------------------------
38
// ####ECOSGPLCOPYRIGHTEND####
39
//==========================================================================
40
//#####DESCRIPTIONBEGIN####
41
//
42
// Author(s):   Ilija Kocho 
43
// Contributors:
44
// Date:        2011-02-10
45
// Purpose:     Freescale UART Serial I/O module (interrupt driven version)
46
// Description:
47
//
48
//
49
//####DESCRIPTIONEND####
50
//==========================================================================
51
 
52
#if defined CYGPKG_IO_SERIAL_FREESCALE_UART0
53
static const uart_pins_t uart0_pins = {
54
    rx  : CYGHWR_IO_FREESCALE_UART0_PIN_RX,
55
    tx  : CYGHWR_IO_FREESCALE_UART0_PIN_TX,
56
    rts : CYGHWR_IO_FREESCALE_UART0_PIN_RTS,
57
    cts : CYGHWR_IO_FREESCALE_UART0_PIN_CTS
58
};
59
static uart_serial_info uart_serial_info0 = {
60
    uart_base          : CYGADDR_IO_SERIAL_FREESCALE_UART0_BASE,
61
    interrupt_num      : CYGNUM_IO_SERIAL_FREESCALE_UART0_INT_VECTOR,
62
    interrupt_priority : CYGNUM_IO_SERIAL_FREESCALE_UART0_INT_PRIORITY,
63
    pins_p             : &uart0_pins
64
};
65
#if CYGNUM_IO_SERIAL_FREESCALE_UART0_BUFSIZE > 0
66
static unsigned char
67
    uart_serial_out_buf0[CYGNUM_IO_SERIAL_FREESCALE_UART0_BUFSIZE];
68
static unsigned char
69
    uart_serial_in_buf0[CYGNUM_IO_SERIAL_FREESCALE_UART0_BUFSIZE];
70
 
71
static
72
SERIAL_CHANNEL_USING_INTERRUPTS(
73
                                uart_serial_channel0,
74
                                uart_serial_funs,
75
                                uart_serial_info0,
76
                                CYG_SERIAL_BAUD_RATE(
77
                                     CYGNUM_IO_SERIAL_FREESCALE_UART0_BAUD),
78
                                CYG_SERIAL_STOP_DEFAULT,
79
                                CYG_SERIAL_PARITY_DEFAULT,
80
                                CYG_SERIAL_WORD_LENGTH_DEFAULT,
81
                                CYG_SERIAL_FLAGS_DEFAULT,
82
                                &uart_serial_out_buf0[0],
83
                                sizeof(uart_serial_out_buf0),
84
                                &uart_serial_in_buf0[0],
85
                                sizeof(uart_serial_in_buf0));
86
#else
87
static
88
SERIAL_CHANNEL(uart_serial_channel0,
89
               uart_serial_funs,
90
               uart_serial_info0,
91
               CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_FREESCALE_UART0_BAUD),
92
               CYG_SERIAL_STOP_DEFAULT,
93
               CYG_SERIAL_PARITY_DEFAULT,
94
               CYG_SERIAL_WORD_LENGTH_DEFAULT,
95
               CYG_SERIAL_FLAGS_DEFAULT);
96
#endif
97
DEVTAB_ENTRY(uart_serial_io0,
98
             CYGDAT_IO_SERIAL_FREESCALE_UART0_NAME,
99
             0, // does not depend on a lower level device driver
100
             &cyg_io_serial_devio,
101
             uart_serial_init,
102
             uart_serial_lookup,
103
             &uart_serial_channel0);
104
#endif // ifdef CYGPKG_IO_SERIAL_FREESCALE_UART0
105
 
106
#if defined CYGPKG_IO_SERIAL_FREESCALE_UART1
107
static const uart_pins_t uart1_pins = {
108
    rx  : CYGHWR_IO_FREESCALE_UART1_PIN_RX,
109
    tx  : CYGHWR_IO_FREESCALE_UART1_PIN_TX,
110
    rts : CYGHWR_IO_FREESCALE_UART1_PIN_RTS,
111
    cts : CYGHWR_IO_FREESCALE_UART1_PIN_CTS
112
};
113
static uart_serial_info uart_serial_info1 = {
114
    uart_base          : CYGADDR_IO_SERIAL_FREESCALE_UART1_BASE,
115
    interrupt_num      : CYGNUM_IO_SERIAL_FREESCALE_UART1_INT_VECTOR,
116
    interrupt_priority : CYGNUM_IO_SERIAL_FREESCALE_UART1_INT_PRIORITY,
117
    pins_p             : &uart1_pins
118
};
119
#if CYGNUM_IO_SERIAL_FREESCALE_UART1_BUFSIZE > 0
120
static unsigned char
121
    uart_serial_out_buf1[CYGNUM_IO_SERIAL_FREESCALE_UART1_BUFSIZE];
122
static unsigned char
123
    uart_serial_in_buf1[CYGNUM_IO_SERIAL_FREESCALE_UART1_BUFSIZE];
124
 
125
static
126
SERIAL_CHANNEL_USING_INTERRUPTS(uart_serial_channel1,
127
                                uart_serial_funs,
128
                                uart_serial_info1,
129
                                CYG_SERIAL_BAUD_RATE(
130
                                     CYGNUM_IO_SERIAL_FREESCALE_UART1_BAUD),
131
                                CYG_SERIAL_STOP_DEFAULT,
132
                                CYG_SERIAL_PARITY_DEFAULT,
133
                                CYG_SERIAL_WORD_LENGTH_DEFAULT,
134
                                CYG_SERIAL_FLAGS_DEFAULT,
135
                                &uart_serial_out_buf1[0],
136
                                sizeof(uart_serial_out_buf1),
137
                                &uart_serial_in_buf1[0],
138
                                sizeof(uart_serial_in_buf1));
139
#else
140
static
141
SERIAL_CHANNEL(uart_serial_channel1,
142
               uart_serial_funs,
143
               uart_serial_info1,
144
               CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_FREESCALE_UART1_BAUD),
145
               CYG_SERIAL_STOP_DEFAULT,
146
               CYG_SERIAL_PARITY_DEFAULT,
147
               CYG_SERIAL_WORD_LENGTH_DEFAULT,
148
               CYG_SERIAL_FLAGS_DEFAULT);
149
#endif
150
DEVTAB_ENTRY(uart_serial_io1,
151
             CYGDAT_IO_SERIAL_FREESCALE_UART1_NAME,
152
             0, // does not depend on a lower level device driver
153
             &cyg_io_serial_devio,
154
             uart_serial_init,
155
             uart_serial_lookup,
156
             &uart_serial_channel1);
157
#endif // ifdef CYGPKG_IO_SERIAL_FREESCALE_UART1
158
 
159
#if defined CYGPKG_IO_SERIAL_FREESCALE_UART2
160
static const uart_pins_t uart2_pins = {
161
    rx  : CYGHWR_IO_FREESCALE_UART2_PIN_RX,
162
    tx  : CYGHWR_IO_FREESCALE_UART2_PIN_TX,
163
    rts : CYGHWR_IO_FREESCALE_UART2_PIN_RTS,
164
    cts : CYGHWR_IO_FREESCALE_UART2_PIN_CTS
165
};
166
static uart_serial_info uart_serial_info2 = {
167
    uart_base          : CYGADDR_IO_SERIAL_FREESCALE_UART2_BASE,
168
    interrupt_num      : CYGNUM_IO_SERIAL_FREESCALE_UART2_INT_VECTOR,
169
    interrupt_priority : CYGNUM_IO_SERIAL_FREESCALE_UART2_INT_PRIORITY,
170
    pins_p             : &uart2_pins
171
};
172
#if CYGNUM_IO_SERIAL_FREESCALE_UART2_BUFSIZE > 0
173
static unsigned char
174
    uart_serial_out_buf2[CYGNUM_IO_SERIAL_FREESCALE_UART2_BUFSIZE];
175
static unsigned char
176
    uart_serial_in_buf2[CYGNUM_IO_SERIAL_FREESCALE_UART2_BUFSIZE];
177
 
178
static
179
SERIAL_CHANNEL_USING_INTERRUPTS(uart_serial_channel2,
180
                                uart_serial_funs,
181
                                uart_serial_info2,
182
                                CYG_SERIAL_BAUD_RATE(
183
                                     CYGNUM_IO_SERIAL_FREESCALE_UART2_BAUD),
184
                                CYG_SERIAL_STOP_DEFAULT,
185
                                CYG_SERIAL_PARITY_DEFAULT,
186
                                CYG_SERIAL_WORD_LENGTH_DEFAULT,
187
                                CYG_SERIAL_FLAGS_DEFAULT,
188
                                &uart_serial_out_buf2[0],
189
                                sizeof(uart_serial_out_buf2),
190
                                &uart_serial_in_buf2[0],
191
                                sizeof(uart_serial_in_buf2));
192
#else
193
static
194
SERIAL_CHANNEL(uart_serial_channel2,
195
               uart_serial_funs,
196
               uart_serial_info2,
197
               CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_FREESCALE_UART2_BAUD),
198
               CYG_SERIAL_STOP_DEFAULT,
199
               CYG_SERIAL_PARITY_DEFAULT,
200
               CYG_SERIAL_WORD_LENGTH_DEFAULT,
201
               CYG_SERIAL_FLAGS_DEFAULT);
202
#endif
203
DEVTAB_ENTRY(uart_serial_io2,
204
             CYGDAT_IO_SERIAL_FREESCALE_UART2_NAME,
205
             0, // does not depend on a lower level device driver
206
             &cyg_io_serial_devio,
207
             uart_serial_init,
208
             uart_serial_lookup,
209
             &uart_serial_channel2);
210
#endif // ifdef CYGPKG_IO_SERIAL_FREESCALE_UART2
211
 
212
 
213
#if defined CYGPKG_IO_SERIAL_FREESCALE_UART3
214
static const uart_pins_t uart3_pins = {
215
    rx  : CYGHWR_IO_FREESCALE_UART3_PIN_RX,
216
    tx  : CYGHWR_IO_FREESCALE_UART3_PIN_TX,
217
    rts : CYGHWR_IO_FREESCALE_UART3_PIN_RTS,
218
    cts : CYGHWR_IO_FREESCALE_UART3_PIN_CTS
219
};
220
static uart_serial_info uart_serial_info3 = {
221
    uart_base          : CYGADDR_IO_SERIAL_FREESCALE_UART3_BASE,
222
    interrupt_num      : CYGNUM_IO_SERIAL_FREESCALE_UART3_INT_VECTOR,
223
    interrupt_priority : CYGNUM_IO_SERIAL_FREESCALE_UART3_INT_PRIORITY,
224
    pins_p             : &uart3_pins
225
};
226
#if CYGNUM_IO_SERIAL_FREESCALE_UART3_BUFSIZE > 0
227
static unsigned char
228
    uart_serial_out_buf3[CYGNUM_IO_SERIAL_FREESCALE_UART3_BUFSIZE];
229
static unsigned char
230
    uart_serial_in_buf3[CYGNUM_IO_SERIAL_FREESCALE_UART3_BUFSIZE];
231
 
232
static
233
SERIAL_CHANNEL_USING_INTERRUPTS(uart_serial_channel3,
234
                                uart_serial_funs,
235
                                uart_serial_info3,
236
                                CYG_SERIAL_BAUD_RATE(
237
                                     CYGNUM_IO_SERIAL_FREESCALE_UART3_BAUD),
238
                                CYG_SERIAL_STOP_DEFAULT,
239
                                CYG_SERIAL_PARITY_DEFAULT,
240
                                CYG_SERIAL_WORD_LENGTH_DEFAULT,
241
                                CYG_SERIAL_FLAGS_DEFAULT,
242
                                &uart_serial_out_buf3[0],
243
                                sizeof(uart_serial_out_buf3),
244
                                &uart_serial_in_buf3[0],
245
                                sizeof(uart_serial_in_buf3));
246
#else
247
static
248
SERIAL_CHANNEL(uart_serial_channel3,
249
               uart_serial_funs,
250
               uart_serial_info3,
251
               CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_FREESCALE_UART3_BAUD),
252
               CYG_SERIAL_STOP_DEFAULT,
253
               CYG_SERIAL_PARITY_DEFAULT,
254
               CYG_SERIAL_WORD_LENGTH_DEFAULT,
255
               CYG_SERIAL_FLAGS_DEFAULT);
256
#endif
257
DEVTAB_ENTRY(uart_serial_io3,
258
             CYGDAT_IO_SERIAL_FREESCALE_UART3_NAME,
259
             0, // does not depend on a lower level device driver
260
             &cyg_io_serial_devio,
261
             uart_serial_init,
262
             uart_serial_lookup,
263
             &uart_serial_channel3);
264
#endif // ifdef CYGPKG_IO_SERIAL_FREESCALE_UART3
265
 
266
 
267
#if defined CYGPKG_IO_SERIAL_FREESCALE_UART4
268
static const uart_pins_t uart4_pins = {
269
    rx  : CYGHWR_IO_FREESCALE_UART4_PIN_RX,
270
    tx  : CYGHWR_IO_FREESCALE_UART4_PIN_TX,
271
    rts : CYGHWR_IO_FREESCALE_UART4_PIN_RTS,
272
    cts : CYGHWR_IO_FREESCALE_UART4_PIN_CTS
273
};
274
static uart_serial_info uart_serial_info4 = {
275
    uart_base          : CYGADDR_IO_SERIAL_FREESCALE_UART4_BASE,
276
    interrupt_num      : CYGNUM_IO_SERIAL_FREESCALE_UART4_INT_VECTOR,
277
    interrupt_priority : CYGNUM_IO_SERIAL_FREESCALE_UART4_INT_PRIORITY,
278
    pins_p             : &uart4_pins
279
};
280
#if CYGNUM_IO_SERIAL_FREESCALE_UART4_BUFSIZE > 0
281
static unsigned char
282
    uart_serial_out_buf4[CYGNUM_IO_SERIAL_FREESCALE_UART4_BUFSIZE];
283
static unsigned char
284
    uart_serial_in_buf4[CYGNUM_IO_SERIAL_FREESCALE_UART4_BUFSIZE];
285
 
286
static
287
SERIAL_CHANNEL_USING_INTERRUPTS(uart_serial_channel4,
288
                                uart_serial_funs,
289
                                uart_serial_info4,
290
                                CYG_SERIAL_BAUD_RATE(
291
                                     CYGNUM_IO_SERIAL_FREESCALE_UART4_BAUD),
292
                                CYG_SERIAL_STOP_DEFAULT,
293
                                CYG_SERIAL_PARITY_DEFAULT,
294
                                CYG_SERIAL_WORD_LENGTH_DEFAULT,
295
                                CYG_SERIAL_FLAGS_DEFAULT,
296
                                &uart_serial_out_buf4[0],
297
                                sizeof(uart_serial_out_buf4),
298
                                &uart_serial_in_buf4[0],
299
                                sizeof(uart_serial_in_buf4));
300
#else
301
static
302
SERIAL_CHANNEL(uart_serial_channel4,
303
               uart_serial_funs,
304
               uart_serial_info4,
305
               CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_FREESCALE_UART4_BAUD),
306
               CYG_SERIAL_STOP_DEFAULT,
307
               CYG_SERIAL_PARITY_DEFAULT,
308
               CYG_SERIAL_WORD_LENGTH_DEFAULT,
309
               CYG_SERIAL_FLAGS_DEFAULT);
310
#endif
311
DEVTAB_ENTRY(uart_serial_io4,
312
             CYGDAT_IO_SERIAL_FREESCALE_UART4_NAME,
313
             0, // does not depend on a lower level device driver
314
             &cyg_io_serial_devio,
315
             uart_serial_init,
316
             uart_serial_lookup,
317
             &uart_serial_channel4);
318
#endif // ifdef CYGPKG_IO_SERIAL_FREESCALE_UART4
319
 
320
 
321
#if defined CYGPKG_IO_SERIAL_FREESCALE_UART5
322
static const uart_pins_t uart5_pins = {
323
    rx  : CYGHWR_IO_FREESCALE_UART5_PIN_RX,
324
    tx  : CYGHWR_IO_FREESCALE_UART5_PIN_TX,
325
    rts : CYGHWR_IO_FREESCALE_UART5_PIN_RTS,
326
    cts : CYGHWR_IO_FREESCALE_UART5_PIN_CTS
327
};
328
static uart_serial_info uart_serial_info5 = {
329
    uart_base          : CYGADDR_IO_SERIAL_FREESCALE_UART5_BASE,
330
    interrupt_num      : CYGNUM_IO_SERIAL_FREESCALE_UART5_INT_VECTOR,
331
    interrupt_priority : CYGNUM_IO_SERIAL_FREESCALE_UART5_INT_PRIORITY,
332
    pins_p             : &uart5_pins
333
};
334
#if CYGNUM_IO_SERIAL_FREESCALE_UART5_BUFSIZE > 0
335
static unsigned char
336
    uart_serial_out_buf5[CYGNUM_IO_SERIAL_FREESCALE_UART5_BUFSIZE];
337
static unsigned char
338
    uart_serial_in_buf5[CYGNUM_IO_SERIAL_FREESCALE_UART5_BUFSIZE];
339
 
340
static
341
SERIAL_CHANNEL_USING_INTERRUPTS(uart_serial_channel5,
342
                                uart_serial_funs,
343
                                uart_serial_info5,
344
                                CYG_SERIAL_BAUD_RATE(
345
                                     CYGNUM_IO_SERIAL_FREESCALE_UART5_BAUD),
346
                                CYG_SERIAL_STOP_DEFAULT,
347
                                CYG_SERIAL_PARITY_DEFAULT,
348
                                CYG_SERIAL_WORD_LENGTH_DEFAULT,
349
                                CYG_SERIAL_FLAGS_DEFAULT,
350
                                &uart_serial_out_buf5[0],
351
                                sizeof(uart_serial_out_buf5),
352
                                &uart_serial_in_buf5[0],
353
                                sizeof(uart_serial_in_buf5));
354
#else
355
static
356
SERIAL_CHANNEL(uart_serial_channel5,
357
               uart_serial_funs,
358
               uart_serial_info5,
359
               CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_FREESCALE_UART5_BAUD),
360
               CYG_SERIAL_STOP_DEFAULT,
361
               CYG_SERIAL_PARITY_DEFAULT,
362
               CYG_SERIAL_WORD_LENGTH_DEFAULT,
363
               CYG_SERIAL_FLAGS_DEFAULT);
364
#endif
365
DEVTAB_ENTRY(uart_serial_io5,
366
             CYGDAT_IO_SERIAL_FREESCALE_UART5_NAME,
367
             0, // does not depend on a lower level device driver
368
             &cyg_io_serial_devio,
369
             uart_serial_init,
370
             uart_serial_lookup,
371
             &uart_serial_channel5);
372
#endif // ifdef CYGPKG_IO_SERIAL_FREESCALE_UART5

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.