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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [powerpc/] [ppc40x/] [current/] [cdl/] [hal_powerpc_ppc40x.cdl] - Blame information for rev 794

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

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_powerpc_ppc40x.cdl
4
#
5
#      PowerPC/PPC40x 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, 2003, 2004 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):      jskov
43
# Contributors:   gthomas
44
# Date:           2000-08-27
45
#
46
#####DESCRIPTIONEND####
47
#
48
# ====================================================================
49
 
50
cdl_package CYGPKG_HAL_POWERPC_PPC40x {
51
    display       "PowerPC 40x variant HAL"
52
    parent        CYGPKG_HAL_POWERPC
53
    hardware
54
    include_dir   cyg/hal
55
    define_header hal_powerpc_ppc40x.h
56
    description   "
57
           The PowerPC 40x variant HAL package provides generic support
58
           for this processor variant. It is also necessary to
59
           select a specific target platform HAL package."
60
 
61
    # Note: This should be sub-variant specific to reduce memory use.
62
    define_proc {
63
        puts $cdl_header "#define CYGHWR_HAL_VSR_TABLE (CYGHWR_HAL_POWERPC_VECTOR_BASE + 0x3000)"
64
        puts $cdl_header "#define CYGHWR_HAL_VIRTUAL_VECTOR_TABLE (CYGHWR_HAL_VSR_TABLE + 0x200)"
65
        puts $::cdl_system_header "#define CYGBLD_HAL_VAR_IO_H   "
66
    }
67
 
68
    cdl_component CYGHWR_HAL_POWERPC_PPC4XX {
69
        display       "PowerPC 4xx microprocessor family"
70
        flavor        data
71
        legal_values  { "403" "405" "405GP" "405EP" }
72
        default_value { "405GP" }
73
        implements    CYGINT_HAL_POWERPC_VARIANT
74
        description "
75
            The PowerPC 4xx microprocessor family. These are embedded parts
76
            that in addition to the PowerPC processor core have built in peripherals
77
            such as memory controllers, DMA controllers, serial ports and
78
            timers/counters."
79
 
80
        cdl_option CYGHWR_HAL_POWERPC_FPU {
81
            display    "Variant FPU support"
82
            calculated 0
83
        }
84
 
85
        cdl_option CYGPKG_HAL_POWERPC_MSBFIRST {
86
            display    "CPU Variant big-endian"
87
            calculated 1
88
        }
89
 
90
    }
91
 
92
    cdl_component CYGHWR_HAL_POWERPC_PPC405_PCI {
93
        display       "PCI support"
94
        requires      { (CYGHWR_HAL_POWERPC_PPC4XX == "405GP") || (CYGHWR_HAL_POWERPC_PPC4XX == "405EP") }
95
        active_if     CYGPKG_IO_PCI
96
        description   "Variant PCI support - only for 405GP/EP"
97
        default_value 1
98
        compile       ppc405_pci.c
99
 
100
        cdl_option CYGSEM_HAL_POWERPC_PPC405_PCI_SHOW_BUS {
101
            display       "Display PCI Bus devices"
102
            default_value 1
103
        }
104
    }
105
 
106
    cdl_component CYGHWR_HAL_POWERPC_PPC405_IO {
107
        display       "Misc I/O support, including diagnostic serial ports"
108
        active_if     { (CYGHWR_HAL_POWERPC_PPC4XX == "405GP" || CYGHWR_HAL_POWERPC_PPC4XX == "405EP") }
109
        description   "Variant I/O support - only for 405GP/EP"
110
        default_value 1
111
        compile       hal_diag.c
112
 
113
       cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
114
           display      "Number of communication channels on the board"
115
           flavor       data
116
           default_value 2+CYGNUM_HAL_PLF_VIRTUAL_VECTOR_COMM_CHANNELS
117
       }
118
 
119
       cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
120
           display          "Debug serial port"
121
           active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
122
           flavor data
123
           legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
124
           default_value    0
125
           description      "
126
               The PPC405GP supports multiple serial ports. Additionally,
127
               a platform may define other 'console' devices. This option
128
               chooses which port will be used to connect to a host
129
               running GDB."
130
        }
131
 
132
        cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
133
            display          "Diagnostic serial port"
134
            active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
135
            flavor data
136
            legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
137
            default_value    0
138
            description      "
139
               This option chooses which console port will be used for diagnostic output."
140
        }
141
 
142
        cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
143
            display       "Baud rate for the HAL diagnostic port"
144
            flavor        data
145
            legal_values  { 50 75 110 "134_5" 150 200 300 600 1200 1800 2400 3600
146
                          4800 7200 9600 14400 19200 38400 57600 115200 230400
147
            }
148
            default_value 38400
149
            description   "
150
                This option specifies the default baud rate (speed) for the
151
                HAL diagnostic port."
152
        }
153
 
154
        # This option is only used when USE_ROM_MONITOR is enabled - but
155
        # it cannot be a sub-option to that option, since the code uses the
156
        # definition in a preprocessor comparison.
157
        cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_ROM_DEBUG_CHANNEL {
158
            display          "Debug serial port used by ROM monitor"
159
            flavor data
160
            legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
161
            default_value    0
162
            description      "
163
                This option tells the code which console port is in use by
164
                the ROM monitor. It should only be necessary to change this
165
                option if a non-standard configurated eCos GDB stub is
166
                used."
167
        }
168
    }
169
 
170
    # Real-time clock/counter specifics
171
    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
172
        display       "Real-time clock constants."
173
        description   "
174
            Period is busclock/100."
175
        flavor        none
176
 
177
        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
178
            display       "Real-time clock numerator"
179
            flavor        data
180
            calculated    1000000000
181
        }
182
        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
183
            display       "Real-time clock denominator"
184
            flavor        data
185
            calculated    100
186
        }
187
        cdl_option CYGNUM_HAL_RTC_PERIOD {
188
            display       "Real-time clock period"
189
            flavor        data
190
            calculated    { (((CYGHWR_HAL_POWERPC_CPU_SPEED*1000000))/CYGNUM_HAL_RTC_DENOMINATOR) }
191
        }
192
    }
193
 
194
    define_proc {
195
        puts $::cdl_header "#include "
196
    }
197
 
198
 
199
    cdl_interface CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED {
200
        display       "ROM monitor configuration is unsupported"
201
        no_define
202
    }
203
 
204
    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
205
        display       "Work with a ROM monitor"
206
        flavor        bool
207
        default_value { (CYG_HAL_STARTUP == "RAM" &&
208
                        !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS &&
209
                        !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED &&
210
                        !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 }
211
        parent        CYGPKG_HAL_ROM_MONITOR
212
        requires      { CYG_HAL_STARTUP == "RAM" }
213
        requires      ! CYGSEM_HAL_POWERPC_COPY_VECTORS
214
        requires      ! CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
215
        requires      ! CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED
216
        description   "
217
            Allow coexistence with ROM monitor (RedBoot or GDB stubs) by
218
            only initializing interrupt vectors on startup, thus leaving
219
            exception handling to the ROM monitor."
220
    }
221
 
222
    compile       var_intr.c var_misc.c variant.S
223
}

powered by: WebSVN 2.1.0

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