]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/devs/serial/sh/cq7708/v2_0/include/sh_sh3_cq7708_sci.inl
Initial revision
[karo-tx-redboot.git] / packages / devs / serial / sh / cq7708 / v2_0 / include / sh_sh3_cq7708_sci.inl
1 #ifndef CYGONCE_DEVS_SH_CQ7708_SCI_H
2 #define CYGONCE_DEVS_SH_CQ7708_SCI_H
3
4 //==========================================================================
5 //
6 //      io/serial/sh/sh_sh3_cq7708_sci.inl
7 //
8 //      Serial I/O Interface Module definitions for SH3/CQ7708
9 //
10 //==========================================================================
11 //####ECOSGPLCOPYRIGHTBEGIN####
12 // -------------------------------------------
13 // This file is part of eCos, the Embedded Configurable Operating System.
14 // Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
15 //
16 // eCos is free software; you can redistribute it and/or modify it under
17 // the terms of the GNU General Public License as published by the Free
18 // Software Foundation; either version 2 or (at your option) any later version.
19 //
20 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
21 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
22 // FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
23 // for more details.
24 //
25 // You should have received a copy of the GNU General Public License along
26 // with eCos; if not, write to the Free Software Foundation, Inc.,
27 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
28 //
29 // As a special exception, if other files instantiate templates or use macros
30 // or inline functions from this file, or you compile this file and link it
31 // with other works to produce a work based on this file, this file does not
32 // by itself cause the resulting work to be covered by the GNU General Public
33 // License. However the source code for this file must still be made available
34 // in accordance with section (3) of the GNU General Public License.
35 //
36 // This exception does not invalidate any other reasons why a work based on
37 // this file might be covered by the GNU General Public License.
38 //
39 // Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
40 // at http://sources.redhat.com/ecos/ecos-license/
41 // -------------------------------------------
42 //####ECOSGPLCOPYRIGHTEND####
43 //==========================================================================
44 //#####DESCRIPTIONBEGIN####
45 //
46 // Author(s):   jskov
47 // Contributors:jskov
48 // Date:        1999-06-16
49 // Purpose:     Defines SCI serial resources for SH3/CQ7708.
50 // Description: 
51 //
52 //####DESCRIPTIONEND####
53 //==========================================================================
54
55
56 #include <pkgconf/io_serial_sh_cq7708.h>
57
58 static sh_sci_info sh_serial_info =
59 {
60     data       : CYGARC_REG_SCI_SCSPTR,
61     er_int_num : CYGNUM_HAL_INTERRUPT_SCI_ERI,
62     rx_int_num : CYGNUM_HAL_INTERRUPT_SCI_RXI,
63     tx_int_num : CYGNUM_HAL_INTERRUPT_SCI_TXI,
64     ctrl_base  : CYGARC_REG_SCI_SCSMR
65 };
66
67 #if CYGNUM_IO_SERIAL_SH_CQ7708_SERIAL1_BUFSIZE > 0
68 static unsigned char sh_serial_out_buf[CYGNUM_IO_SERIAL_SH_CQ7708_SERIAL1_BUFSIZE];
69 static unsigned char sh_serial_in_buf[CYGNUM_IO_SERIAL_SH_CQ7708_SERIAL1_BUFSIZE];
70
71 static SERIAL_CHANNEL_USING_INTERRUPTS(sh_serial_channel,
72                                        sh_serial_funs, 
73                                        sh_serial_info,
74                                        CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_SH_CQ7708_SERIAL1_BAUD),
75                                        CYG_SERIAL_STOP_DEFAULT,
76                                        CYG_SERIAL_PARITY_DEFAULT,
77                                        CYG_SERIAL_WORD_LENGTH_DEFAULT,
78                                        CYG_SERIAL_FLAGS_DEFAULT,
79                                        &sh_serial_out_buf[0], 
80                                        sizeof(sh_serial_out_buf),
81                                        &sh_serial_in_buf[0],  
82                                        sizeof(sh_serial_in_buf)
83     );
84 #else
85 static SERIAL_CHANNEL(sh_serial_channel,
86                       sh_serial_funs, 
87                       sh_serial_info,
88                       CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_SH_CQ7708_SERIAL1_BAUD),
89                       CYG_SERIAL_STOP_DEFAULT,
90                       CYG_SERIAL_PARITY_DEFAULT,
91                       CYG_SERIAL_WORD_LENGTH_DEFAULT,
92                       CYG_SERIAL_FLAGS_DEFAULT
93     );
94 #endif
95
96 DEVTAB_ENTRY(sh_serial_io,
97              CYGDAT_IO_SERIAL_SH_CQ7708_SERIAL1_NAME,
98              0,                 // Does not depend on a lower level interface
99              &cyg_io_serial_devio, 
100              sh_serial_init, 
101              sh_serial_lookup,          // Serial driver may need initializing
102              &sh_serial_channel
103     );
104
105 #endif // CYGONCE_DEVS_SH_CQ7708_SCI_H