1 # ====================================================================
5 # eCos wallclock 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_WALLCLOCK {
53 display "Wallclock device"
56 define_header wallclock.h
58 The wallclock device provides real time stamps, as opposed
59 to the eCos kernel timers which typically just count the
60 number of clock ticks since the hardware was powered up.
61 Depending on the target platform this device may involve
62 interacting with a suitable clock chip, or it may be
63 emulated by using the kernel timers."
67 cdl_interface CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS {
68 display "Number of wallclock hardware implementations"
72 cdl_interface CYGINT_WALLCLOCK_IMPLEMENTATIONS {
73 display "Number of wallclock implementations"
75 requires 1 == CYGINT_WALLCLOCK_IMPLEMENTATIONS
78 cdl_interface CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED {
79 display "Wallclock driver supports set/get mode"
83 cdl_option CYGSEM_WALLCLOCK_MODE {
84 display "Wallclock mode"
86 legal_values { "init_get" "set_get" }
87 default_value { CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED ? \
88 "set_get" : "init_get" }
89 requires { CYGINT_WALLCLOCK_SET_GET_MODE_SUPPORTED || \
90 CYGSEM_WALLCLOCK_MODE == "init_get" }
93 The wallclock driver can be used in one of two
94 modes. Set/get mode allows time to be kept during power
95 off (assuming there's a battery backed clock). Init/get
96 mode is slightly smaller and can be used when there is no
97 battery backed clock - in this mode time 0 is the time of
101 cdl_option CYGSEM_WALLCLOCK_SET_GET_MODE {
102 display "Wallclock set/get mode"
103 calculated { CYGSEM_WALLCLOCK_MODE == "set_get" ? 1 : 0 }
106 cdl_component CYGPKG_IO_WALLCLOCK_IMPLEMENTATION {
107 display "Wallclock implementation"
110 description "Implementations of the wallclock device."
112 cdl_option CYGPKG_WALLCLOCK_EMULATE {
113 default_value { 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS }
114 display "Wallclock emulator"
115 implements CYGINT_WALLCLOCK_IMPLEMENTATIONS
117 requires CYGPKG_KERNEL
119 puts $::cdl_header "#undef CYGSEM_WALLCLOCK_SET_GET_MODE"
122 When this option is enabled, a wallclock device will be
123 emulated using the kernel real-time clock."
126 cdl_option CYGIMP_WALLCLOCK_NONE {
127 display "No wallclock"
128 default_value { !CYGPKG_KERNEL && 0 == CYGINT_WALLCLOCK_HW_IMPLEMENTATIONS }
129 implements CYGINT_WALLCLOCK_IMPLEMENTATIONS
130 description "Disables the wallclock."
134 cdl_component CYGPKG_IO_WALLCLOCK_OPTIONS {
135 display "Wallclock build options"
138 Package specific build options including control over
139 compiler flags used only in building this package,
140 and details of which tests are built."
143 cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_ADD {
144 display "Additional compiler flags"
149 This option modifies the set of compiler flags for
150 building the wallclock device. These flags are used in addition
151 to the set of global flags."
154 cdl_option CYGPKG_IO_WALLCLOCK_CFLAGS_REMOVE {
155 display "Suppressed compiler flags"
160 This option modifies the set of compiler flags for
161 building the wallclock device. These flags are removed from
162 the set of global flags if present."
165 cdl_option CYGPKG_IO_WALLCLOCK_TESTS {
166 display "Wallclock tests"
169 calculated { CYGPKG_KERNEL ? "tests/wallclock tests/wallclock2" : "" }
171 This option specifies the set of tests for the