]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/devs/serial/sh/scif/v2_0/cdl/ser_sh_scif.cdl
Initial revision
[karo-tx-redboot.git] / packages / devs / serial / sh / scif / v2_0 / cdl / ser_sh_scif.cdl
1 # ====================================================================
2 #
3 #      ser_sh_scif.cdl
4 #
5 #      eCos serial SH/SCIF configuration data
6 #
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.
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 version.
16 ##
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
20 ## for more details.
21 ##
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.
25 ##
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.
32 ##
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.
35 ##
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####
42 #
43 # Author(s):      jskov
44 # Contributors:
45 # Date:           2000-04-04
46 #
47 #####DESCRIPTIONEND####
48 #
49 # ====================================================================
50
51
52 cdl_package CYGPKG_IO_SERIAL_SH_SCIF {
53     display       "SH SCIF serial device drivers"
54
55     parent        CYGPKG_IO_SERIAL_DEVICES
56     active_if     CYGPKG_IO_SERIAL
57     active_if     CYGPKG_HAL_SH
58
59     active_if     CYGINT_IO_SERIAL_SH_SCIF_REQUIRED
60
61     requires      CYGPKG_ERROR
62     include_dir   cyg/io
63     include_files ; # none _exported_ whatsoever
64     description   "
65            This option enables the serial device drivers for the
66            SCIF module in Hitachi SH CPUs."
67
68     compile       -library=libextras.a sh_scif_serial.c
69
70     define_proc {
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  *****/"
76
77         puts $::cdl_header "#include <pkgconf/system.h>";
78         puts $::cdl_header "#include CYGDAT_IO_SERIAL_SH_SCIF_CFG";
79     }
80
81     # The driver tries to be effective with FIFO transfers
82     implements    CYGINT_IO_SERIAL_BLOCK_TRANSFER
83
84     cdl_interface CYGINT_IO_SERIAL_SH_SCIF_DMA {
85         display       "SCIF serial driver DMA support"
86         flavor        booldata
87         description   "
88             The serial driver can use DMA to move data from the
89             transmit buffer to the serial controller if the CPU
90             supports it."
91     }
92
93     cdl_interface CYGINT_IO_SERIAL_SH_SCIF_ASYNC_RXTX {
94         display        "SCIF async RX/TX support"
95         flavor         booldata
96         description    "
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
101             versa."
102     }
103
104     cdl_interface CYGINT_IO_SERIAL_SH_SCIF_IRDA {
105         display        "SCIF IrDA support"
106         flavor         booldata
107         description    "
108             By enabling this option, the SCIF driver will
109             be able to support controllers in IrDA mode."
110     }
111
112     cdl_option CYGHWR_IO_SERIAL_SH_SH2_SCIF_IRDA_TXRX_COMPENSATION {
113         display          "SCIF IrDA TX/RX switch compensation"
114         default_value    1
115         active_if        CYGINT_IO_SERIAL_SH_SCIF_IRDA
116         description      "
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
123             of precision.
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
132             changed."
133     }
134
135     cdl_interface CYGINT_IO_SERIAL_SH_SCIF_BR_INTERRUPT {
136         display       "Controller uses BR interrupts"
137         flavor        booldata
138         description   "
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."
143     }
144
145     cdl_component CYGPKG_IO_SERIAL_SH_SCIF_OPTIONS {
146         display "SCIF serial device driver build options"
147         flavor  none
148         description   "
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."
152
153
154         cdl_option CYGPKG_IO_SERIAL_SH_SCIF_CFLAGS_ADD {
155             display "Additional compiler flags"
156             flavor  data
157             no_define
158             default_value { "" }
159             description   "
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."
163         }
164
165         cdl_option CYGPKG_IO_SERIAL_SH_SCIF_CFLAGS_REMOVE {
166             display "Suppressed compiler flags"
167             flavor  data
168             no_define
169             default_value { "" }
170             description   "
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."
174         }
175     }
176 }
177 # EOF ser_sh_scif.cdl