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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [xscale/] [uE250/] [current/] [cdl/] [hal_arm_xscale_uE250.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_arm_xscale_uE250.cdl
4
#
5
#      NMI uEngine uE250 platform HAL package 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, 2003, 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):      msalter
43
# Contributors:   hmt
44
# Date:           2001-12-03
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
cdl_package CYGPKG_HAL_ARM_XSCALE_UE250 {
50
    display       "uEngine 250"
51
    parent        CYGPKG_HAL_ARM_XSCALE_PXA2X0
52
    hardware
53
    include_dir   cyg/hal
54
    define_header hal_arm_xscale_uE250.h
55
    description   "
56
        This HAL platform package provides
57
        support for the NMI uPCI with a uEngine uE250 CPU board."
58
 
59
    compile       uE250_misc.c uE250_pci.c uE250_ide.c uE250_plx.c
60
 
61
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
62
    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
63
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
64
    # implements    CYGINT_HAL_ARM_MEM_REAL_REGION_TOP
65
    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
66
    implements    CYGINT_HAL_PLF_IF_IDE
67
    implements    CYGHWR_HAL_ARM_PXA2X0_BTUART
68
 
69
    define_proc {
70
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
71
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
72
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
73
        puts $::cdl_header "#define CYGBLD_HAL_PLF_INTS_H "
74
        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale PXA250\""
75
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"NMI uEngine uE250\""
76
        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
77
        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  257"
78
        puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0x00001f00"
79
    }
80
 
81
    cdl_component CYG_HAL_STARTUP {
82
        display       "Startup type"
83
        flavor        data
84
        default_value {"RAM"}
85
        legal_values  {"RAM" "ROM" "ROMRAM"}
86
        no_define
87
        define -file system.h CYG_HAL_STARTUP
88
        description   "
89
           When targeting the uE250 eval board it is possible to build
90
           the system for either RAM bootstrap or ROM bootstrap(s). Select
91
           'RAM' when building programs to load into RAM using onboard
92
           debug software such as Angel or eCos GDB stubs.  Select 'ROM'
93
           when building a stand-alone application which will be put
94
           into ROM.  'ROMRAM' will build a version suitable for system
95
           startup code (in FLASH/ROM), which is immediately copied into
96
           RAM for improved performance."
97
    }
98
 
99
    cdl_component CYGSEM_UE250_VGA_SUPPORT {
100
        display        "Support LCD"
101
        flavor         bool
102
        default_value  1
103
        compile        vga_support.c
104
        description    "
105
          Enabling this option will enable the use the VGA/CRT as a
106
          simple framebuffer, suitable for use with a windowing
107
          package."
108
 
109
        cdl_component CYGSEM_UE250_VGA_COMM {
110
            display        "Support VGA/keyboard for comminication channel"
111
            active_if      CYGPKG_REDBOOT
112
            flavor         bool
113
            default_value  1
114
            description    "
115
              Enabling this option will use the LCD/CRT and keyboard for a
116
              communications channel, suitable for RedBoot, etc."
117
 
118
            cdl_option  CYGNUM_UE250_VGA_COMM_FONT_SIZE {
119
                display       "VGA console font size"
120
                flavor        data
121
                legal_values  8 16
122
                default_value 16
123
                description   "
124
                   This option selects which size font, and ultimately the
125
                   number of displayable characters, to be used on the VGA."
126
            }
127
 
128
            cdl_option  CYGOPT_UE250_VGA_COMM_LOGO {
129
                display       "Logo location"
130
                flavor        booldata
131
                legal_values  { "TOP" "BOTTOM" }
132
                default_value { "TOP" }
133
                description   "
134
                    Use this option to control where the logo is placed
135
                    on the VGA/CRT screen."
136
            }
137
        }
138
    }
139
 
140
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
141
        display       "Diagnostic serial port baud rate"
142
        flavor        data
143
        legal_values  9600 19200 38400 57600 115200
144
        default_value 38400 ;
145
        description   "
146
            This option selects the baud rate used for the diagnostic port.
147
            Note: this should match the value chosen for the GDB port if the
148
            diagnostic and GDB port are the same."
149
    }
150
 
151
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
152
        display       "GDB serial port baud rate"
153
        flavor        data
154
        legal_values  9600 19200 38400 57600 115200
155
        default_value 38400 ;
156
        description   "
157
            This option selects the baud rate used for the diagnostic port.
158
            Note: this should match the value chosen for the GDB port if the
159
            diagnostic and GDB port are the same."
160
    }
161
 
162
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
163
        display      "Number of communication channels on the board"
164
        flavor       data
165
        calculated   1+CYGSEM_UE250_VGA_COMM
166
        description "
167
            Channel 0 is the only serial port on the board."
168
    }
169
 
170
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
171
        display          "Debug serial port"
172
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
173
        flavor data
174
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
175
        default_value    0
176
        description      "
177
            The UE250 has only one serial port."
178
    }
179
 
180
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
181
        display      "Default console channel."
182
        flavor       data
183
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
184
        calculated   0
185
    }
186
 
187
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
188
        display          "Diagnostic serial port"
189
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
190
        flavor data
191
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
192
        default_value    CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
193
        description      "
194
            The UE250 has only one serial port."
195
    }
196
 
197
    cdl_component CYGSEM_HAL_LOAD_FPGAS {
198
        display        "Download bitstreams to various FPGA devices"
199
        default_value  { CYG_HAL_STARTUP != "RAM" }
200
        requires       CYGPKG_COMPRESS_ZLIB
201
        compile        xilinx-load.c
202
        description    "
203
          Enabling this option will include code to download new
204
          firmware (bitstream data) to various FPGA devices contained
205
          within the system.  Sub-options control which devices are
206
          downloaded, etc."
207
 
208
        cdl_option CYGSEM_HAL_LOAD_PCI_FPGA {
209
            display        "Download firmware for PCI controller"
210
            active_if      CYGPKG_IO_PCI
211
            default_value  1
212
            description "
213
              This option will cause the firmware for the PCI controller
214
              to be downloaded during system initialization."
215
        }
216
 
217
        cdl_option CYGSEM_HAL_LOAD_VGA_FPGA {
218
            display        "Download firmware for VGA controller"
219
            active_if      CYGPKG_IO_PCI
220
            default_value  1
221
            description "
222
              This option will cause the firmware for the VGA controller
223
              to be downloaded during system initialization."
224
        }
225
    }
226
 
227
    cdl_component CYGBLD_GLOBAL_OPTIONS {
228
        display "Global build options"
229
        flavor  none
230
        no_define
231
        description   "
232
            Global build options including control over
233
            compiler flags, linker flags and choice of toolchain."
234
 
235
        parent  CYGPKG_NONE
236
 
237
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
238
            display "Global command prefix"
239
            flavor  data
240
            no_define
241
            default_value { "arm-eabi"}
242
            description "
243
                This option specifies the command prefix used when
244
                invoking the build tools."
245
        }
246
 
247
        cdl_option CYGBLD_GLOBAL_CFLAGS {
248
            display "Global compiler flags"
249
            flavor  data
250
            no_define
251
            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
252
                            " -mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame -fno-builtin" }
253
            description   "
254
                This option controls the global compiler flags which are used to
255
                compile all packages by default. Individual packages may define
256
                options which override these global flags."
257
        }
258
 
259
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
260
            display "Global linker flags"
261
            flavor  data
262
            no_define
263
            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
264
            description   "
265
                This option controls the global linker flags. Individual
266
                packages may define options which override these global flags."
267
        }
268
 
269
        cdl_option CYGBLD_BUILD_GDB_STUBS {
270
            display "Build GDB stub ROM image"
271
            default_value 0
272
            requires { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
273
            requires CYGSEM_HAL_ROM_MONITOR
274
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
275
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
276
            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
277
            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
278
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
279
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
280
            no_define
281
            description "
282
                This option enables the building of the GDB stubs for the
283
                board. The common HAL controls takes care of most of the
284
                build process, but the final conversion from ELF image to
285
                binary data is handled by the platform CDL, allowing
286
                relocation of the data if necessary."
287
 
288
            make -priority 320 {
289
                /bin/gdb_module.bin : /bin/gdb_module.img
290
                $(OBJCOPY) --remove-section=.fixed_vectors -O binary $< $@
291
            }
292
        }
293
    }
294
 
295
    cdl_component CYGPKG_HAL_ARM_XSCALE_UE250_OPTIONS {
296
        display "NMI uEngine uE250 build options"
297
        flavor  none
298
        no_define
299
        description   "
300
            Package specific build options including control over
301
            compiler flags used only in building this package,
302
            and details of which tests are built."
303
 
304
        cdl_option CYGPKG_HAL_ARM_XSCALE_UE250_CFLAGS_ADD {
305
            display "Additional compiler flags"
306
            flavor  data
307
            no_define
308
            default_value { "" }
309
            description   "
310
                This option modifies the set of compiler flags for
311
                building the XScale UE250 HAL. These flags are used in addition
312
                to the set of global flags."
313
        }
314
 
315
        cdl_option CYGPKG_HAL_ARM_XSCALE_UE250_CFLAGS_REMOVE {
316
            display "Suppressed compiler flags"
317
            flavor  data
318
            no_define
319
            default_value { "" }
320
            description   "
321
                This option modifies the set of compiler flags for
322
                building the XScale UE250 HAL. These flags are removed from
323
                the set of global flags if present."
324
        }
325
 
326
        cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
327
            display       "Number of breakpoints supported by the HAL."
328
            flavor        data
329
            default_value 32
330
            description   "
331
                This option determines the number of breakpoints supported by the HAL."
332
        }
333
    }
334
 
335
    cdl_component CYGHWR_MEMORY_LAYOUT {
336
        display "Memory layout"
337
        flavor data
338
        no_define
339
        calculated { CYG_HAL_STARTUP == "RAM" ? "arm_xscale_uE250_ram" : \
340
                     CYG_HAL_STARTUP == "ROMRAM" ? "arm_xscale_uE250.romram" : \
341
                     CYG_HAL_STARTUP == "ROM" ? "arm_xscale_uE250_rom" : "BOGUS.mlt" }
342
 
343
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
344
            display "Memory layout linker script fragment"
345
            flavor data
346
            no_define
347
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
348
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
349
                         CYG_HAL_STARTUP == "ROMRAM" ?  "" : \
350
                         CYG_HAL_STARTUP == "ROM" ?  "" : "BOGUS.ldi"}
351
        }
352
 
353
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
354
            display "Memory layout header file"
355
            flavor data
356
            no_define
357
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
358
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
359
                         CYG_HAL_STARTUP == "ROMRAM" ? "" : \
360
                         CYG_HAL_STARTUP == "ROM" ? "" : "BOGUS.h" }
361
        }
362
    }
363
 
364
    cdl_option CYGSEM_HAL_ROM_MONITOR {
365
        display       "Behave as a ROM monitor"
366
        flavor        bool
367
        default_value 0
368
        parent        CYGPKG_HAL_ROM_MONITOR
369
        requires      { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
370
        description   "
371
            Enable this option if this program is to be used as a ROM monitor,
372
            i.e. applications will be loaded into RAM on the board, and this
373
            ROM monitor may process exceptions or interrupts generated from the
374
            application. This enables features such as utilizing a separate
375
            interrupt stack when exceptions are generated."
376
    }
377
 
378
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
379
         display       "Work with a ROM monitor"
380
         flavor        booldata
381
         legal_values  { "Generic" "GDB_stubs" }
382
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
383
         parent        CYGPKG_HAL_ROM_MONITOR
384
         requires      { CYG_HAL_STARTUP == "RAM" }
385
         description   "
386
             Support can be enabled for different varieties of ROM monitor.
387
             This support changes various eCos semantics such as the encoding
388
             of diagnostic output, or the overriding of hardware interrupt
389
             vectors.
390
             Firstly there is \"Generic\" support which prevents the HAL
391
             from overriding the hardware vectors that it does not use, to
392
             instead allow an installed ROM monitor to handle them. This is
393
             the most basic support which is likely to be common to most
394
             implementations of ROM monitor.
395
             \"GDB_stubs\" provides support when GDB stubs are included in
396
             the ROM monitor or boot ROM."
397
     }
398
 
399
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
400
        display       "Redboot HAL options"
401
        flavor        none
402
        no_define
403
        parent        CYGPKG_REDBOOT
404
        active_if     CYGPKG_REDBOOT
405
        description   "
406
            This option lists the target's requirements for a valid Redboot
407
            configuration."
408
 
409
        # compile -library=libextras.a redboot_cmds.c
410
 
411
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
412
            display       "Build Redboot ROM binary image"
413
            active_if     CYGBLD_BUILD_REDBOOT
414
            default_value 1
415
            no_define
416
            description "This option enables the conversion of the Redboot ELF
417
                         image to a binary image suitable for ROM programming."
418
 
419
        # compile -library=libextras.a redboot_cmds.c
420
 
421
            make -priority 325 {
422
                /bin/redboot.bin : /bin/redboot.elf
423
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
424
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
425
                $(OBJCOPY) -O binary $< $@
426
            }
427
        }
428
    }
429
 
430
}

powered by: WebSVN 2.1.0

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