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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [m68k/] [mcf52xx/] [var/] [current/] [cdl/] [hal_m68k_mcf52xx.cdl] - Blame information for rev 856

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

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_m68k_mcfxxxx.cdl
4
#
5
#      mcfxxxx 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) 2003, 2005, 2006, 2008 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):     bartv
43
# Date:          2003-06-04
44
#
45
#####DESCRIPTIONEND####
46
#========================================================================
47
 
48
cdl_package CYGPKG_HAL_M68K_MCFxxxx {
49
    display     "M68k/ColdFire variant HAL"
50
    doc         ref/hal-m68k-mcfxxxx.html
51
    parent      CYGPKG_HAL_M68K
52
    requires    CYGPKG_HAL_M68K
53
    hardware
54
    include_dir cyg/hal
55
    compile     mcf52xx.c mcf52xx_asm.S
56
 
57
    description   "The M68k/ColdFire variant HAL package provides
58
                generic support for the Freescale ColdFire family of
59
                processors."
60
 
61
    define_proc {
62
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H   "
63
    }
64
 
65
    cdl_component CYGPKG_HAL_M68K_MCFxxxx_DIAGNOSTICS {
66
        display     "HAL diagnostics support"
67
        flavor      none
68
        description "
69
          The MCFxxxx variant HAL has support for outputting diagnostics via an
70
          on-chip UART compatible with the ones found on the MCF5282, or for
71
          discarding all diagnostic output. In some development environments the
72
          diagnostics channel can also be used for communication between gdb
73
          on the host and the gdb stubs on the target. In virtual vector
74
          configurations where the application runs on top of RedBoot the
75
          diagnostics channel is provided by RedBoot so changing the channel
76
          requires reconfiguring RedBoot."
77
 
78
        cdl_interface CYGINT_HAL_M68K_MCFxxxx_DIAGNOSTICS_USE_DEFAULT {
79
            display     "Platform uses default MCFxxxx diagnostics support"
80
            flavor      bool
81
            description "
82
              The MCFxxxx variant HAL has support for outputting diagnostics via
83
              an on-chip UART compatible with the ones found on the MCF5282.
84
              If a platform can use this default diagnostics support then the
85
              platform HAL will implement this interface. If some other mechanism
86
              should be used for generating diagnostics output, for example because
87
              none of the UARTs are available, then the platform HAL can provide its
88
              own facilities."
89
 
90
            define_proc {
91
                puts $::cdl_header "\#define CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS\t1"
92
                puts $::cdl_header "\#define CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL\t0"
93
                puts $::cdl_header "\#define CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL\t0"
94
            }
95
        }
96
 
97
        cdl_option CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT {
98
            display         "Port to use for HAL diagnostics"
99
            flavor          data
100
            compile         hal_diag.c
101
            active_if       !CYGSEM_HAL_USE_ROM_MONITOR || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
102
            active_if       CYGINT_HAL_M68K_MCFxxxx_DIAGNOSTICS_USE_DEFAULT
103
            legal_values    {
104
                (CYGHWR_HAL_M68K_MCFxxxx_UART0 ? "uart0" : "")
105
                (CYGHWR_HAL_M68K_MCFxxxx_UART1 ? "uart1" : "")
106
                (CYGHWR_HAL_M68K_MCFxxxx_UART2 ? "uart2" : "")
107
                ""
108
            }
109
            requires        { CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT != "" }
110
            default_value   {
111
                CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT_DEFAULT ? CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT_DEFAULT :
112
                CYGHWR_HAL_M68K_MCFxxxx_UART0 ? "uart0" :
113
                CYGHWR_HAL_M68K_MCFxxxx_UART1 ? "uart1" :
114
                CYGHWR_HAL_M68K_MCFxxxx_UART2 ? "uart2" :
115
                "discard"
116
            }
117
 
118
            description "
119
              This option controls which of the on-chip UARTs will be used for
120
              the HAL diagnostics channel. A UART connected to an RS232 transceiver
121
              is required."
122
        }
123
 
124
        cdl_option CYGNUM_HAL_M68K_MCFxxxx_DIAGNOSTICS_BAUD {
125
            display         "Baud rate to use for HAL diagnostics"
126
            flavor          data
127
            active_if       CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT
128
            legal_values    { 9600 19200 38400 115200 }
129
            default_value   { is_enabled(CYGNUM_HAL_M68K_MCFxxxx_DIAGNOSTICS_DEFAULT_BAUD) ?
130
                CYGNUM_HAL_M68K_MCFxxxx_DIAGNOSTICS_DEFAULT_BAUD : 38400
131
            }
132
            # For platforms which implement dynamic baud rates
133
            define                  CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD
134
            description "
135
              This option selects the baud rate used for the diagnostics port."
136
        }
137
 
138
        cdl_option CYGNUM_HAL_M68K_MCFxxxx_DIAGNOSTICS_ISRPRI {
139
            display         "Interrupt priority for HAL diagnostics UART"
140
            flavor          data
141
            active_if       CYGHWR_HAL_M68K_MCFxxxx_DIAGNOSTICS_PORT
142
            active_if       CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
143
            legal_values        CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MIN to CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MAX
144
            default_value   { is_loaded(CYGNUM_HAL_M68K_MCFxxxx_ISR_DEFAULT_PRIORITY_DIAG) ?
145
                CYGNUM_HAL_M68K_MCFxxxx_ISR_DEFAULT_PRIORITY_DIAG : CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MAX }
146
            description "
147
              When the HAL diagnostics channel is used for gdb traffic it may
148
              at times be in interrupt-driven rather than polled mode, to allow
149
              a ctrl-C to halt the application. This configuration option
150
              selects the interrupt priority."
151
        }
152
    }
153
 
154
 
155
    # This component will be filled in by the processor/platform HAL's.
156
    cdl_component CYGPKG_HAL_M68K_MCFxxxx_REGISTERS {
157
        display     "Hardware configuration"
158
        flavor      none
159
        no_define
160
        description "
161
            ColdFire processors usually have a number of on-chip memories: an
162
            instruction cache, some RAM, and possibly some ROM. Some aspects of
163
            these can be configured by selecting the values for certain key
164
            registers, for example the RAMBAR internal ram base register."
165
    }
166
 
167
    if { 0 } {
168
        cdl_component CYGPKG_HAL_M68K_MCFxxxx_MAC {
169
            display     "Support for the MAC unit"
170
            active_if   CYGINT_HAL_M68K_MCFxxxx_HARDWARE_MAC
171
            flavor      none
172
            description "
173
            If the target processor has a hardware multiply/accumulate unit then
174
            this component defines additional configuration options related
175
            to that unit."
176
 
177
            cdl_option CYGIMP_HAL_M68K_MCFxxxx_MAC_SAVE {
178
                display         "Save MAC state during context switch"
179
                default_value   1
180
                description "
181
                By default the MAC context gets saved during a context switch and
182
                whenever an interrupt occurs. This can be suppressed if the application
183
                does not actually use this unit, or if it does so from only one
184
                thread."
185
            }
186
        }
187
 
188
        cdl_component CYGPKG_HAL_M68K_MCFxxxx_EMAC {
189
            display     "Support for the enhanced MAC unit"
190
            active_if   CYGINT_HAL_M68K_MCFxxxx_HARDWARE_EMAC
191
            flavor      none
192
            description "
193
            If the target processor has an enhanced multiply/accumulate unit then
194
            this component defines additional configuration options related
195
            to that unit."
196
 
197
            cdl_option CYGIMP_HAL_M68K_MCFxxxx_EMAC_SAVE {
198
                display         "Save EMAC state during context switch"
199
                default_value   1
200
                description "
201
                By default the EMAC context gets saved during a context switch and
202
                whenever an interrupt occurs. This can be suppressed if the application
203
                does not actually use this unit, or if it does so from only one
204
                thread."
205
            }
206
        }
207
    }
208
 
209
    cdl_component CYGHWR_HAL_M68K_MCFxxxx_HARDWARE {
210
        display     "Optional hardware units"
211
        flavor      none
212
        no_define
213
        description "
214
            Some ColdFire hardware units such as the multiply/accumulator are
215
            optional. This component keeps track of which units are actually
216
            available on the current target so that other configuration options
217
            and the eCos source code can adapt accordingly."
218
 
219
        cdl_interface CYGINT_HAL_M68K_MCFxxxx_HARDWARE_MAC {
220
            display "Multiply/accumulate unit"
221
            flavor  bool
222
            description "
223
                This interface will be implemented if the specific processor being
224
                used has a MAC (multiply/accumulate) unit."
225
        }
226
 
227
        cdl_interface CYGINT_HAL_M68K_MCFxxxx_HARDWARE_EMAC {
228
            display "Enhanced multiply/accumulate unit"
229
            flavor  bool
230
            description "
231
                This interface will be implemented if the specific processor being
232
                used has an EMAC (enhanced multiply/accumulate) unit."
233
        }
234
    }
235
 
236
    cdl_component CYGPKG_HAL_M68K_MCFxxxx_SOFTWARE {
237
        display     "Optional software units"
238
        flavor      none
239
        no_define
240
        description "
241
            The MCFxxxx variant HAL can provide default implementations of some
242
          software units such as profiling timer support for ColdFire processors
243
          sharing appropriate characteristics."
244
 
245
        cdl_interface CYGINT_HAL_M68K_MCFxxxx_SOFTWARE_PROFILE_TIMER {
246
            display     "Use standard profile timer"
247
            active_if   CYGPKG_PROFILE_GPROF
248
            implements  CYGINT_PROFILE_HAL_TIMER
249
            flavor      bool
250
 
251
            description "
252
                The MCFxxxx variant HAL can provide gprof profiling timer support
253
              on all ColdFire processors with a spare MCF5282-compatible PIT timer."
254
        }
255
 
256
        cdl_option CYGNUM_HAL_M68K_MCFxxxx_SOFTWARE_PROFILE_TIMER_ISR_PRIORITY {
257
            display         "Profile timer interrupt priority"
258
            active_if       CYGINT_HAL_M68K_MCFxxxx_SOFTWARE_PROFILE_TIMER
259
            flavor          data
260
            legal_values    CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MIN to CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MAX
261
            default_value   { is_loaded(CYGNUM_HAL_M68K_MCFxxxx_ISR_DEFAULT_PRIORITY_PROFILING_TIMER) ?
262
                CYGNUM_HAL_M68K_MCFxxxx_ISR_DEFAULT_PRIORITY_PROFILING_TIMER : CYGNUM_HAL_M68K_MCFxxxx_ISR_PRIORITY_MIN }
263
            description "
264
                This configuration option controls the priority used for the
265
              profiling timer interrupts. Typically this should be a high
266
              priority, making it possible to get profiling info for lower
267
              priority interrupt handlers when nested interrupt handling
268
              is enabled."
269
        }
270
    }
271
}

powered by: WebSVN 2.1.0

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