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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [mips/] [atlas/] [v2_0/] [cdl/] [hal_mips_atlas.cdl] - Blame information for rev 174

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      hal_mips_atlas.cdl
4
#
5
#      MIPS Atlas board 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):      dmoseley
44
# Original data:  bartv
45
# Contributors:
46
# Date:           2000-06-06
47
#
48
#####DESCRIPTIONEND####
49
#
50
# ====================================================================
51
 
52
cdl_package CYGPKG_HAL_MIPS_ATLAS {
53
    display  "Atlas evaluation board"
54
    parent        CYGPKG_HAL_MIPS
55
    requires      { ((((CYGHWR_HAL_MIPS_MIPS32_CORE == "4Kc") || \
56
                       (CYGHWR_HAL_MIPS_MIPS32_CORE == "4Kp") || \
57
                       (CYGHWR_HAL_MIPS_MIPS32_CORE == "4Km")) && CYGPKG_HAL_MIPS_MIPS32) || \
58
                     (((CYGHWR_HAL_MIPS_MIPS64_CORE == "5K") || \
59
                       (CYGHWR_HAL_MIPS_MIPS64_CORE == "20K")) && CYGPKG_HAL_MIPS_MIPS64)) \
60
                  }
61
    include_dir   cyg/hal
62
    description   "
63
           The Atlas HAL package should be used when targetting the
64
           actual hardware."
65
 
66
    compile       hal_diag.c platform.S plf_misc.c ser16c550c.c
67
 
68
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
69
    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
70
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
71
    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
72
 
73
    cdl_option CYGBLD_HAL_TARGET_H {
74
        display       "Variant header"
75
        flavor        data
76
        no_define
77
        calculated { CYGPKG_HAL_MIPS_MIPS32 ? "" : \
78
                                              "" }
79
        define -file system.h CYGBLD_HAL_TARGET_H
80
        description   "Variant header."
81
 
82
        define_proc {
83
            puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
84
            puts $::cdl_system_header ""
85
            puts $::cdl_system_header "/* Make sure we get the CORE type definitions for HAL_PLATFORM_CPU */"
86
            puts $::cdl_system_header "#include CYGBLD_HAL_TARGET_H"
87
            puts $::cdl_system_header "#define HAL_PLATFORM_BOARD    \"Atlas\""
88
            puts $::cdl_system_header "#define HAL_PLATFORM_EXTRA    \"\""
89
            puts $::cdl_system_header ""
90
            puts $::cdl_system_header "#if defined(CYGHWR_HAL_MIPS_MIPS32_CORE_4Kc)"
91
            puts $::cdl_system_header "#  define HAL_PLATFORM_CPU    \"MIPS32 4Kc\""
92
            puts $::cdl_system_header "#elif defined(CYGHWR_HAL_MIPS_MIPS32_CORE_4Kp)"
93
            puts $::cdl_system_header "#  define HAL_PLATFORM_CPU    \"MIPS32 4Kp\""
94
            puts $::cdl_system_header "#elif defined(CYGHWR_HAL_MIPS_MIPS32_CORE_4Km)"
95
            puts $::cdl_system_header "#  define HAL_PLATFORM_CPU    \"MIPS32 4Km\""
96
            puts $::cdl_system_header "#elif defined(CYGHWR_HAL_MIPS_MIPS64_CORE_5K)"
97
            puts $::cdl_system_header "#  define HAL_PLATFORM_CPU    \"MIPS64 5K\""
98
            puts $::cdl_system_header "#elif defined(CYGHWR_HAL_MIPS_MIPS64_CORE_20K)"
99
            puts $::cdl_system_header "#  define HAL_PLATFORM_CPU    \"MIPS64 20K\""
100
            puts $::cdl_system_header "#else"
101
            puts $::cdl_system_header "#  error Unknown Core"
102
            puts $::cdl_system_header "#endif"
103
            puts $::cdl_system_header ""
104
        }
105
 
106
    }
107
 
108
    cdl_component CYG_HAL_STARTUP {
109
        display       "Startup type"
110
        flavor        data
111
        legal_values  {"RAM" "ROM"}
112
        default_value {"RAM"}
113
        no_define
114
        define -file system.h CYG_HAL_STARTUP
115
        description   "
116
            Currently RAM and ROM startup types are supported."
117
    }
118
 
119
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
120
        display       "Diagnostic serial port baud rate"
121
        flavor        data
122
        legal_values  9600 19200 38400 57600 115200
123
        default_value 115200
124
        description   "
125
            This option selects the baud rate used for the diagnostic port.
126
            Note: this should match the value chosen for the GDB port if the
127
            diagnostic and GDB port are the same."
128
    }
129
 
130
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
131
        display       "GDB serial port baud rate"
132
        flavor        data
133
        legal_values  9600 19200 38400 57600 115200
134
        default_value 115200
135
        description   "
136
            This option controls the baud rate used for the GDB connection."
137
    }
138
 
139
    # Real-time clock/counter specifics
140
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
141
        display       "Real-time clock constants."
142
        flavor        none
143
 
144
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
145
            display       "Real-time clock numerator"
146
            flavor        data
147
            calculated    1000000000
148
        }
149
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
150
            display       "Real-time clock denominator"
151
            flavor        data
152
            calculated    100
153
        }
154
        cdl_option CYGNUM_HAL_RTC_PERIOD {
155
            display       "Real-time clock period"
156
            flavor        data
157
            calculated    { 40000000 / CYGNUM_HAL_RTC_DENOMINATOR }
158
            description   "
159
                The count and compare registers of the Atlas are used
160
                to drive the eCos kernel RTC. The count register
161
                increments at the CPU clock speed."
162
        }
163
    }
164
 
165
    cdl_option CYGBLD_BUILD_GDB_STUBS {
166
        display "Build GDB stub ROM image"
167
        default_value 0
168
        parent CYGBLD_GLOBAL_OPTIONS
169
        requires { CYG_HAL_STARTUP == "ROM" }
170
        requires CYGSEM_HAL_ROM_MONITOR
171
        requires CYGBLD_BUILD_COMMON_GDB_STUBS
172
        requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
173
        requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
174
        requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
175
        requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
176
        requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
177
        no_define
178
        description "
179
                This option enables the building of the GDB stubs for the
180
                board. The common HAL controls takes care of most of the
181
                build process, but the final conversion from ELF image to
182
                binary data is handled by the platform CDL, allowing
183
                relocation of the data if necessary."
184
 
185
        make -priority 320 {
186
            /bin/gdb_module.bin : /bin/gdb_module.img
187
            $(OBJCOPY) -O binary $< $@
188
        }
189
    }
190
 
191
 
192
    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
193
        display       "Number of breakpoints supported by the HAL."
194
        flavor        data
195
        default_value 25
196
        description   "
197
            This option determines the number of breakpoints supported by the HAL."
198
    }
199
 
200
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
201
        display      "Number of communication channels on the board"
202
        flavor       data
203
        calculated   1
204
    }
205
 
206
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
207
        display          "Debug serial port"
208
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
209
        flavor data
210
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
211
        default_value    0
212
        description      "
213
           The Atlas board has only one serial port. This option
214
           chooses which port will be used to connect to a host
215
           running GDB."
216
    }
217
 
218
     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
219
        display          "Diagnostic serial port"
220
        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
221
        flavor data
222
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
223
        default_value    0
224
        description      "
225
           The Atlas board has only one serial port.  This option
226
           chooses which port will be used for diagnostic output."
227
     }
228
 
229
    cdl_component CYGHWR_MEMORY_LAYOUT {
230
        display "Memory layout"
231
        flavor data
232
        no_define
233
        calculated { CYG_HAL_STARTUP == "RAM" ? "mips_atlas_ram" : \
234
                                                "mips_atlas_rom" }
235
 
236
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
237
            display "Memory layout linker script fragment"
238
            flavor data
239
            no_define
240
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
241
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
242
                                                    "" }
243
        }
244
 
245
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
246
            display "Memory layout header file"
247
            flavor data
248
            no_define
249
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
250
            calculated { CYG_HAL_STARTUP == "RAM" ? "" : \
251
                                                    "" }
252
        }
253
    }
254
 
255
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
256
        display       "Work with a ROM monitor"
257
        flavor        booldata
258
        legal_values  { "Generic" "CygMon" "GDB_stubs" }
259
        default_value { CYG_HAL_STARTUP == "RAM" ? "CygMon" : 0 }
260
        parent        CYGPKG_HAL_ROM_MONITOR
261
        requires      { CYG_HAL_STARTUP == "RAM" }
262
        description   "
263
            Support can be enabled for three different varieties of ROM monitor.
264
            This support changes various eCos semantics such as the encoding
265
            of diagnostic output, or the overriding of hardware interrupt
266
            vectors.
267
            Firstly there is \"Generic\" support which prevents the HAL
268
            from overriding the hardware vectors that it does not use, to
269
            instead allow an installed ROM monitor to handle them. This is
270
            the most basic support which is likely to be common to most
271
            implementations of ROM monitor.
272
            \"CygMon\" provides support for the Cygnus ROM Monitor.
273
            And finally, \"GDB_stubs\" provides support when GDB stubs are
274
            included in the ROM monitor or boot ROM."
275
    }
276
 
277
    cdl_option CYGSEM_HAL_ROM_MONITOR {
278
        display       "Behave as a ROM monitor"
279
        flavor        bool
280
        default_value 0
281
        parent        CYGPKG_HAL_ROM_MONITOR
282
        requires      { CYG_HAL_STARTUP == "ROM" }
283
        description   "
284
            Enable this option if this program is to be used as a ROM monitor,
285
            i.e. applications will be loaded into RAM on the board, and this
286
            ROM monitor may process exceptions or interrupts generated from the
287
            application. This enables features such as utilizing a separate
288
            interrupt stack when exceptions are generated."
289
    }
290
 
291
    cdl_component CYGPKG_CYGMON_HAL_OPTIONS {
292
        display       "CygMon HAL options"
293
        flavor        none
294
        no_define
295
        parent        CYGPKG_CYGMON
296
        active_if     CYGPKG_CYGMON
297
        description   "
298
            This option also lists the target's requirements for a valid CygMon
299
            configuration."
300
 
301
        cdl_option CYGBLD_BUILD_CYGMON_BIN {
302
            display       "Build CygMon ROM binary image"
303
            active_if     CYGBLD_BUILD_CYGMON
304
            default_value 1
305
            no_define
306
            description "This option enables the conversion of the CygMon ELF
307
                         image to a binary image suitable for ROM programming."
308
 
309
            make -priority 325 {
310
                /bin/cygmon.srec : /bin/cygmon.elf
311
                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
312
                $(OBJCOPY) -O srec $< $@
313
            }
314
        }
315
    }
316
 
317
    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
318
        display       "Redboot HAL options"
319
        flavor        none
320
        no_define
321
        parent        CYGPKG_REDBOOT
322
        active_if     CYGPKG_REDBOOT
323
        description   "
324
            This option lists the target's requirements for a valid Redboot
325
            configuration."
326
 
327
        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
328
            display       "Build Redboot ROM binary image"
329
            active_if     CYGBLD_BUILD_REDBOOT
330
            default_value 1
331
            no_define
332
            description "This option enables the conversion of the Redboot ELF
333
                         image to a binary image suitable for ROM programming."
334
 
335
            compile -library=libextras.a
336
 
337
            make -priority 325 {
338
                /bin/redboot.srec : /bin/redboot.elf
339
                $(OBJCOPY) --strip-all $< $(@:.srec=.img)
340
                $(OBJCOPY) -O srec $< $@
341
            }
342
        }
343
    }
344
 
345
}

powered by: WebSVN 2.1.0

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