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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [io/] [framebuf/] [current/] [cdl/] [framebuf.cdl] - Blame information for rev 825

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

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      framebuf.cdl
4
#
5
#      Generic framebuffer package configuration data
6
#
7
# ====================================================================
8
# ####ECOSGPLCOPYRIGHTBEGIN####
9
# -------------------------------------------
10
# This file is part of eCos, the Embedded Configurable Operating System.
11
# Copyright (C) 2008, 2009 Free Software Foundation, 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
16
# version.
17
#
18
# eCos is distributed in the hope that it will be useful, but WITHOUT
19
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
21
# for more details.
22
#
23
# You should have received a copy of the GNU General Public License
24
# along with eCos; if not, write to the Free Software Foundation, Inc.,
25
# 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
26
#
27
# As a special exception, if other files instantiate templates or use
28
# macros or inline functions from this file, or you compile this file
29
# and link it with other works to produce a work based on this file,
30
# this file does not by itself cause the resulting work to be covered by
31
# the GNU General Public License. However the source code for this file
32
# must still be made available in accordance with section (3) of the GNU
33
# General Public License v2.
34
#
35
# This exception does not invalidate any other reasons why a work based
36
# on this file might be covered by the GNU General Public License.
37
# -------------------------------------------
38
# ####ECOSGPLCOPYRIGHTEND####
39
# ====================================================================
40
######DESCRIPTIONBEGIN####
41
#
42
# Author(s):     bartv
43
# Date:          2005-03-29
44
#
45
#####DESCRIPTIONEND####
46
#========================================================================
47
 
48
cdl_package CYGPKG_IO_FRAMEBUF {
49
    display             "Framebuffer support"
50
    doc         ref/io-framebuf.html
51
    requires    CYGPKG_INFRA CYGPKG_HAL CYGPKG_ERROR
52
    include_dir cyg/io
53
    compile             framebuf.c linear.c palette.c
54
 
55
    # A custom build step to generate a single header with details of all
56
    # the framebuffers for this target. The dependency on 
57
    # copes with the case of a framebuffer device driver package being removed
58
    make -priority 2 {
59
        $(PREFIX)/include/cyg/io/framebufs/framebufs.h : $(REPOSITORY)/$(PACKAGE)/src/gen_framebufs.tcl \
60
            $(PREFIX)/include/pkgconf/system.h \
61
            $(subst $(PREFIX)/include/cyg/io/framebufs/framebufs.h,,$(wildcard $(PREFIX)/include/cyg/io/framebufs/*.h*))
62
        tclsh $< $(dir $@)
63
    }
64
 
65
    description "
66
        The generic framebuffer package provides an API for accessing
67
        one or more framebuffers, plus support for appropriate device
68
        drivers."
69
 
70
    cdl_interface CYGINT_IO_FRAMEBUF_DEVICES {
71
        display         "Number of available framebuffer devices"
72
        flavor          data
73
        description "
74
            This interface specifies the number of framebuffer devices
75
            supported by device driver(s) on this platform."
76
    }
77
 
78
    cdl_option CYGDAT_IO_FRAMEBUF_DEVICES {
79
        display         "Names of available framebuffer devices"
80
        default_value   { "" }
81
        flavor          data
82
        description "
83
            This option provides a list of the framebuffer devices available
84
            on the current platform. It is controlled by the appropriate
85
            device driver(s) and should not be edited by users."
86
    }
87
 
88
    cdl_option CYGDAT_IO_FRAMEBUF_TEST_DEVICE {
89
        display         "Framebuffer device to use for testing"
90
        active_if       CYGINT_IO_FRAMEBUF_DEVICES
91
        flavor          booldata
92
        default_value   0
93
        requires        { is_substr(CYGDAT_IO_FRAMEBUF_DEVICES, " " . CYGDAT_IO_FRAMEBUF_TEST_DEVICE . " ") }
94
        description "
95
            This option determines the framebuffer device to be used for running
96
          the testcases. By default the build system will automatically select
97
          the first entry in CYGDAT_IO_FRAMEBUF_DEVICES, which will be the
98
          only entry if there is only framebuffer device in the system."
99
    }
100
 
101
    cdl_component CYGPKG_IO_FRAMEBUF_FUNCTIONALITY {
102
        display         "Functionality supported by the platform's framebuffer(s)"
103
        flavor          none
104
        description "
105
            This component holds details of the functionality provided by the
106
            framebuffer device driver(s) for the current platform."
107
 
108
        cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_32BPP {
109
            display     "32bpp pixel support required"
110
            flavor      booldata
111
            description "
112
                This interface will be implemented if any of the framebuffer
113
                device drivers for the current platform provides a 32 bits
114
                per pixel display. This constrains the cyg_colour data type
115
                to be at least 32 bits."
116
        }
117
 
118
        cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_TRUE_COLOUR {
119
            display     "Framebuffer supports true colour mode"
120
            flavor      booldata
121
            define      CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_TRUE_COLOR
122
            description "
123
                This interface will be implemented if any of the framebuffer
124
                device drivers for the current platform support true colour
125
                operation. In other words the contents of the framebuffer
126
                defines the colours directly and there is no indirection via
127
                a palette."
128
        }
129
 
130
        cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_PALETTE {
131
            display     "Framebuffer uses a palette for colours"
132
            flavor      booldata
133
            description "
134
                This interface will be implemented if any of the framebuffer
135
                device drivers for the current platform use a palette. In
136
                other words the contents of the framebuffer's memory do not
137
                represent colours directly, but instead are treated as indices
138
                into a separate table known as the palette."
139
        }
140
 
141
        cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE {
142
            display     "Framebuffer uses a writeable palette for colours"
143
            flavor      booldata
144
            description "
145
                This interface will be implemented if any of the framebuffer
146
                device drivers for the current platform use a palette, and this
147
                palette can be modified at run-time. In other words the contents
148
                of the framebuffer's memory do not represent colours directly,
149
                but instead are treated as indices into a separate table known
150
                as the palette."
151
        }
152
 
153
        cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_VIEWPORT {
154
            display     "Framebuffer provides viewport support"
155
            flavor      booldata
156
            description "
157
              This interface will be implemented if any of the framebuffer
158
              device drivers for the current platform provide viewport support.
159
              In other words only a subset of the framebuffer, the viewport,
160
              is actually visible on the display and application code can move
161
              this viewport."
162
        }
163
 
164
        cdl_interface CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_DOUBLE_BUFFER {
165
            display     "Framebuffer provides double buffering support"
166
            flavor      booldata
167
            description "
168
              This interface will be implemented if any of the framebuffer
169
              device drivers for the current platform provide support for
170
              double buffering. In other words the framebuffer memory that
171
              is updated by graphics operations is not what actually gets
172
              displayed. Instead there is a separate hidden area of memory
173
              used for the display, and when drawing is complete a flush
174
              operation is needed to move the framebuffer contents to that
175
              hidden area. This makes it possible to update the display more
176
              smoothly, at the cost of potentially expensive memory copy
177
              operations."
178
        }
179
    }
180
 
181
    cdl_option CYGFUN_IO_FRAMEBUF_INSTALL_DEFAULT_PALETTE {
182
        display         "Framebuffers should install a default palette"
183
        flavor          bool
184
        default_value   1
185
        active_if       CYGHWR_IO_FRAMEBUF_FUNCTIONALITY_WRITEABLE_PALETTE
186
        description "
187
          Framebuffer devices which involve a writeable palette may set this
188
          to a default palette when activated by cyg_fb_on() or equivalent
189
          functionality. This is useful when the application will access the
190
          framebuffer directly. It is less useful if a higher-level graphics
191
          library is in use because typically that will install its own
192
          palette, and typically there is a code/data overhead of approximately 1K."
193
    }
194
 
195
    cdl_component CYGPKG_IO_FRAMEBUF_OPTIONS {
196
        display "Framebuffer build options"
197
        flavor  none
198
        description   "
199
            Package specific build options including control over
200
            compiler flags used only in building the generic frame
201
            buffer package, and details of which tests are built."
202
 
203
        cdl_option CYGPKG_IO_FRAMEBUF_CFLAGS_ADD {
204
            display "Additional compiler flags"
205
            flavor  data
206
            no_define
207
            default_value { "" }
208
            description   "
209
                This option modifies the set of compiler flags for
210
                building the generic framebuffer package. These flags
211
                are used in addition to the set of global flags."
212
        }
213
 
214
        cdl_option CYGPKG_IO_FRAMEBUF_CFLAGS_REMOVE {
215
            display "Suppressed compiler flags"
216
            flavor  data
217
            no_define
218
            default_value { "" }
219
            description   "
220
                This option modifies the set of compiler flags for
221
                building the generic framebuffer package. These flags
222
                are removed from the set of global flags if present."
223
        }
224
 
225
        cdl_option CYGPKG_IO_FRAMEBUF_TESTS {
226
            display         "Framebuffer tests"
227
            active_if   CYGINT_IO_FRAMEBUF_DEVICES
228
            flavor          booldata
229
            calculated  { "tests/fb tests/fbmacro" }
230
            description "
231
                This option specifies the set of tests for the framebuffer package"
232
        }
233
    }
234
}

powered by: WebSVN 2.1.0

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