]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/io/watchdog/v2_0/cdl/watchdog.cdl
Initial revision
[karo-tx-redboot.git] / packages / io / watchdog / v2_0 / cdl / watchdog.cdl
1 # ====================================================================
2 #
3 #      watchdog.cdl
4 #
5 #      eCos watchdog 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 # Original data:  nickg
45 # Contributors:
46 # Date:           1999-07-13
47 #
48 #####DESCRIPTIONEND####
49 #
50 # ====================================================================
51
52 cdl_package CYGPKG_IO_WATCHDOG {
53     display       "Watchdog IO device"
54     define_header watchdog.h
55     include_dir   cyg/io
56     requires      1 == CYGINT_WATCHDOG_IMPLEMENTATIONS
57     description   "
58         The watchdog IO device allows applications to make use of a
59         timer facility. Depending on the underlying hardware device
60         driver, a watchdog timeout will either cause a board reset
61         or an action routine to be called. The application must call
62         the watchdog reset function at regular intervals, or else the
63         device will timeout. The assumption is that the watchdog timer
64         should never trigger unless there has been a serious fault in
65         either the hardware or the software."
66
67     compile       watchdog.cxx
68
69     cdl_interface CYGINT_WATCHDOG_HW_IMPLEMENTATIONS {
70         display       "Number of watchdog hardware implementations"
71         no_define
72     }
73
74     cdl_interface CYGINT_WATCHDOG_IMPLEMENTATIONS {
75         display       "Number of watchdog implementations"
76         no_define
77     }
78
79     cdl_component CYGPKG_IO_WATCHDOG_IMPLEMENTATION {
80         display "Watchdog implementation"
81         flavor none
82         no_define
83         description "Implementations of the watchdog device."
84
85         cdl_option CYGPKG_WATCHDOG_EMULATE {
86             default_value { 0 == CYGINT_WATCHDOG_HW_IMPLEMENTATIONS }
87             display       "Watchdog emulator"
88             implements    CYGINT_WATCHDOG_IMPLEMENTATIONS
89             requires      CYGVAR_KERNEL_COUNTERS_CLOCK
90             compile       emulate.cxx
91             description   "
92                 When this option is enabled, a watchdog device will be
93                 emulated using the kernel real-time clock."
94         }
95
96         cdl_option CYGIMP_WATCHDOG_NONE {
97             display       "No watchdog"
98             default_value 0
99             implements    CYGINT_WATCHDOG_IMPLEMENTATIONS
100             description   "Disables the watchdog."
101         }
102     }
103
104     cdl_interface CYGINT_WATCHDOG_RESETS_ON_TIMEOUT {
105         display       "Set if device causes a reset on timeout"
106         no_define
107     }
108
109     cdl_option CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT {
110         display       "Set if device causes a reset on timeout"
111         calculated    { CYGINT_WATCHDOG_RESETS_ON_TIMEOUT == 1 }
112         description   "
113             Some watchdog devices reset the board on timeout - for these
114             implementations it does not make sense to register timeout
115             actions so the code gets disabled when this option is set.
116             When this option is not set, it is the application's
117             responsibility to register an action handler which can force
118             a board reset when it gets called."
119     }
120
121     cdl_option CYGPKG_IO_WATCHDOG_BUILD_INTERACTIVE_TEST {
122         display "Build interactive watchdog test"
123         flavor  bool
124         no_define
125         default_value 0
126         description   "
127             This option enables the building of a watchdog test
128             which can be used to test that the board resets on
129             watchdog timeout. This test is built separately since
130             it only makes sense to use interactively."
131     }
132
133     cdl_component CYGPKG_IO_WATCHDOG_OPTIONS {
134         display "Watchdog build options"
135         flavor  none
136         description   "
137             Package specific build options including control over
138             compiler flags used only in building this package,
139             and details of which tests are built."
140
141
142         cdl_option CYGPKG_IO_WATCHDOG_CFLAGS_ADD {
143             display "Additional compiler flags"
144             flavor  data
145             no_define
146             default_value { "" }
147             description   "
148                 This option modifies the set of compiler flags for
149                 building the watchdog IO device. These flags are used
150                 in addition to the set of global flags."
151         }
152
153         cdl_option CYGPKG_IO_WATCHDOG_CFLAGS_REMOVE {
154             display "Suppressed compiler flags"
155             flavor  data
156             no_define
157             default_value { "" }
158             description   "
159                 This option modifies the set of compiler flags for
160                 building the watchdog IO device. These flags are removed from
161                 the set of global flags if present."
162         }
163
164         cdl_option CYGPKG_IO_WATCHDOG_TESTS {
165             display "Watchdog tests"
166             flavor  data
167             no_define
168             calculated { CYGPKG_IO_WATCHDOG_BUILD_INTERACTIVE_TEST ? 
169                          CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT ? "tests/watchdog2 tests/watchdog_reset" : "tests/watchdog tests/watchdog2 tests/watchdog_reset" :
170                          CYGSEM_WATCHDOG_RESETS_ON_TIMEOUT ? "tests/watchdog2" : "tests/watchdog tests/watchdog2" }
171
172             description   "
173                 This option specifies the set of tests for the
174                 watchdog IO device."
175         }
176     }
177 }