1 #ifndef CYGONCE_DEVS_SH_SH4_202_MD_SCIF_H
2 #define CYGONCE_DEVS_SH_SH4_202_MD_SCIF_H
4 //==========================================================================
6 // devs/serial/sh/sh4_202_md_scif.inl
8 // Serial I/O specification for SuperH SH4-202 MicroDev development board
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 // Copyright (C) 2003 Nick Garnett
17 // eCos is free software; you can redistribute it and/or modify it under
18 // the terms of the GNU General Public License as published by the Free
19 // Software Foundation; either version 2 or (at your option) any later version.
21 // eCos is distributed in the hope that it will be useful, but WITHOUT ANY
22 // WARRANTY; without even the implied warranty of MERCHANTABILITY or
23 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
26 // You should have received a copy of the GNU General Public License along
27 // with eCos; if not, write to the Free Software Foundation, Inc.,
28 // 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
30 // As a special exception, if other files instantiate templates or use macros
31 // or inline functions from this file, or you compile this file and link it
32 // with other works to produce a work based on this file, this file does not
33 // by itself cause the resulting work to be covered by the GNU General Public
34 // License. However the source code for this file must still be made available
35 // in accordance with section (3) of the GNU General Public License.
37 // This exception does not invalidate any other reasons why a work based on
38 // this file might be covered by the GNU General Public License.
39 // -------------------------------------------
40 //####ECOSGPLCOPYRIGHTEND####
41 //==========================================================================
42 //#####DESCRIPTIONBEGIN####
44 // Author(s): jlarmour
47 // Purpose: Specifies serial resources for the platform.
48 // Description: This file can be include from either SCI or SCIF/IRDA driver
49 // sources and should specify driver information as required
50 // for the platform. This file was derived from the se77x9
53 //####DESCRIPTIONEND####
54 //==========================================================================
56 #include <pkgconf/io_serial_sh_sh4_202_md.h>
58 #ifdef CYGPKG_IO_SERIAL_SH_SH4_202_MD_SERIAL1
59 static sh_scif_info sh4_202_md_serial_info1 = {
60 er_int_num : CYGNUM_HAL_INTERRUPT_SCIF_ERI,
61 rx_int_num : CYGNUM_HAL_INTERRUPT_SCIF_RXI,
62 br_int_num : CYGNUM_HAL_INTERRUPT_SCIF_BRI,
63 tx_int_num : CYGNUM_HAL_INTERRUPT_SCIF_TXI,
64 ctrl_base : CYGARC_REG_SCIF_SCSMR2,
65 #ifdef CYGINT_IO_SERIAL_SH_SCIF_DMA
66 # ifdef CYGSEM_IO_SERIAL_SH_SH4_202_MD_SERIAL1_DMA
67 dma_enable : true,// we want DMA for this channel
68 dma_xmt_cr_flags : CYGARC_REG_CHCR_RS_SCIF_TX
70 dma_enable : false // No DMA
75 #if CYGNUM_IO_SERIAL_SH_SH4_202_MD_SERIAL1_BUFSIZE > 0
76 static unsigned char sh4_202_md_serial_out_buf1[CYGNUM_IO_SERIAL_SH_SH4_202_MD_SERIAL1_BUFSIZE];
77 static unsigned char sh4_202_md_serial_in_buf1[CYGNUM_IO_SERIAL_SH_SH4_202_MD_SERIAL1_BUFSIZE];
79 static SERIAL_CHANNEL_USING_INTERRUPTS(sh4_202_md_serial_channel1,
81 sh4_202_md_serial_info1,
82 CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_SH_SH4_202_MD_SERIAL1_BAUD),
83 CYG_SERIAL_STOP_DEFAULT,
84 CYG_SERIAL_PARITY_DEFAULT,
85 CYG_SERIAL_WORD_LENGTH_DEFAULT,
86 CYG_SERIAL_FLAGS_DEFAULT,
87 &sh4_202_md_serial_out_buf1[0],
88 sizeof(sh4_202_md_serial_out_buf1),
89 &sh4_202_md_serial_in_buf1[0],
90 sizeof(sh4_202_md_serial_in_buf1)
93 static SERIAL_CHANNEL(sh4_202_md_serial_channel1,
95 sh4_202_md_serial_info1,
96 CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_SH_SH4_202_MD_SERIAL1_BAUD),
97 CYG_SERIAL_STOP_DEFAULT,
98 CYG_SERIAL_PARITY_DEFAULT,
99 CYG_SERIAL_WORD_LENGTH_DEFAULT,
100 CYG_SERIAL_FLAGS_DEFAULT
104 DEVTAB_ENTRY(sh_serial_io1,
105 CYGDAT_IO_SERIAL_SH_SH4_202_MD_SERIAL1_NAME,
106 0, // Does not depend on a lower level interface
107 &cyg_io_serial_devio,
109 sh_scif_lookup, // Serial driver may need initializing
110 &sh4_202_md_serial_channel1
112 #endif // CYGPKG_IO_SERIAL_SH_SH4_202_MD_SERIAL1
114 #endif // CYGONCE_DEVS_SH_SH4_202_MD_SCIF_H
116 // EOF sh4_202_md_scif.inl