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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [sh/] [cq7708/] [v2_0/] [cdl/] [hal_sh_sh7708_cq7708.cdl] - Blame information for rev 334

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

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

powered by: WebSVN 2.1.0

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