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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [sh/] [dreamcast/] [current/] [cdl/] [hal_sh_sh7750_dreamcast.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_sh_sh7750_dreamcast.cdl
4
#
5
#      SEGA Dreamcast 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 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):      t@keshi.org
43
# Contributors:   t@keshi.org, jskov
44
# Date:           2001-07-30
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_HAL_SH_SH7750_DREAMCAST {
51
    display       "SEGA Dreamcast"
52
    parent        CYGPKG_HAL_SH
53
    requires      CYGPKG_HAL_SH_7750
54
    requires      ! CYGHWR_HAL_SH_BIGENDIAN
55
    define_header hal_sh_sh7750_dreamcast.h
56
    include_dir   cyg/hal
57
    description   "
58
        The HAL package provides the support needed to run
59
        eCos on SEGA Dreamcast."
60
 
61
    requires      { is_active(CYGSEM_REDBOOT_SH_LINUX_BOOT) implies
62
                       (CYGDAT_REDBOOT_SH_LINUX_BOOT_ENTRY == 0x8c210000) }
63
    requires      { is_active(CYGSEM_REDBOOT_SH_LINUX_BOOT) implies
64
                       (CYGDAT_REDBOOT_SH_LINUX_BOOT_BASE_ADDR == 0x8c001000) }
65
    requires      { is_active(CYGSEM_REDBOOT_SH_LINUX_BOOT) implies
66
                       (CYGDAT_REDBOOT_SH_LINUX_BOOT_COMMAND_LINE == "mem=16M") }
67
 
68
    compile       hal_diag.c plf_misc.c dreamcast_pci.c fb_support.c
69
    compile       -library=libextras.a boot.S
70
 
71
    implements    CYGINT_HAL_DEBUG_GDB_STUBS
72
    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
73
    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
74
    implements    CYGINT_HAL_PLF_IF_INIT
75
 
76
    define_proc {
77
        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   "
78
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H "
79
        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_IO_H "
80
        puts $::cdl_header "#define CYGNUM_HAL_SH_SH4_SCIF_PORTS 1"
81
        puts $::cdl_header "#define CYGHWR_HAL_VSR_TABLE 0x8c010000"
82
        puts $::cdl_header "#define CYGHWR_HAL_VECTOR_TABLE 0x8c010100"
83
    }
84
 
85
    cdl_component CYG_HAL_STARTUP {
86
        display       "Startup type"
87
        flavor        data
88
        legal_values  {"RAM"}
89
        default_value {"RAM"}
90
        no_define
91
        define -file system.h CYG_HAL_STARTUP
92
        description   "
93
           When targetting the Dreamcast it is possible to build
94
           the system only for RAM bootstrap via a CD ROM."
95
    }
96
 
97
    cdl_option CYGSEM_DREAMCAST_FB_COMM {
98
        display        "Support framebuffer for communication channel"
99
        active_if      CYGPKG_REDBOOT
100
        flavor         bool
101
        default_value  1
102
    }
103
 
104
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
105
        display      "Number of communication channels on the board"
106
        flavor       data
107
        calculated   1+CYGSEM_DREAMCAST_FB_COMM
108
    }
109
 
110
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
111
        display          "Debug serial port"
112
        flavor data
113
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
114
        default_value    0
115
        description      "
116
           Dreamcast has only one serial port. This option
117
           chooses which port will be used to connect to a host
118
           running GDB."
119
    }
120
 
121
    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
122
        display          "Diagnostic serial port"
123
        flavor data
124
        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
125
        default_value    0
126
        description      "
127
           Dreamcast has only one serial port.  This option
128
           chooses which port will be used for diagnostic output."
129
    }
130
 
131
    cdl_option CYGNUM_HAL_SH_SH4_SCIF_BAUD_RATE_DEFAULT {
132
        flavor data
133
        calculated       115200
134
    };
135
 
136
    cdl_component CYGHWR_HAL_SH_PLF_CLOCK_SETTINGS {
137
        display          "SH on-chip platform clock controls"
138
        description      "
139
            The various clocks used by the system are derived from
140
            these options."
141
        flavor        none
142
        no_define
143
 
144
        cdl_option CYGHWR_HAL_SH_OOC_XTAL {
145
            display          "SH clock crystal"
146
            flavor           data
147
            calculated       33333333
148
            no_define
149
            description      "
150
                This option specifies the frequency of the crystal all
151
                other clocks are derived from."
152
        }
153
 
154
        cdl_option CYGHWR_HAL_SH_OOC_CKIO {
155
            display          "SH clock CKIO output enable"
156
            default_value    1
157
            description      "
158
                This selects whether CKIO output is enabled."
159
        }
160
 
161
        cdl_option CYGHWR_HAL_SH_OOC_PLL_1 {
162
            display          "SH clock PLL circuit 1"
163
            flavor           data
164
            calculated       6
165
            description      "
166
                This selects whether PLL1 is enabled."
167
        }
168
 
169
        cdl_option CYGHWR_HAL_SH_OOC_PLL_2 {
170
            display          "SH clock PLL circuit 2"
171
            flavor           data
172
            calculated       1
173
            description      "
174
                This selects whether PLL2 is enabled."
175
        }
176
 
177
        cdl_option CYGHWR_HAL_SH_OOC_DIVIDER_1 {
178
            display          "SH clock first clock divider"
179
            flavor           data
180
            legal_values     { 1 2 }
181
            default_value    1
182
            no_define
183
            description      "
184
                First stage clock divider according to the mode (MD0..2).
185
                Set 2 for mode 2 and 4, otherwise set 1."
186
        }
187
 
188
        cdl_option CYGHWR_HAL_SH_OOC_DIVIDER_IFC {
189
            display          "SH clock divider, core"
190
            flavor           data
191
            calculated       1
192
            description      "
193
                This divider option affects the CPU core clock."
194
        }
195
 
196
        cdl_option CYGHWR_HAL_SH_OOC_DIVIDER_BFC {
197
            display          "SH clock divider, bus"
198
            flavor           data
199
            calculated       2
200
            description      "
201
                This divider option affects the bus clock."
202
        }
203
 
204
        cdl_option CYGHWR_HAL_SH_OOC_DIVIDER_PFC {
205
            display          "SH clock divider, peripheral"
206
            flavor           data
207
            calculated       4
208
            description      "
209
                This divider option affects the peripheral clock."
210
        }
211
 
212
        cdl_option CYGHWR_HAL_SH_OOC_CLOCK_MODE {
213
            display          "SH clock mode"
214
            flavor           data
215
            calculated       5
216
            description      "
217
                This option must mirror the clock mode hardwired on
218
                the MD0-MD2 pins of the CPU in order to correctly
219
                initialize the FRQCR register."
220
        }
221
    }
222
 
223
    cdl_component CYGBLD_GLOBAL_OPTIONS {
224
        display "Global build options"
225
        flavor  none
226
        parent  CYGPKG_NONE
227
        description   "
228
            Global build options including control over
229
            compiler flags, linker flags and choice of toolchain."
230
 
231
 
232
        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
233
            display "Global command prefix"
234
            flavor  data
235
            no_define
236
            default_value { "sh-elf" }
237
            description "
238
                This option specifies the command prefix used when
239
                invoking the build tools."
240
        }
241
 
242
        cdl_option CYGBLD_GLOBAL_CFLAGS {
243
            display "Global compiler flags"
244
            flavor  data
245
            no_define
246
            default_value { CYGBLD_GLOBAL_WARNFLAGS . "-ml -m3 -ggdb -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions " }
247
            description   "
248
                This option controls the global compiler flags which
249
                are used to compile all packages by
250
                default. Individual packages may define
251
                options which override these global flags."
252
        }
253
 
254
        cdl_option CYGBLD_GLOBAL_LDFLAGS {
255
            display "Global linker flags"
256
            flavor  data
257
            no_define
258
            default_value { "-ml -m3 -ggdb -nostdlib -Wl,--gc-sections -Wl,-static" }
259
            description   "
260
                This option controls the global linker flags. Individual
261
                packages may define options which override these global flags."
262
        }
263
 
264
        cdl_option CYGBLD_BUILD_GDB_STUBS {
265
            display "Build GDB stub ROM image"
266
            default_value 0
267
            requires CYGSEM_HAL_ROM_MONITOR
268
            requires CYGBLD_BUILD_COMMON_GDB_STUBS
269
            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
270
            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
271
            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
272
            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
273
            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
274
            no_define
275
            description "
276
                This option enables the building of the GDB stubs for the
277
                board. The common HAL controls takes care of most of the
278
                build process, but the final conversion from ELF image to
279
                binary data is handled by the platform CDL, allowing
280
                relocation of the data if necessary."
281
 
282
            make -priority 320 {
283
                /bin/gdb_module.bin : /bin/gdb_module.img
284
                $(OBJCOPY) -O binary $< $@
285
            }
286
        }
287
    }
288
 
289
    cdl_component CYGHWR_MEMORY_LAYOUT {
290
        display "Memory layout"
291
        flavor data
292
        no_define
293
        calculated { "sh_sh7750_dreamcast_ram" }
294
 
295
        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
296
            display "Memory layout linker script fragment"
297
            flavor data
298
            no_define
299
            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
300
            calculated { "" }
301
        }
302
 
303
        cdl_option CYGHWR_MEMORY_LAYOUT_H {
304
            display "Memory layout header file"
305
            flavor data
306
            no_define
307
            define -file system.h CYGHWR_MEMORY_LAYOUT_H
308
            calculated { "" }
309
        }
310
    }
311
 
312
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
313
        display       "Work with a ROM monitor"
314
        flavor        booldata
315
        legal_values  { "GDB_stubs" }
316
        default_value 0
317
        requires      { CYG_HAL_STARTUP == "RAM" }
318
        parent        CYGPKG_HAL_ROM_MONITOR
319
        requires      !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
320
        description   "
321
            Support can be enabled for boot ROMs or ROM monitors which contain
322
            GDB stubs. This support changes various eCos semantics such as
323
            the encoding of diagnostic output, and the overriding of hardware
324
            interrupt vectors."
325
    }
326
 
327
    cdl_option CYGSEM_HAL_ROM_MONITOR {
328
        display       "Behave as a ROM monitor"
329
        flavor        bool
330
        default_value 0
331
        parent        CYGPKG_HAL_ROM_MONITOR
332
        requires      { CYG_HAL_STARTUP == "ROM" }
333
        description   "
334
            Enable this option if this program is to be used as a ROM monitor,
335
            i.e. applications will be loaded into RAM on the board, and this
336
            ROM monitor may process exceptions or interrupts generated from the
337
            application. This enables features such as utilizing a separate
338
            interrupt stack when exceptions are generated."
339
    }
340
}

powered by: WebSVN 2.1.0

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