unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / devs / serial / arm / lpc2xxx / v2_0 / cdl / ser_arm_lpc2xxx.cdl
1 # ====================================================================
2 #
3 #      ser_arm_lpc2xxx.cdl
4 #
5 #      eCos serial ARM/LPC2XXX 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 ## Copyright (C) 2004 eCosCentric Limited 
13 ##
14 ## eCos is free software; you can redistribute it and/or modify it under
15 ## the terms of the GNU General Public License as published by the Free
16 ## Software Foundation; either version 2 or (at your option) any later version.
17 ##
18 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
19 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
20 ## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21 ## for more details.
22 ##
23 ## You should have received a copy of the GNU General Public License along
24 ## with eCos; if not, write to the Free Software Foundation, Inc.,
25 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ##
27 ## As a special exception, if other files instantiate templates or use macros
28 ## or inline functions from this file, or you compile this file and link it
29 ## with other works to produce a work based on this file, this file does not
30 ## by itself cause the resulting work to be covered by the GNU General Public
31 ## License. However the source code for this file must still be made available
32 ## in accordance with section (3) of the GNU General Public License.
33 ##
34 ## This exception does not invalidate any other reasons why a work based on
35 ## this file might be covered by the GNU General Public License.
36 ## -------------------------------------------
37 #####ECOSGPLCOPYRIGHTEND####
38 # ====================================================================
39 ######DESCRIPTIONBEGIN####
40 #
41 # Author(s):      jskov
42 # Original data:  gthomas
43 # Contributors:
44 # Date:           1999-07-07
45 #
46 #####DESCRIPTIONEND####
47 #
48 # ====================================================================
49
50 cdl_package CYGPKG_IO_SERIAL_ARM_LPC2XXX {
51     display       "ARM LPC2XXX serial device drivers"
52
53     parent        CYGPKG_IO_SERIAL_DEVICES
54     active_if     CYGPKG_IO_SERIAL
55     active_if     CYGPKG_HAL_ARM_LPC2XXX
56
57     requires      CYGPKG_ERROR
58     include_dir   cyg/io
59
60     description   "
61            This option enables the serial device drivers for the
62            ARM LPC2XXX."
63
64     # FIXME: This really belongs in the GENERIC_16X5X package
65     cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED {
66         display   "Generic 16x5x serial driver required"
67     }
68     define_proc {
69         puts $::cdl_header "#define CYGPRI_IO_SERIAL_GENERIC_16X5X_STEP 4"
70     }
71
72     requires { CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME == "1" }
73
74     define_proc {
75         puts $::cdl_system_header "/***** serial driver proc output start *****/"
76         puts $::cdl_system_header "#define CYGDAT_IO_SERIAL_GENERIC_16X5X_INL <cyg/io/arm_lpc2xxx_ser.inl>"
77         puts $::cdl_system_header "#define CYGDAT_IO_SERIAL_GENERIC_16X5X_CFG <pkgconf/io_serial_arm_lpc2xxx.h>"
78         puts $::cdl_system_header "/*****  serial driver proc output end  *****/"
79     }
80
81     cdl_component CYGPKG_IO_SERIAL_ARM_LPC2XXX_SERIAL0 {
82         display       "ARM LPC2XXX serial port 0 driver"
83         flavor        bool
84         default_value 1
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         description   "
91             This option includes the serial device driver for the ARM
92             LPC2XXX port 0."
93
94         cdl_option CYGDAT_IO_SERIAL_ARM_LPC2XXX_SERIAL0_NAME {
95             display       "Device name for ARM LPC2XXX serial port 0 driver"
96             flavor        data
97             default_value {"\"/dev/ser0\""}
98             description   "
99                 This option specifies the name of the serial device
100                 for the ARM LPC2XXX port 0."
101         }
102
103         cdl_option CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL0_BAUD {
104             display       "Baud rate for the ARM LPC2XXX serial port 0 driver"
105             flavor        data
106             legal_values  { 50 75 110 "134_5" 150 200 300 600 1200 1800 2400
107                             3600 4800 7200 9600 14400 19200 38400
108                             57600 115200 230400 }
109             default_value 38400
110             description   "
111                 This option specifies the default baud rate (speed)
112                 for the ARM LPC2XXX port 0."
113         }
114
115         cdl_option CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL0_BUFSIZE {
116             display       "Buffer size for the ARM LPC2XXX serial port 0 driver"
117             flavor        data
118             legal_values  0 to 8192
119             default_value 128
120             description   "
121                 This option specifies the size of the internal buffers
122                 used for the ARM LPC2XXX port 0."
123         }
124     }
125
126     cdl_component CYGPKG_IO_SERIAL_ARM_LPC2XXX_SERIAL1 {
127         display       "ARM LPC2XXX serial port 1 driver"
128         flavor        bool
129         default_value 1
130
131         implements CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED
132         implements CYGINT_IO_SERIAL_FLOW_CONTROL_HW
133         implements CYGINT_IO_SERIAL_LINE_STATUS_HW
134
135         description   "
136             This option includes the serial device driver for the ARM
137             LPC2XXX port 1."
138
139         cdl_option CYGDAT_IO_SERIAL_ARM_LPC2XXX_SERIAL1_NAME {
140             display       "Device name for ARM LPC2XXX serial port 1 driver"
141             flavor        data
142             default_value {"\"/dev/ser1\""}
143             description   "
144                 This option specifies the name of the serial device
145                 for the ARM LPC2XXX port 1."
146         }
147
148         cdl_option CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL1_BAUD {
149             display       "Baud rate for the ARM LPC2XXX serial port 1 driver"
150             flavor        data
151             legal_values  { 50 75 110 "134_5" 150 200 300 600 1200 1800 2400
152                             3600 4800 7200 9600 14400 19200 38400
153                             57600 115200 230400 }
154             default_value 38400
155             description   "
156                 This option specifies the default baud rate (speed)
157                 for the ARM LPC2XXX port 1."
158          }
159
160          cdl_option CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL1_BUFSIZE {
161              display       "Buffer size for the ARM LPC2XXX serial port 1 driver"
162              flavor        data
163              legal_values  0 to 8192
164              default_value 128
165              description   "
166                  This option specifies the size of the internal
167                  buffers used for the ARM LPC2XXX port 1."
168          }
169     }
170
171     cdl_component CYGPKG_IO_SERIAL_ARM_LPC2XXX_TESTING {
172         display    "Testing parameters"
173         flavor     bool
174         calculated 1
175         active_if  CYGPKG_IO_SERIAL_ARM_LPC2XXX_SERIAL0
176
177         implements CYGINT_IO_SERIAL_TEST_SKIP_9600
178         implements CYGINT_IO_SERIAL_TEST_SKIP_115200
179         implements CYGINT_IO_SERIAL_TEST_SKIP_PARITY_EVEN
180         
181         cdl_option CYGPRI_SER_TEST_SER_DEV {
182             display       "Serial device used for testing"
183             flavor        data
184             default_value { CYGDAT_IO_SERIAL_ARM_LPC2XXX_SERIAL0_NAME }
185         }
186
187         define_proc {
188             puts $::cdl_header "#define CYGPRI_SER_TEST_CRASH_ID \"armlpc2xxx\""
189             puts $::cdl_header "#define CYGPRI_SER_TEST_TTY_DEV  \"/dev/tty0\""
190         }
191     }
192 }
193
194 # EOF ser_arm_lpc2xxx.cdl