]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/io/can/v2_0/cdl/io_can.cdl
6b26ce30c86eaf612d687d27d9bf468bb5451121
[karo-tx-redboot.git] / packages / io / can / v2_0 / cdl / io_can.cdl
1 # ====================================================================
2 #
3 #      io_can.cdl
4 #
5 #      eCos IO 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):      Uwe Kindler
44 # Original data:  gthomas
45 # Contributors:
46 # Date:           2005-05-17
47 #
48 #####DESCRIPTIONEND####
49 #
50 # ====================================================================
51
52 cdl_package CYGPKG_IO_CAN {
53     display       "CAN device drivers"
54     active_if     CYGPKG_IO
55     requires      CYGPKG_ERROR
56     include_dir   cyg/io
57     description   "
58         This option enables drivers for basic I/O services on
59         CAN devices."
60     doc           ref/io.html
61
62     compile       -library=libextras.a can.c
63  
64     define_proc {
65         puts $::cdl_header "/***** proc output start *****/"
66         puts $::cdl_header "#include <pkgconf/system.h>"
67         puts $::cdl_header "#ifdef CYGDAT_IO_CAN_DEVICE_HEADER"
68         puts $::cdl_header "# include CYGDAT_IO_CAN_DEVICE_HEADER"
69         puts $::cdl_header "#endif "
70         puts $::cdl_header "/****** proc output end ******/"
71     }
72
73     cdl_interface CYGINT_IO_CAN_TIMESTAMP {
74         display "CAN driver supports timestamps"
75     }
76     
77     cdl_option CYGOPT_IO_CAN_SUPPORT_TIMESTAMP {
78         display       "Support CAN event timestamps"
79         requires      { CYGINT_IO_CAN_TIMESTAMP > 0 }
80         default_value 0
81         description "
82             If the CAN hardware driver supports some kind of timestamps
83             then this option enables propagation of timestamps to higher layers. 
84             This may add some extra code to hardware drivers."
85     }
86     
87     cdl_option CYGOPT_IO_CAN_TX_EVENT_SUPPORT {
88         display       "Support TX events"
89         default_value 0
90         description "
91             This option enables support for TX events. If a CAN message is
92             transmitted successfully a TX event will be inserted into the
93             receive event queue and propagated to higher layers. If this
94             option is enabled the RX event queue will be filled faster."
95     }
96     
97     cdl_component CYGPKG_IO_CAN_DEVICES {
98         display       "Hardware CAN device drivers"
99         flavor        bool
100         default_value 1
101         description   "
102             This option enables the hardware device drivers
103                 for the current platform."
104     }
105     
106     cdl_option CYGOPT_IO_CAN_SUPPORT_NONBLOCKING {
107         display       "Support non-blocking read and write calls"
108         default_value 0
109         description   "
110             This option enables extra code in the generic CAN driver
111             which allows clients to switch read() and write() call
112             semantics from blocking to non-blocking."
113     }
114     
115     cdl_component CYGOPT_IO_CAN_SUPPORT_TIMEOUTS {
116         display       "Support read/write timeouts"
117         flavor        bool
118         default_value 0
119         active_if     CYGPKG_KERNEL
120         requires      CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT
121         requires      CYGOPT_IO_CAN_SUPPORT_NONBLOCKING
122         description   "
123              Read and write operations are blocking calls. If no CAN message
124              arrives for a long time the calling thread remains blocked. If
125              nonblocking calls are enabled but the call should return after 
126              a certain amount of time then this option should be enabled."
127              
128         cdl_option CYGNUM_IO_CAN_DEFAULT_TIMEOUT_READ {
129             display "Default read timeout."
130             flavor  data
131             default_value 100
132             description   "
133                 The initial timeout value in clock ticks for cyg_io_read() calls."
134         }
135         
136         cdl_option CYGNUM_IO_CAN_DEFAULT_TIMEOUT_WRITE {
137             display "Default write timeout."
138             flavor  data
139             default_value 100
140             description   "
141                 The initial timeout value in clock ticks for cyg_io_write() calls."
142         }
143     }
144
145    cdl_component CYGPKG_IO_CAN_OPTIONS {
146         display "CAN 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_CAN_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 the CAN device drivers. These flags are used in addition
162                 to the set of global flags."
163         }
164
165         cdl_option CYGPKG_IO_CAN_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 the CAN device drivers. These flags are removed from
173                 the set of global flags if present."
174         }
175
176     }
177 }
178
179 # EOF io_can.cdl