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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [arm/] [xscale/] [iq80321/] [v2_0/] [cdl/] [hal_arm_xscale_iq80321.cdl] - Blame information for rev 27

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

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      hal_arm_xscale_iq80321.cdl
4
#
5
#      Intel XScale IQ80321 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 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):      msalter
44
# Contributors:   hmt
45
# Date:           2001-12-03
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
cdl_package CYGPKG_HAL_ARM_XSCALE_IQ80321 {
51
    display       "Intel XScale IQ80321 evaluation board"
52
    parent        CYGPKG_HAL_ARM_XSCALE
53
    hardware
54
    include_dir   cyg/hal
55
    define_header hal_arm_xscale_iq80321.h
56
    description   "
57
        This HAL platform package provides
58
        support for the Intel XScale IQ80321 board."
59
 
60
    compile       iq80321_misc.c hal_diag.c iq80321_pci.c
61
 
62
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
63
    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
64
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
65
    implements    CYGINT_HAL_ARM_MEM_REAL_REGION_TOP
66
    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
67
 
68
    define_proc {
69
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
70
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  "
71
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
72
        puts $::cdl_header "#define CYGBLD_HAL_PLF_INTS_H "
73
        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
74
        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"IQ80321\""
75
        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
76
        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  169"
77
    }
78
 
79
    cdl_component CYG_HAL_STARTUP {
80
        display       "Startup type"
81
        flavor        data
82
        default_value {"RAM"}
83
        legal_values  {"RAM" "ROM"}
84
        no_define
85
        define -file system.h CYG_HAL_STARTUP
86
        description   "
87
           When targeting the IQ80321 eval board it is possible to build
88
           the system for either RAM bootstrap or ROM bootstrap(s). Select
89
           'ram' when building programs to load into RAM using onboard
90
           debug software such as Angel or eCos GDB stubs.  Select 'rom'
91
           when building a stand-alone application which will be put
92
           into ROM.  Selection of 'stubs' is for the special case of
93
           building the eCos GDB stubs themselves."
94
    }
95
 
96
    cdl_component CYG_HAL_MEMORY_MAP {
97
        display       "MMU Mapping"
98
        flavor        data
99
        default_value {"NORMAL"}
100
        legal_values  {"NORMAL" "ALTERNATE"}
101
        no_define
102
        define -file system.h CYG_HAL_MEMORY_MAP
103
        description   "
104
           When targeting the IQ80321 eval board it is possible to build
105
           the system for two MMU mappings. Select 'NORMAL' when building
106
           programs to map all of RAM to virtual address 0x00000000. Select
107
           ALTERNATE when building programs to map RAM at 0xA0000000. In
108
           the ALTERNATE case, the first 1MB of RAM is also mapped at virtual
109
           address 0x00000000 for CPU exception vectors."
110
    }
111
 
112
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
113
        display       "Diagnostic serial port baud rate"
114
        flavor        data
115
        legal_values  9600 19200 38400 57600 115200
116
        default_value 115200 ;
117
        description   "
118
            This option selects the baud rate used for the diagnostic port.
119
            Note: this should match the value chosen for the GDB port if the
120
            diagnostic and GDB port are the same."
121
    }
122
 
123
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
124
        display       "GDB serial port baud rate"
125
        flavor        data
126
        legal_values  9600 19200 38400 57600 115200
127
        default_value 115200 ;
128
        description   "
129
            This option selects the baud rate used for the diagnostic port.
130
            Note: this should match the value chosen for the GDB port if the
131
            diagnostic and GDB port are the same."
132
    }
133
 
134
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
135
        display      "Number of communication channels on the board"
136
        flavor       data
137
        calculated   1
138
        description "
139
            Channel 0 is the only serial port on the board."
140
    }
141
 
142
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
143
        display          "Debug serial port"
144
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
145
        flavor data
146
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
147
        default_value    0
148
        description      "
149
            The IQ80321 has only one serial port."
150
    }
151
 
152
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
153
        display      "Default console channel."
154
        flavor       data
155
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
156
        calculated   0
157
    }
158
 
159
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
160
        display          "Diagnostic serial port"
161
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
162
        flavor data
163
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
164
        default_value    CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
165
        description      "
166
            The IQ80321 has only one serial port."
167
    }
168
 
169
    cdl_component CYGBLD_GLOBAL_OPTIONS {
170
        display "Global build options"
171
        flavor  none
172
        no_define
173
        description   "
174
            Global build options including control over
175
            compiler flags, linker flags and choice of toolchain."
176
 
177
        parent  CYGPKG_NONE
178
 
179
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
180
            display "Global command prefix"
181
            flavor  data
182
            no_define
183
            default_value { "arm-elf" }
184
            description "
185
                This option specifies the command prefix used when
186
                invoking the build tools."
187
        }
188
 
189
        cdl_option CYGBLD_GLOBAL_CFLAGS {
190
            display "Global compiler flags"
191
            flavor  data
192
            no_define
193
            default_value { "-mcpu=xscale -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
194
            description   "
195
                This option controls the global compiler flags which are used to
196
                compile all packages by default. Individual packages may define
197
                options which override these global flags."
198
        }
199
 
200
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
201
            display "Global linker flags"
202
            flavor  data
203
            no_define
204
            default_value { "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
205
            description   "
206
                This option controls the global linker flags. Individual
207
                packages may define options which override these global flags."
208
        }
209
 
210
        cdl_option CYGBLD_BUILD_GDB_STUBS {
211
            display "Build GDB stub ROM image"
212
            default_value 0
213
            requires { CYG_HAL_STARTUP == "ROM" }
214
            requires CYGSEM_HAL_ROM_MONITOR
215
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
216
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
217
            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
218
            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
219
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
220
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
221
            no_define
222
            description "
223
                This option enables the building of the GDB stubs for the
224
                board. The common HAL controls takes care of most of the
225
                build process, but the final conversion from ELF image to
226
                binary data is handled by the platform CDL, allowing
227
                relocation of the data if necessary."
228
 
229
            make -priority 320 {
230
                /bin/gdb_module.bin : /bin/gdb_module.img
231
                $(OBJCOPY) --remove-section=.fixed_vectors -O binary $< $@
232
            }
233
        }
234
    }
235
 
236
    cdl_component CYGPKG_HAL_ARM_XSCALE_IQ80321_OPTIONS {
237
        display "Intel XScale IQ80321 build options"
238
        flavor  none
239
        no_define
240
        description   "
241
            Package specific build options including control over
242
            compiler flags used only in building this package,
243
            and details of which tests are built."
244
 
245
        cdl_option CYGPKG_HAL_ARM_XSCALE_IQ80321_CFLAGS_ADD {
246
            display "Additional compiler flags"
247
            flavor  data
248
            no_define
249
            default_value { "" }
250
            description   "
251
                This option modifies the set of compiler flags for
252
                building the XScale IQ80321 HAL. These flags are used in addition
253
                to the set of global flags."
254
        }
255
 
256
        cdl_option CYGPKG_HAL_ARM_XSCALE_IQ80321_CFLAGS_REMOVE {
257
            display "Suppressed compiler flags"
258
            flavor  data
259
            no_define
260
            default_value { "" }
261
            description   "
262
                This option modifies the set of compiler flags for
263
                building the XScale IQ80321 HAL. These flags are removed from
264
                the set of global flags if present."
265
        }
266
 
267
        cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
268
            display       "Number of breakpoints supported by the HAL."
269
            flavor        data
270
            default_value 32
271
            description   "
272
                This option determines the number of breakpoints supported by the HAL."
273
        }
274
 
275
        cdl_option CYGSEM_HAL_ARM_IQ80321_FAB_C {
276
            display       "Use Fab C IDSEL and IRQ steering"
277
            flavor        bool
278
            default_value 0
279
            description   "
280
                This option controls whether or not the HAL uses PCI IDSEL and IRQ
281
                routing appropriate for Fab C boards. Fab D and later boards have
282
                different IDSELs and interrupt routing. Default is to not build
283
                for Fab C."
284
        }
285
 
286
        cdl_option CYGSEM_HAL_ARM_IQ80321_CLEAR_PCI_RETRY {
287
            display       "Clear PCI Retry bit"
288
            flavor        bool
289
            default_value 1
290
            description   "
291
                This option controls whether or not the HAL allows the host PC
292
                to completely boot. In some cases, it may not be desired to allow
293
                this if RedBoot is used to automatically launch an application
294
                which needs to run some setup code before allowing the PC to
295
                finish booting. In that case, the application code, not RedBoot
296
                will clear the PCI retry bit."
297
        }
298
    }
299
 
300
    cdl_component CYGHWR_MEMORY_LAYOUT {
301
        display "Memory layout"
302
        flavor data
303
        no_define
304
        calculated { CYG_HAL_STARTUP == "RAM" ? "arm_xscale_iq80321_ram" : \
305
                                                "arm_xscale_iq80321_rom" }
306
 
307
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
308
            display "Memory layout linker script fragment"
309
            flavor data
310
            no_define
311
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
312
            calculated { CYG_HAL_STARTUP == "RAM" ?                                                  \
313
                CYG_HAL_MEMORY_MAP == "NORMAL" ? "" :        \
314
                                                 "" : \
315
                CYG_HAL_MEMORY_MAP == "NORMAL" ? "" :        \
316
                                                 "" }
317
        }
318
 
319
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
320
            display "Memory layout header file"
321
            flavor data
322
            no_define
323
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
324
            calculated { CYG_HAL_STARTUP == "RAM" ?                                                \
325
                CYG_HAL_MEMORY_MAP == "NORMAL" ? "" :        \
326
                                                 "" : \
327
                CYG_HAL_MEMORY_MAP == "NORMAL" ? "" :        \
328
                                                 "" }
329
        }
330
    }
331
 
332
    cdl_option CYGSEM_HAL_ROM_MONITOR {
333
        display       "Behave as a ROM monitor"
334
        flavor        bool
335
        default_value 0
336
        parent        CYGPKG_HAL_ROM_MONITOR
337
        requires      { CYG_HAL_STARTUP == "ROM" }
338
        description   "
339
            Enable this option if this program is to be used as a ROM monitor,
340
            i.e. applications will be loaded into RAM on the board, and this
341
            ROM monitor may process exceptions or interrupts generated from the
342
            application. This enables features such as utilizing a separate
343
            interrupt stack when exceptions are generated."
344
    }
345
 
346
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
347
         display       "Work with a ROM monitor"
348
         flavor        booldata
349
         legal_values  { "Generic" "GDB_stubs" }
350
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
351
         parent        CYGPKG_HAL_ROM_MONITOR
352
         requires      { CYG_HAL_STARTUP == "RAM" }
353
         description   "
354
             Support can be enabled for different varieties of ROM monitor.
355
             This support changes various eCos semantics such as the encoding
356
             of diagnostic output, or the overriding of hardware interrupt
357
             vectors.
358
             Firstly there is \"Generic\" support which prevents the HAL
359
             from overriding the hardware vectors that it does not use, to
360
             instead allow an installed ROM monitor to handle them. This is
361
             the most basic support which is likely to be common to most
362
             implementations of ROM monitor.
363
             \"GDB_stubs\" provides support when GDB stubs are included in
364
             the ROM monitor or boot ROM."
365
     }
366
 
367
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
368
        display       "Redboot HAL options"
369
        flavor        none
370
        no_define
371
        parent        CYGPKG_REDBOOT
372
        active_if     CYGPKG_REDBOOT
373
        description   "
374
            This option lists the target's requirements for a valid Redboot
375
            configuration."
376
 
377
        # compile -library=libextras.a redboot_cmds.c
378
 
379
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
380
            display       "Build Redboot ROM binary image"
381
            active_if     CYGBLD_BUILD_REDBOOT
382
            default_value 1
383
            no_define
384
            description "This option enables the conversion of the Redboot ELF
385
                         image to a binary image suitable for ROM programming."
386
 
387
            compile -library=libextras.a diag/diag.c diag/io_utils.c \
388
                                diag/xscale_test.c  \
389
                                diag/memtest.c diag/test_menu.c diag/i82544.c \
390
                                diag/pcitest.c diag/battery.c diag/timer.c
391
 
392
            make -priority 325 {
393
                /bin/redboot.bin : /bin/redboot.elf
394
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
395
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
396
                $(OBJCOPY) -O binary $< $@
397
            }
398
        }
399
 
400
        cdl_option CYGSEM_HAL_ARM_IQ80321_BATTERY_TEST {
401
            display       "Include Battery Test in Diagnostics Menu"
402
            flavor        bool
403
            default_value 1
404
            description   "
405
                This option controls whether or not the battery test is included
406
                in the IQ80321 diagnostics."
407
        }
408
    }
409
 
410
}

powered by: WebSVN 2.1.0

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