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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [sh/] [dreamcast/] [v2_0/] [cdl/] [hal_sh_sh7750_dreamcast.cdl] - Blame information for rev 454

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

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

powered by: WebSVN 2.1.0

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