]> git.kernelconcepts.de Git - karo-tx-redboot.git/blob - packages/devs/serial/i386/pc/v2_0/cdl/ser_i386_pc.cdl
Initial revision
[karo-tx-redboot.git] / packages / devs / serial / i386 / pc / v2_0 / cdl / ser_i386_pc.cdl
1 # ====================================================================
2 #
3 #      ser_i386_pc.cdl
4 #
5 #      eCos serial PC 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):      jlarmour, nickg, gthomas, pjo
44 # Original data:  
45 # Contributors:   jskov
46 # Date:           2001-06-08
47 #
48 #####DESCRIPTIONEND####
49 #
50 # ====================================================================
51
52
53 cdl_package CYGPKG_IO_SERIAL_I386_PC {
54     display       "PC serial device drivers"
55
56     parent        CYGPKG_IO_SERIAL_DEVICES
57     active_if     CYGPKG_IO_SERIAL
58     active_if     CYGPKG_HAL_I386_PCMB
59
60     requires      CYGPKG_ERROR
61     include_dir   cyg/io
62     description   "
63            This option enables the serial device drivers for the
64            PC."
65
66     # FIXME: This really belongs in the GENERIC_16X5X package
67     cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED {
68         display   "Generic 16x5x serial driver required"
69     }
70
71     define_proc {
72         puts $::cdl_system_header "/***** serial driver proc output start *****/"
73         puts $::cdl_system_header "#define CYGDAT_IO_SERIAL_GENERIC_16X5X_INL <cyg/io/i386_pc_ser.inl>"
74         puts $::cdl_system_header "#define CYGDAT_IO_SERIAL_GENERIC_16X5X_CFG <pkgconf/io_serial_i386_pc.h>"
75         puts $::cdl_system_header "/*****  serial driver proc output end  *****/"
76     }
77
78 cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL0 {
79     display       "PC serial port 0 driver"
80     flavor        bool
81     default_value 1
82     description   "
83         This option includes the serial device driver for port 0 on the 
84         PC."
85
86     implements    CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED
87     implements    CYGINT_IO_SERIAL_FLOW_CONTROL_HW
88     implements    CYGINT_IO_SERIAL_LINE_STATUS_HW
89
90     cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME {
91         display       "Device name for PC serial port 0"
92         flavor        data
93         default_value {"\"/dev/ser0\""}
94         description   "
95             This option specifies the device name port 0 on the PC."
96     }
97
98     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BAUD {
99         display       "Baud rate for the PC serial port 0 driver"
100         flavor        data
101         legal_values  { 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600
102                       4800 7200 9600 14400 19200 38400 57600 115200 230400
103         }
104         default_value 38400
105         description   "
106             This option specifies the default baud rate (speed) for the
107             PC port 0."
108     }
109
110     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_BUFSIZE {
111         display       "Buffer size for the PC serial port 0 driver"
112         flavor        data
113         legal_values  0 to 8192
114         default_value 128
115         description   "
116             This option specifies the size of the internal buffers used
117             for the PC port 0."
118     }
119
120     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IOBASE {
121         display "I/O base address for the i386-PC serial port 0"
122         flavor    data
123         legal_values 0 to 0xFF8
124         default_value 0x3F8
125         description "
126         This option specifies the I/O address of the 8250 or 16550 for serial port 0."
127     }
128
129     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ {
130         display "IRQ for the i386-PC serial port 0"
131         flavor    data
132         legal_values 0 to 15
133         default_value 4
134         description "
135         This option specifies the IRQ of the 8250 or 16550 for serial port 0."
136    }
137
138     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL0_INT {
139         display "INT for the i386-PC serial port 0"
140         flavor    data
141         legal_values 32 to 47
142         default_value { CYGNUM_IO_SERIAL_I386_PC_SERIAL0_IRQ + 32 }
143         description "
144         This option specifies the interrupt vector of the 8250 or 16550 for serial port 0."
145    }
146 }
147
148 cdl_component CYGPKG_IO_SERIAL_I386_PC_SERIAL1 {
149     display       "PC serial port 1 driver"
150     flavor        bool
151     default_value 1
152     description   "
153         This option includes the serial device driver for port 1 on
154         the PC."
155
156     implements    CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED
157     implements    CYGINT_IO_SERIAL_FLOW_CONTROL_HW
158     implements    CYGINT_IO_SERIAL_LINE_STATUS_HW
159
160     cdl_option CYGDAT_IO_SERIAL_I386_PC_SERIAL1_NAME {
161         display       "Device name for PC serial port 1"
162         flavor        data
163         default_value {"\"/dev/ser1\""}
164         description   "
165             This option specifies the device name port 1 on the PC."
166     }
167
168     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BAUD {
169         display       "Baud rate for the PC serial port 1 driver"
170         flavor        data
171         legal_values  { 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600
172                       4800 7200 9600 14400 19200 38400 57600 115200 230400
173         }
174         default_value 38400
175         description   "
176             This option specifies the default baud rate (speed) for the
177             PC port 1."
178     }
179
180     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_BUFSIZE {
181         display       "Buffer size for the PC serial port 1 driver"
182         flavor        data
183         legal_values  0 to 8192
184         default_value 128
185         description   "
186             This option specifies the size of the internal buffers used
187             for the PC port 1."
188     }
189
190     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IOBASE {
191         display "I/O base address for the i386-PC serial port 1"
192         flavor    data
193         legal_values 0 to 0xFF8
194         default_value 0x2F8
195         description "
196         This option specifies the I/O address of the 8250 or 16550 for serial port 1."
197     }
198
199     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ {
200         display "IRQ for the i386-PC serial port 1"
201         flavor    data
202         legal_values 0 to 15
203         default_value 3
204         description "
205         This option specifies the IRQ of the 8250 or 16550 for serial port 1."
206    }
207
208     cdl_option CYGNUM_IO_SERIAL_I386_PC_SERIAL1_INT {
209         display "INT for the i386-PC serial port 1"
210         flavor    data
211         legal_values 32 to 47
212         default_value { CYGNUM_IO_SERIAL_I386_PC_SERIAL1_IRQ + 32 }
213         description "
214         This option specifies the interrupt vector of the 8250 or 16550 for serial port 1."
215    }
216 }
217
218     cdl_component CYGPKG_IO_SERIAL_I386_PC_OPTIONS {
219         display "Serial device driver build options"
220         flavor  none
221         description   "
222             Package specific build options including control over
223             compiler flags used only in building this package,
224             and details of which tests are built."
225
226
227         cdl_option CYGPKG_IO_SERIAL_I386_PC_CFLAGS_ADD {
228             display "Additional compiler flags"
229             flavor  data
230             no_define
231             default_value { "" }
232             description   "
233                 This option modifies the set of compiler flags for
234                 building these serial device drivers. These flags are used in addition
235                 to the set of global flags."
236         }
237
238         cdl_option CYGPKG_IO_SERIAL_I386_PC_CFLAGS_REMOVE {
239             display "Suppressed compiler flags"
240             flavor  data
241             no_define
242             default_value { "" }
243             description   "
244                 This option modifies the set of compiler flags for
245                 building these serial device drivers. These flags are removed from
246                 the set of global flags if present."
247         }
248     }
249
250     cdl_component CYGPKG_IO_SERIAL_I386_PC_TESTING {
251         display    "Testing parameters"
252         flavor     bool
253         calculated 1
254         active_if  CYGPKG_IO_SERIAL_I386_PC_SERIAL0
255
256         cdl_option CYGPRI_SER_TEST_SER_DEV {
257             display       "Serial device used for testing"
258             flavor        data
259             default_value { CYGDAT_IO_SERIAL_I386_PC_SERIAL0_NAME }
260         }
261
262         define_proc {
263             puts $::cdl_header "#define CYGPRI_SER_TEST_CRASH_ID \"i386pc\""
264             puts $::cdl_header "#define CYGPRI_SER_TEST_TTY_DEV  \"/dev/tty0\""
265         }
266     }
267 }
268
269 # EOF ser_i386_pc.cdl