1 # ====================================================================
5 # eCos serial SH/SCIF configuration data
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
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 version.
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
36 ## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
37 ## at http://sources.redhat.com/ecos/ecos-license/
38 ## -------------------------------------------
39 #####ECOSGPLCOPYRIGHTEND####
40 # ====================================================================
41 ######DESCRIPTIONBEGIN####
47 #####DESCRIPTIONEND####
49 # ====================================================================
52 cdl_package CYGPKG_IO_SERIAL_SH_SCIF {
53 display "SH SCIF serial device drivers"
55 parent CYGPKG_IO_SERIAL_DEVICES
56 active_if CYGPKG_IO_SERIAL
57 active_if CYGPKG_HAL_SH
59 active_if CYGINT_IO_SERIAL_SH_SCIF_REQUIRED
63 include_files ; # none _exported_ whatsoever
65 This option enables the serial device drivers for the
66 SCIF module in Hitachi SH CPUs."
68 compile -library=libextras.a sh_scif_serial.c
71 puts $::cdl_system_header "/***** serial driver proc output start *****/"
72 puts $::cdl_system_header "#ifndef CYGDAT_IO_SERIAL_DEVICE_HEADER"
73 puts $::cdl_system_header "#define CYGDAT_IO_SERIAL_DEVICE_HEADER <pkgconf/io_serial_sh_scif.h>"
74 puts $::cdl_system_header "#endif"
75 puts $::cdl_system_header "/***** serial driver proc output end *****/"
77 puts $::cdl_header "#include <pkgconf/system.h>";
78 puts $::cdl_header "#include CYGDAT_IO_SERIAL_SH_SCIF_CFG";
81 # The driver tries to be effective with FIFO transfers
82 implements CYGINT_IO_SERIAL_BLOCK_TRANSFER
84 cdl_interface CYGINT_IO_SERIAL_SH_SCIF_DMA {
85 display "SCIF serial driver DMA support"
88 The serial driver can use DMA to move data from the
89 transmit buffer to the serial controller if the CPU
93 cdl_interface CYGINT_IO_SERIAL_SH_SCIF_ASYNC_RXTX {
94 display "SCIF async RX/TX support"
97 By enabling this option, the SCIF driver will
98 be able to support controllers with transceivers
99 that are asynchronous (RS4xx). This will cause
100 RX to be disabled before TX is enabled, and vice
104 cdl_interface CYGINT_IO_SERIAL_SH_SCIF_IRDA {
105 display "SCIF IrDA support"
108 By enabling this option, the SCIF driver will
109 be able to support controllers in IrDA mode."
112 cdl_option CYGHWR_IO_SERIAL_SH_SH2_SCIF_IRDA_TXRX_COMPENSATION {
113 display "SCIF IrDA TX/RX switch compensation"
115 active_if CYGINT_IO_SERIAL_SH_SCIF_IRDA
117 When switching from TX mode to RX mode, the controller causes
118 a spurious 0xff character to be received at speeds up to
119 57600 baud. At higher baud rates, more spurious characters
120 may be received. Enabling this option tries to remove the
121 spurious characters, but since there are no errors reported
122 from the controller, it is impossible to do so with any kind
124 Having this option enabled allows some eCos serial tests to
125 run. There is a matching option in the SH2 HAL controlling a
126 similar kludge for the polled driver, making RedBoot usable.
127 It is an incomplete kludge however, and for any real use of
128 the IrDA mode for data transmission, the option should be
129 disabled, and a protocol capable of handling the spurious
130 receive characters must be used on top of the driver.
131 Note that the problem is exaggerated when the baud rate is
135 cdl_interface CYGINT_IO_SERIAL_SH_SCIF_BR_INTERRUPT {
136 display "Controller uses BR interrupts"
139 Some controllers route BREAK interrupts to the
140 error interrupt vector. Others have a separate
141 vector. When this interface is implemented, the
142 driver will handle the separate BR vector."
145 cdl_component CYGPKG_IO_SERIAL_SH_SCIF_OPTIONS {
146 display "SCIF serial device driver build options"
149 Package specific build options including control over
150 compiler flags used only in building this package,
151 and details of which tests are built."
154 cdl_option CYGPKG_IO_SERIAL_SH_SCIF_CFLAGS_ADD {
155 display "Additional compiler flags"
160 This option modifies the set of compiler flags for
161 building these serial device drivers. These flags are
162 used in addition to the set of global flags."
165 cdl_option CYGPKG_IO_SERIAL_SH_SCIF_CFLAGS_REMOVE {
166 display "Suppressed compiler flags"
171 This option modifies the set of compiler flags for
172 building these serial device drivers. These flags are
173 removed from the set of global flags if present."
177 # EOF ser_sh_scif.cdl