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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [powerpc/] [mpc5xx/] [v2_0/] [cdl/] [hal_powerpc_mpc5xx.cdl] - Blame information for rev 249

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

Line No. Rev Author Line
1 27 unneback
# ====================================================================
2
#
3
#      hal_powerpc_mpc5xx.cdl
4
#
5
#      PowerPC/MPC5xx variant architectural 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):      Bob Koninckx
44
# Contributors:
45
# Date:           2001-08-12
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_POWERPC_MPC5xx {
52
    display       "PowerPC 5xx variant HAL"
53
    parent        CYGPKG_HAL_POWERPC
54
    hardware
55
    include_dir   cyg/hal
56
    define_header hal_powerpc_mpc5xx.h
57
    description   "
58
           The PowerPC 5xx variant HAL package provides generic support
59
           for this processor variant. It is also necessary to
60
           select a specific target platform HAL package."
61
 
62
    cdl_interface CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED {
63
        display       "ROM monitor configuration is unsupported"
64
        no_define
65
    }
66
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
67
        display       "Work with a ROM monitor"
68
        flavor        bool
69
        default_value { (CYG_HAL_STARTUP == "RAM" &&
70
                        !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS &&
71
                        !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED &&
72
                        !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 }
73
        parent        CYGPKG_HAL_ROM_MONITOR
74
        requires      { CYG_HAL_STARTUP == "RAM" }
75
        requires      ! CYGSEM_HAL_POWERPC_COPY_VECTORS
76
        requires      ! CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
77
        requires      ! CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED
78
        description   "
79
            Allow coexistence with ROM monitor (GDB stubs) by
80
            only initializing interrupt vectors on startup, thus leaving
81
            exception handling to the ROM monitor."
82
    }
83
 
84
    #cdl_option CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
85
    #    calculated 0
86
    #}
87
 
88
    #cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
89
    #    calculated 0
90
    #}
91
 
92
    # FIXME: the option above should be adjusted to select between monitor
93
    #        variants
94
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs {
95
        display "Bad CDL workaround"
96
        calculated 1
97
        active_if CYGSEM_HAL_USE_ROM_MONITOR
98
    }
99
 
100
 
101
    # Note: This should be sub-variant specific to reduce memory use.
102
    define_proc {
103
        puts $cdl_header "#define CYGHWR_HAL_VSR_TABLE (CYGHWR_HAL_POWERPC_VECTOR_BASE + 0x3f9800)"
104
        puts $cdl_header "#define CYGHWR_HAL_VIRTUAL_VECTOR_TABLE (CYGHWR_HAL_VSR_TABLE + 0x200)"
105
    }
106
 
107
    cdl_component CYGPKG_HAL_POWERPC_MPC555 {
108
        display       "PowerPC 555 microcontroller"
109
        implements    CYGINT_HAL_POWERPC_VARIANT
110
        description "
111
            The PowerPC 555 microcontroller. This is an embedded part that in
112
            addition to the PowerPC processor core has built in peripherals
113
            such as memory controllers, DMA controllers, serial ports and
114
            timers/counters."
115
 
116
        cdl_option CYGHWR_HAL_POWERPC_FPU {
117
            display       "Variant FPU support"
118
            flavor        bool
119
            default_value 0
120
            description "
121
                Enable or disable hardware support for floating point operations."
122
        }
123
 
124
        cdl_option CYGSEM_HAL_POWERPC_IEEE_FLOATING_POINT {
125
            display       "Fully IEEE floating point compliant"
126
            flavor        bool
127
            default_value 0
128
            active_if     CYGHWR_HAL_POWERPC_FPU
129
            requires      CYGHWR_HAL_POWERPC_FPU
130
            description   "
131
                Generate a floating point exception when the limits of the
132
                floating point unit are reached. A software envelope can then
133
                be used to generate the correct IEEE result for e.g. denormalized
134
                numbers. If not enabled, the hardware will generate more than acceptable
135
                values for these situation."
136
        }
137
 
138
        cdl_option CYGSEM_HAL_POWERPC_MPC5XX_OCD_ENABLE {
139
            display       "Enable On Chip Debugging (OCD, BDM)"
140
            flavor        bool
141
            default_value 0
142
            description "
143
                This option forces the startup code to leave the OCD registers
144
                unchanged. This allows for debugging with a BDM debugger."
145
        }
146
 
147
        cdl_option CYGHWR_HAL_POWERPC_MPC5XX_IFLASH_ENABLE {
148
            display       "Enable internal flash"
149
            flavor        bool
150
            default_value 0
151
            description "
152
                Enable or disable the internal flash on the MPC5xx micro."
153
        }
154
 
155
        cdl_option CYGSEM_HAL_POWERPC_MPC5XX_IFLASH_DUAL_MAP {
156
            display       "Dual mapping of the internal flash"
157
            default_value 1
158
            active_if     !CYGHWR_HAL_POWERPC_MPC5XX_IFLASH_ENABLE
159
            requires      !CYGHWR_HAL_POWERPC_MPC5XX_IFLASH_ENABLE
160
            description "
161
                This option allows to re-map the internal flash array to external RAM
162
                memory."
163
        }
164
 
165
        cdl_option CYGHWR_HAL_POWERPC_DISABLE_MMU {
166
            display       "Disable Memory Management Unit (MMU)"
167
            calculated    1
168
            description "
169
                The MPC5xx does not have an MMU, there is no use in enabling it."
170
        }
171
 
172
        cdl_option CYGSEM_HAL_POWERPC_MPC5XX_IMB3_ARBITER {
173
            display       "IMB3 arbitration ISR"
174
            flavor        bool
175
            default_value 1
176
            description "
177
                The MPC5XX maps all IMB3 interrupt levels above 7 to SIU interrupt
178
                level 7. If more than one IMB3 module is used at an interrupt level
179
                higher than 7, interrupt arbiters must be chained on this level. This
180
                option allows to chain multiple interrupt arbiters on SIU level 7.
181
                This can be done using the functions hal_mpc5xx_install_imb3_arbiter
182
                and hal_mpc5xx_remove_imb3_arbiter"
183
        }
184
 
185
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_TB {
186
            display       "Time base interrupt source priority"
187
            flavor        data
188
            legal_values  0 to 31
189
            default_value 0
190
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
191
                7-31 are mapped to SIU level 7"
192
        }
193
 
194
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_PIT {
195
            display       "PIT interrupt source priority"
196
            flavor        data
197
            legal_values  0 to 31
198
            default_value 0
199
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
200
                7-31 are mapped to SIU level 7"
201
        }
202
 
203
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_RTC {
204
            display       "RTC interrupt source priority"
205
            flavor        data
206
            legal_values  0 to 31
207
            default_value 0
208
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
209
                7-31 are mapped to SIU level 7"
210
        }
211
 
212
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_PLL {
213
            display       "PLL interrupt source priority"
214
            flavor        data
215
            legal_values  0 to 31
216
            default_value 0
217
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
218
                7-31 are mapped to SIU level 7"
219
        }
220
 
221
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_QUADC_A_QUEUE1 {
222
            display       "QUADC A, QUEUE 1 interrupt source priority"
223
            flavor        data
224
            legal_values  0 to 31
225
            default_value 0
226
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
227
                7-31 are mapped to SIU level 7"
228
        }
229
 
230
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_QUADC_A_QUEUE2 {
231
            display       "QUADC A, QUEUE 2 interrupt source priority"
232
            flavor        data
233
            legal_values  0 to 31
234
            default_value 0
235
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
236
                7-31 are mapped to SIU level 7"
237
        }
238
 
239
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_QUADC_B_QUEUE1 {
240
            display       "QUADC B, QUEUE 1 interrupt source priority"
241
            flavor        data
242
            legal_values  0 to 31
243
            default_value 0
244
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
245
                7-31 are mapped to SIU level 7"
246
        }
247
 
248
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_QUADC_B_QUEUE2 {
249
            display       "QUADC B, QUEUE 2 interrupt source priority"
250
            flavor        data
251
            legal_values  0 to 31
252
            default_value 0
253
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
254
                7-31 are mapped to SIU level 7"
255
        }
256
 
257
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_QSCI {
258
            display       "QSCI interrupt source priority"
259
            flavor        data
260
            legal_values  0 to 31
261
            default_value 0
262
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
263
                7-31 are mapped to SIU level 7"
264
        }
265
 
266
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_QSPI {
267
            display       "QSPI interrupt source priority"
268
            flavor        data
269
            legal_values  0 to 31
270
            default_value 0
271
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
272
                7-31 are mapped to SIU level 7"
273
        }
274
 
275
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_TOUCAN_A {
276
            display       "TOUCAN A interrupt source priority"
277
            flavor        data
278
            legal_values  0 to 31
279
            default_value 0
280
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
281
                7-31 are mapped to SIU level 7"
282
        }
283
 
284
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_TOUCAN_B {
285
            display       "TOUCAN B interrupt source priority"
286
            flavor        data
287
            legal_values  0 to 31
288
            default_value 0
289
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
290
                7-31 are mapped to SIU level 7"
291
        }
292
 
293
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_TPU_A {
294
            display       "TPU A interrupt source priority"
295
            flavor        data
296
            legal_values  0 to 31
297
            default_value 0
298
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
299
                7-31 are mapped to SIU level 7"
300
        }
301
 
302
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_TPU_B {
303
            display       "TPU B interrupt source priority"
304
            flavor        data
305
            legal_values  0 to 31
306
            default_value 0
307
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
308
                7-31 are mapped to SIU level 7"
309
        }
310
 
311
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_MIOS_A {
312
            display       "MIOS A interrupt source priority"
313
            flavor        data
314
            legal_values  0 to 31
315
            default_value 0
316
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
317
                7-31 are mapped to SIU level 7"
318
        }
319
 
320
        cdl_option CYGNUM_HAL_ISR_SOURCE_PRIORITY_MIOS_B {
321
            display       "MIOS B interrupt source priority"
322
            flavor        data
323
            legal_values  0 to 31
324
            default_value 0
325
            description   "Time base interrupt source priority. O-6 are mapped to SIU levels 0-6.
326
                7-31 are mapped to SIU level 7"
327
        }
328
    }
329
 
330
    define_proc {
331
        puts $::cdl_header "#include "
332
    }
333
 
334
    compile       var_intr.c var_misc.c variant.S
335
 
336
    cdl_option CYGPKG_HAL_POWERPC_MPC5xx_TESTS {
337
        display "PowerPC MPC5xx tests"
338
        flavor  data
339
        no_define
340
        calculated { "tests/intr0" }
341
 
342
        description   "
343
            This option specifies the set of tests for the PowerPC MPC5xx HAL."
344
    }
345
 
346
    cdl_option CYGBLD_BUILD_VERSION_TOOL {
347
        display "Build MPC5xx version dump tool"
348
        default_value 0
349
        requires { CYG_HAL_STARTUP == "RAM" }
350
        no_define
351
        description "This option enables the building of a tool which will print the version identifiers of the CPU."
352
        make -priority 320 {
353
            /bin/mpc5xxrev : /src/mpc5xxrev.c
354
            @sh -c "mkdir -p src $(dir $@)"
355
            $(CC) -c $(INCLUDE_PATH) -Wp,-MD,deps.tmp -I$(dir $<) $(CFLAGS) -o src/mpc5xxrev.o $<
356
            @echo $@ ": \\" > $(notdir $@).deps
357
            @echo $(wildcard $(PREFIX)/lib/*) " \\" >> $(notdir $@).deps
358
            @tail +2 deps.tmp >> $(notdir $@).deps
359
            @echo >> $(notdir $@).deps
360
            @rm deps.tmp
361
            $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ src/mpc5xxrev.o
362
        }
363
    }
364
 
365
}

powered by: WebSVN 2.1.0

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