1 # ====================================================================
5 # eCos watchdog configuration data
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.
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.
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
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.
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.
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.
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####
44 # Original data: nickg
48 #####DESCRIPTIONEND####
50 # ====================================================================
52 cdl_package CYGPKG_IO_WATCHDOG {
53 display "Watchdog IO device"
54 define_header watchdog.h
56 requires 1 == CYGINT_WATCHDOG_IMPLEMENTATIONS
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."
69 cdl_interface CYGINT_WATCHDOG_HW_IMPLEMENTATIONS {
70 display "Number of watchdog hardware implementations"
74 cdl_interface CYGINT_WATCHDOG_IMPLEMENTATIONS {
75 display "Number of watchdog implementations"
79 cdl_component CYGPKG_IO_WATCHDOG_IMPLEMENTATION {
80 display "Watchdog implementation"
83 description "Implementations of the watchdog device."
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
92 When this option is enabled, a watchdog device will be
93 emulated using the kernel real-time clock."
96 cdl_option CYGIMP_WATCHDOG_NONE {
99 implements CYGINT_WATCHDOG_IMPLEMENTATIONS
100 description "Disables the watchdog."
104 cdl_interface CYGINT_WATCHDOG_RESETS_ON_TIMEOUT {
105 display "Set if device causes a reset on timeout"
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 }
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."
121 cdl_option CYGPKG_IO_WATCHDOG_BUILD_INTERACTIVE_TEST {
122 display "Build interactive watchdog test"
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."
133 cdl_component CYGPKG_IO_WATCHDOG_OPTIONS {
134 display "Watchdog build options"
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."
142 cdl_option CYGPKG_IO_WATCHDOG_CFLAGS_ADD {
143 display "Additional compiler flags"
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."
153 cdl_option CYGPKG_IO_WATCHDOG_CFLAGS_REMOVE {
154 display "Suppressed compiler flags"
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."
164 cdl_option CYGPKG_IO_WATCHDOG_TESTS {
165 display "Watchdog tests"
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" }
173 This option specifies the set of tests for the