OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [services/] [power/] [common/] [v2_0/] [cdl/] [power.cdl] - Blame information for rev 591

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      power.cdl
4
#
5
#      Generic power management support
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):      bartv
44
# Original data:  bartv
45
# Contributors:
46
# Date:           2001-06-12
47
#
48
#####DESCRIPTIONEND####
49
#
50
# ====================================================================
51
 
52
cdl_package CYGPKG_POWER {
53
    display     "Generic power management support"
54
    doc         ref/services-power.html
55
    parent      CYGPKG_IO
56
    include_dir "cyg/power"
57
    compile     power.cxx
58
    compile     -library=libextras.a power_data.cxx
59
 
60
    cdl_option CYGIMP_POWER_PROVIDE_STRINGS {
61
        display        "Provide a string for every power controller"
62
        doc            ref/power-info.html#POWER-MANAGEMENT-INFO_IDS
63
        default_value  1
64
        description "
65
            Optionally each power controller can contain a string identifying
66
            the hardware or functionality it is associated with. This string
67
            is not required by the generic power management, but may be
68
            useful when presenting the current state of each controller to
69
            the user.
70
        "
71
    }
72
 
73
    cdl_option CYGIMP_POWER_PROVIDE_POLICY_DATA {
74
        display        "Reserve space in each power controller for use by the policy manager"
75
        doc            ref/power-policy.html#POWER-POLICY-DATA
76
        default_value  1
77
        description "
78
            Optionally each power controller can provide a word of data
79
            for use by the policy manager, for example to store a pointer
80
            to some data structure controlled by the policy manager. If
81
            the policy manager has no need for such additional data this
82
            option can be safely disabled, saving a small amount of memory.
83
        "
84
    }
85
 
86
    cdl_component CYGPKG_POWER_THREAD {
87
        display        "Run a separate thread within the power management package"
88
        doc            ref/power-intro.html#POWER-INTRO-OPERATION
89
        active_if      CYGPKG_KERNEL
90
        default_value  1
91
        description "
92
            Optionally the power management code can run in its own thread. This
93
            can be useful if state changes can be requested from any code,
94
            including DSRs. If on the other hand the power management policy code
95
            runs in its own thread and is the only part of the system that
96
            makes power management calls, a separate thread is redundant.
97
        "
98
 
99
        cdl_option CYGNUM_POWER_THREAD_STACKSIZE {
100
            display             "Stack size for the power management thread"
101
            default_value       { is_loaded(CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE) ? CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE :
102
                                  (2 * CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE) }
103
            flavor              data
104
            description "
105
                If a separate power management thread is being used then this
106
                option allows the stack size to be controlled. If any power
107
                controllers require an unusually large amount of stack then
108
                they may impose a lower bound on this value, or alternatively
109
                the user may need to increase the stack.
110
            "
111
        }
112
 
113
        cdl_option CYGNUM_POWER_THREAD_PRIORITY {
114
            display       "Thread priority to use"
115
            active_if     { CYGNUM_KERNEL_SCHED_PRIORITIES > 2 }
116
            default_value 1
117
            flavor        data
118
            description "
119
                This is the priority for the power management thread.
120
                Typically it defaults to a high priority, thus ensuring
121
                that when the system wakes up from a sleep state all of
122
                the power controllers are activated early on and by the
123
                time other threads run they do not have to worry about
124
                various devices still being asleep.
125
            "
126
        }
127
    }
128
 
129
    cdl_component CYGPKG_POWER_OPTIONS {
130
        display "Power management build options"
131
        flavor  none
132
        description   "
133
            Package specific build options including control over
134
            compiler flags used only in building this package,
135
            and details of which tests are built."
136
 
137
 
138
        cdl_option CYGPKG_POWER_CFLAGS_ADD {
139
            display "Additional compiler flags"
140
            flavor  data
141
            no_define
142
            default_value { "" }
143
            description   "
144
                This option modifies the set of compiler flags for
145
                building the power management package. These flags are
146
                used in addition to the set of global flags."
147
        }
148
 
149
        cdl_option CYGPKG_POWER_CFLAGS_REMOVE {
150
            display "Suppressed compiler flags"
151
            flavor  data
152
            no_define
153
            default_value { "" }
154
            description   "
155
                This option modifies the set of compiler flags for
156
                building the power management package. These flags are
157
                removed from the set of global flags if present."
158
        }
159
 
160
        cdl_option CYGPKG_POWER_TESTS {
161
            display "Power management tests"
162
            flavor  data
163
            no_define
164
            calculated { "tests/powertest" }
165
        }
166
    }
167
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.