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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [ecos-2.0/] [packages/] [devs/] [serial/] [sh/] [se77x9/] [v2_0/] [include/] [sh_sh3_se77x9_scif.inl] - Blame information for rev 1773

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

Line No. Rev Author Line
1 1254 phoenix
#ifndef CYGONCE_DEVS_SH_SE77X9_SCIF_H
2
#define CYGONCE_DEVS_SH_SE77X9_SCIF_H
3
 
4
//==========================================================================
5
//
6
//      io/serial/sh/sh_sh3_se77x9_scif.inl
7
//
8
//      Serial I/O specification for Hitachi SE77X9 platform.
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:        2001-06-18
49
// Purpose:     Specifies serial resources for the platform.
50
// Description: This file can be include from either SCI or SCIF/IRDA driver
51
//              sources and should specify driver information as required
52
//              for the platform.
53
//
54
//####DESCRIPTIONEND####
55
//==========================================================================
56
 
57
#include 
58
 
59
#ifdef CYGPKG_IO_SERIAL_SH_SE77X9_COM2
60
static sh_scif_info se77x9_serial_info2 = {
61
    er_int_num : CYGNUM_HAL_INTERRUPT_SCIF_ERI2,
62
    rx_int_num : CYGNUM_HAL_INTERRUPT_SCIF_RXI2,
63
    tx_int_num : CYGNUM_HAL_INTERRUPT_SCIF_TXI2,
64
    ctrl_base : CYGARC_REG_SCIF_SCSMR2,
65
#ifdef CYGINT_IO_SERIAL_SH_SCIF_DMA
66
# ifdef CYGSEM_IO_SERIAL_SH_SE77X9_COM2_DMA
67
    dma_enable : true,// we want DMA for this channel
68
    dma_xmt_cr_flags : CYGARC_REG_CHCR_RS_SCIF_TX
69
# else
70
    dma_enable : false // No DMA
71
# endif
72
#endif
73
};
74
 
75
#if CYGNUM_IO_SERIAL_SH_SE77X9_COM2_BUFSIZE > 0
76
static unsigned char se77x9_serial_out_buf2[CYGNUM_IO_SERIAL_SH_SE77X9_COM2_BUFSIZE];
77
static unsigned char se77x9_serial_in_buf2[CYGNUM_IO_SERIAL_SH_SE77X9_COM2_BUFSIZE];
78
 
79
static SERIAL_CHANNEL_USING_INTERRUPTS(se77x9_serial_channel2,
80
                                       sh_scif_funs,
81
                                       se77x9_serial_info2,
82
                                       CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_SH_SE77X9_COM2_BAUD),
83
                                       CYG_SERIAL_STOP_DEFAULT,
84
                                       CYG_SERIAL_PARITY_DEFAULT,
85
                                       CYG_SERIAL_WORD_LENGTH_DEFAULT,
86
                                       CYG_SERIAL_FLAGS_DEFAULT,
87
                                       &se77x9_serial_out_buf2[0],
88
                                       sizeof(se77x9_serial_out_buf2),
89
                                       &se77x9_serial_in_buf2[0],
90
                                       sizeof(se77x9_serial_in_buf2)
91
    );
92
#else
93
static SERIAL_CHANNEL(se77x9_serial_channel2,
94
                      sh_scif_funs,
95
                      se77x9_serial_info2,
96
                      CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_SH_SE77X9_COM2_BAUD),
97
                      CYG_SERIAL_STOP_DEFAULT,
98
                      CYG_SERIAL_PARITY_DEFAULT,
99
                      CYG_SERIAL_WORD_LENGTH_DEFAULT,
100
                      CYG_SERIAL_FLAGS_DEFAULT
101
    );
102
#endif
103
 
104
DEVTAB_ENTRY(sh_serial_io2,
105
             CYGDAT_IO_SERIAL_SH_SE77X9_COM2_NAME,
106
             0,                 // Does not depend on a lower level interface
107
             &cyg_io_serial_devio,
108
             sh_scif_init,
109
             sh_scif_lookup,          // Serial driver may need initializing
110
             &se77x9_serial_channel2
111
    );
112
#endif // CYGPKG_IO_SERIAL_SH_SE77X9_COM2
113
 
114
#endif // CYGONCE_DEVS_SH_SE77X9_SCIF_H

powered by: WebSVN 2.1.0

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