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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [arm/] [xscale/] [iop310/] [current/] [cdl/] [hal_arm_xscale_iop310.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_iop310.cdl
4
#
5
#      Intel IQ80200/80310 chipset 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, 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
# Original data:
44
# Contributors:   gthomas
45
# Date:           2000-10-09
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
cdl_package CYGPKG_HAL_ARM_XSCALE_IOP310 {
51
    display       "Intel IOP310 (IQ80200/IQ80310) XScale chipset"
52
    parent        CYGPKG_HAL_ARM_XSCALE_CORE
53
    define_header hal_arm_xscale_iop310.h
54
    include_dir   cyg/hal
55
    hardware
56
    description   "
57
        The IOP310 HAL package provides the support needed to run
58
        eCos on an Intel IQ80200/80310 XScale chipset."
59
 
60
    compile hal_diag.c iop310_misc.c iop310_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
    # Let the architectural HAL see this variant's interrupts file
69
     define_proc {
70
        puts $::cdl_header        "#define CYGBLD_HAL_VAR_INTS_H "
71
        puts $::cdl_header        "#define CYGBLD_HAL_VAR_H "
72
        puts $::cdl_system_header "#define CYGBLD_HAL_ARM_VAR_IO_H"
73
    }
74
 
75
    cdl_component CYG_HAL_STARTUP {
76
        display       "Startup type"
77
        flavor        data
78
        default_value {"RAM"}
79
        legal_values  {"RAM" "ROM"}
80
        no_define
81
        define -file system.h CYG_HAL_STARTUP
82
        description   "
83
           When targetting the IOP310 eval board(s) it is possible to build
84
           the system for either RAM bootstrap or ROM bootstrap(s). Select
85
           'ram' when building programs to load into RAM using onboard
86
           debug software such as Angel or eCos GDB stubs.  Select 'rom'
87
           when building a stand-alone application which will be put
88
           into ROM.  Selection of 'stubs' is for the special case of
89
           building the eCos GDB stubs themselves."
90
    }
91
 
92
    cdl_option CYGSEM_HAL_ARM_IOP310_ARMBOOT {
93
        display       "Coexist with ARM bootloader"
94
        flavor        bool
95
        default_value 0
96
        description   "
97
            Enable this option if the ARM bootloader is programmed into
98
            the FLASH boot sector on the board."
99
    }
100
 
101
    cdl_interface     CYGHWR_HAL_ARM_IOP310_SERIAL_PORTA {
102
        display   "UART1 implemented by platform"
103
        description "
104
          Diagnostic I/O channels are implemented by the platform
105
          which use the IQ80200/80310 chipset.  This interface
106
          controls whether or not port \"A\" has been implemented."
107
    }
108
 
109
    cdl_interface     CYGHWR_HAL_ARM_IOP310_SERIAL_PORTB {
110
        display   "UART1 implemented by platform"
111
        description "
112
          Diagnostic I/O channels are implemented by the platform
113
          which use the IQ80200/80310 chipset.  This interface
114
          controls whether or not port \"B\" has been implemented."
115
    }
116
 
117
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
118
        display      "Default console channel."
119
        flavor       data
120
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
121
        default_value CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
122
    }
123
 
124
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
125
        display      "Number of communication channels on the board"
126
        flavor       data
127
        calculated   CYGHWR_HAL_ARM_IOP310_SERIAL_PORTA+CYGHWR_HAL_ARM_IOP310_SERIAL_PORTB
128
    }
129
 
130
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
131
        display          "Debug serial port"
132
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
133
        flavor data
134
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
135
        default_value    0
136
        description      "
137
            This option chooses which port will be used to connect to a host
138
            running GDB."
139
     }
140
 
141
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
142
         display          "Diagnostic serial port"
143
         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
144
         flavor data
145
         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
146
         default_value    CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
147
         description      "
148
            The IOP310 board may have multiple serial ports.  This option
149
            chooses which port will be used for diagnostic output."
150
     }
151
 
152
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
153
        display       "Diagnostic serial port baud rate"
154
        flavor        data
155
        legal_values  9600 19200 38400 57600 115200
156
        default_value 115200
157
        description   "
158
            This option selects the baud rate used for the diagnostic port.
159
            Note: this should match the value chosen for the GDB port if the
160
            diagnostic and GDB port are the same."
161
    }
162
 
163
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
164
        display       "GDB serial port baud rate"
165
        flavor        data
166
        legal_values  9600 19200 38400 57600 115200
167
        default_value 115200
168
        description   "
169
            This option selects the baud rate used for the GDB port."
170
    }
171
 
172
    # Real-time clock/counter specifics
173
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
174
        display       "Real-time clock constants"
175
        flavor        none
176
 
177
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
178
            display       "Real-time clock numerator"
179
            flavor        data
180
            default_value 1000000000
181
        }
182
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
183
            display       "Real-time clock denominator"
184
            flavor        data
185
            default_value 100
186
        }
187
        cdl_option CYGNUM_HAL_RTC_PERIOD {
188
            display       "Real-time clock period"
189
            flavor        data
190
            default_value 330000        ;# External timer is 33MHz
191
        }
192
    }
193
 
194
    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
195
        display       "Redboot for XScale options"
196
        flavor        none
197
        no_define
198
        parent        CYGPKG_REDBOOT
199
        active_if     CYGPKG_REDBOOT
200
        description   "
201
            This option lists the target's requirements for a valid Redboot
202
            configuration."
203
 
204
        # RedBoot details
205
        requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000 }
206
        define_proc {
207
            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xA1FF0000"
208
            puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  70"
209
        }
210
    }
211
 
212
    cdl_component CYGBLD_GLOBAL_OPTIONS {
213
        display "Global build options"
214
        flavor  none
215
        description   "
216
            Global build options including control over
217
            compiler flags, linker flags and choice of toolchain."
218
 
219
 
220
        parent  CYGPKG_NONE
221
 
222
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
223
            display "Global command prefix"
224
            flavor  data
225
            no_define
226
            default_value { "arm-eabi"}
227
            description "
228
                This option specifies the command prefix used when
229
                invoking the build tools."
230
        }
231
 
232
        cdl_option CYGBLD_GLOBAL_CFLAGS {
233
            display "Global compiler flags"
234
            flavor  data
235
            no_define
236
            default_value { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
237
                            "-mcpu=xscale -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -mapcs-frame" }
238
            description   "
239
                This option controls the global compiler flags which are used to
240
                compile all packages by default. Individual packages may define
241
                options which override these global flags."
242
        }
243
 
244
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
245
            display "Global linker flags"
246
            flavor  data
247
            no_define
248
            default_value { CYGBLD_ARCH_LDFLAGS . "-mcpu=xscale -Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
249
            description   "
250
                This option controls the global linker flags. Individual
251
                packages may define options which override these global flags."
252
        }
253
 
254
        cdl_option CYGBLD_BUILD_GDB_STUBS {
255
            display "Build GDB stub ROM image"
256
            default_value 0
257
            requires { CYG_HAL_STARTUP == "ROM" }
258
            requires CYGSEM_HAL_ROM_MONITOR
259
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
260
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
261
            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
262
            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
263
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
264
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
265
            no_define
266
            description "
267
                This option enables the building of the GDB stubs for the
268
                board. The common HAL controls takes care of most of the
269
                build process, but the final conversion from ELF image to
270
                binary data is handled by the platform CDL, allowing
271
                relocation of the data if necessary."
272
 
273
            make -priority 320 {
274
                /bin/gdb_module.bin : /bin/gdb_module.img
275
                $(OBJCOPY) -O binary $< $@
276
            }
277
        }
278
    }
279
 
280
    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
281
        display       "Number of breakpoints supported by the HAL."
282
        flavor        data
283
        default_value 32
284
        description   "
285
            This option determines the number of breakpoints supported by the HAL."
286
    }
287
 
288
    cdl_component CYGPKG_HAL_ARM_IOP310_OPTIONS {
289
        display "XScale IOP310 build options"
290
        flavor  none
291
        description   "
292
            Package specific build options including control over
293
            compiler flags used only in building this package,
294
            and details of which tests are built."
295
 
296
        cdl_option CYGSEM_HAL_ARM_IOP310_CLEAR_PCI_RETRY {
297
            display       "Have RedBoot clear PCI Retry bit"
298
            flavor        bool
299
            default_value 1
300
            description   "
301
                This option controls whether or not RedBoot allows the host PC
302
                to completely boot. In some cases, you may not want to allow
303
                this if RedBoot is used to automatically launch an application
304
                which needs to run some setup code before allowing the PC to
305
                finish booting. In that case, the application code, not RedBoot
306
                will clear the PCI retry bit."
307
        }
308
 
309
        cdl_option CYGPKG_HAL_ARM_IOP310_CFLAGS_ADD {
310
            display "Additional compiler flags"
311
            flavor  data
312
            no_define
313
            default_value { "" }
314
            description   "
315
                This option modifies the set of compiler flags for
316
                building the XScale IOP310 HAL. These flags are used
317
                in addition to the set of global flags."
318
        }
319
 
320
        cdl_option CYGPKG_HAL_ARM_IOP310_CFLAGS_REMOVE {
321
            display "Suppressed compiler flags"
322
            flavor  data
323
            no_define
324
            default_value { "" }
325
            description   "
326
                This option modifies the set of compiler flags for
327
                building the XScale IOP310 HAL. These flags are
328
                removed from the set of global flags if present."
329
        }
330
 
331
        cdl_option CYGPKG_HAL_ARM_IOP310_TESTS {
332
            display "XScale IOP310 tests"
333
            flavor  data
334
            no_define
335
            calculated { "" }
336
            description   "
337
                This option specifies the set of tests for the XScale IOP310 HAL."
338
        }
339
    }
340
 
341
    cdl_option CYGSEM_HAL_ROM_MONITOR {
342
        display       "Behave as a ROM monitor"
343
        flavor        bool
344
        default_value 0
345
        parent        CYGPKG_HAL_ROM_MONITOR
346
        requires      { CYG_HAL_STARTUP == "ROM" }
347
        description   "
348
            Enable this option if this program is to be used as a ROM monitor,
349
            i.e. applications will be loaded into RAM on the board, and this
350
            ROM monitor may process exceptions or interrupts generated from the
351
            application. This enables features such as utilizing a separate
352
            interrupt stack when exceptions are generated."
353
    }
354
 
355
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
356
         display       "Work with a ROM monitor"
357
         flavor        booldata
358
         legal_values  { "Generic" "GDB_stubs" }
359
         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
360
         parent        CYGPKG_HAL_ROM_MONITOR
361
         requires      { CYG_HAL_STARTUP == "RAM" }
362
         description   "
363
             Support can be enabled for different varieties of ROM monitor.
364
             This support changes various eCos semantics such as the encoding
365
             of diagnostic output, or the overriding of hardware interrupt
366
             vectors.
367
             Firstly there is \"Generic\" support which prevents the HAL
368
             from overriding the hardware vectors that it does not use, to
369
             instead allow an installed ROM monitor to handle them. This is
370
             the most basic support which is likely to be common to most
371
             implementations of ROM monitor.
372
             \"GDB_stubs\" provides support when GDB stubs are included in
373
             the ROM monitor or boot ROM."
374
     }
375
 
376
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
377
        display       "Redboot HAL options"
378
        flavor        none
379
        no_define
380
        parent        CYGPKG_REDBOOT
381
        active_if     CYGPKG_REDBOOT
382
        description   "
383
            This option lists the target's requirements for a valid Redboot
384
            configuration."
385
 
386
        cdl_component CYGBLD_BUILD_REDBOOT_BIN {
387
            display       "Build Redboot ROM binary image"
388
            active_if     CYGBLD_BUILD_REDBOOT
389
            default_value 1
390
            no_define
391
            description "This option enables the conversion of the Redboot ELF
392
                         image to a binary image suitable for ROM programming."
393
 
394
            make -priority 325 {
395
                /bin/redboot.bin : /bin/redboot.elf
396
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
397
                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
398
                $(OBJCOPY) -O binary $< $@
399
            }
400
        }
401
    }
402
 
403
}

powered by: WebSVN 2.1.0

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