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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [sh/] [sh4/] [current/] [cdl/] [hal_sh_sh4.cdl] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
# ====================================================================
2
#
3
#      hal_sh_sh4.cdl
4
#
5
#      SH4 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 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, nickg
43
# Original data:  jskov
44
# Contributors:
45
# Date:           1999-10-29
46
#
47
#####DESCRIPTIONEND####
48
#
49
# ====================================================================
50
 
51
cdl_package CYGPKG_HAL_SH_SH4 {
52
    display       "SH4 architecture"
53
    parent        CYGPKG_HAL_SH
54
 
55
    hardware
56
    include_dir   cyg/hal
57
    define_header hal_sh_sh4.h
58
    description   "
59
        The SH4 (SuperH 4) architecture HAL package provides generic
60
        support for this processor architecture. It is also
61
        necessary to select a specific target platform HAL
62
        package."
63
 
64
    compile        sh4_scif.c var_misc.c variant.S
65
 
66
    define_proc {
67
        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H   "
68
        puts $::cdl_header "#define CYGBLD_HAL_VAR_EXCEPTION_MODEL_H   "
69
        puts $::cdl_header "#define CYGBLD_HAL_VAR_EXCEPTION_MODEL_INC "
70
        puts $::cdl_header "#define CYGBLD_HAL_VAR_INTR_MODEL_H   "
71
    }
72
 
73
    # The "-o file" is a workaround for CR100958 - without it the
74
    # output file would end up in the source directory under CygWin.
75
    # n.b. grep does not behave itself under win32
76
    make -priority 1 {
77
        /include/cyg/hal/sh4_offsets.inc : /src/var_mk_defs.c
78
        $(CC) $(ACTUAL_CFLAGS) $(INCLUDE_PATH) -Wp,-MD,sh4_offsets.tmp -o var_mk_defs.tmp -S $<
79
        fgrep .equ var_mk_defs.tmp | sed s/#// > $@
80
        @echo $@ ": \\" > $(notdir $@).deps
81
        @tail -n +2 sh4_offsets.tmp >> $(notdir $@).deps
82
        @echo >> $(notdir $@).deps
83
        @rm sh4_offsets.tmp var_mk_defs.tmp
84
    }
85
 
86
    # CPU variant supported
87
    cdl_component CYGPKG_HAL_SH_7750 {
88
        display       "SH 7750 microprocessor"
89
        parent        CYGPKG_HAL_SH_CPU
90
        implements    CYGINT_HAL_SH_VARIANT
91
        implements    CYGINT_HAL_SH_CPG_T1
92
        requires      ! CYGHWR_HAL_SH_CACHE_ENABLE
93
        default_value 0
94
        no_define
95
        define        -file=system.h CYGPKG_HAL_SH_7750
96
        description "
97
            The SH4 7750 microprocessor. This is an embedded part that in
98
            addition to the SH4 processor core has built in peripherals
99
            such as memory controllers, DMA controllers, serial ports and
100
            timers/counters."
101
        define_proc {
102
            puts $cdl_system_header "#define CYGBLD_HAL_CPU_MODULES_H "
103
        }
104
    }
105
 
106
    cdl_component CYGPKG_HAL_SH_7751 {
107
        display       "SH 7751 microprocessor"
108
        parent        CYGPKG_HAL_SH_CPU
109
        implements    CYGINT_HAL_SH_VARIANT
110
        implements    CYGINT_HAL_SH_CPG_T1
111
        default_value 0
112
        no_define
113
        define        -file=system.h CYGPKG_HAL_SH_7751
114
        compile       pcic.c
115
        description "
116
            The SH4 7751 microprocessor. This is an embedded part that in
117
            addition to the SH4 processor core has built in peripherals
118
            such as memory controllers, DMA controllers, serial ports and
119
            timers/counters."
120
        define_proc {
121
            puts $cdl_system_header "#define CYGBLD_HAL_CPU_MODULES_H "
122
        }
123
    }
124
 
125
    cdl_component CYGPKG_HAL_SH_202 {
126
        display       "SH 202 microprocessor"
127
        parent        CYGPKG_HAL_SH_CPU
128
        implements    CYGINT_HAL_SH_VARIANT
129
        implements    CYGINT_HAL_SH_CPG_T1
130
        requires      CYGHWR_HAL_SH_FPU
131
        requires      { CYGHWR_HAL_SH_FPU_REGS == 16 }
132
        default_value 0
133
        no_define
134
        define        -file=system.h CYGPKG_HAL_SH_202
135
        description "
136
            The SH4-202 microprocessor. This is an embedded part that in
137
            addition to the SH4 processor core has built in peripherals
138
            such as memory controllers, DMA controllers, serial ports and
139
            timers/counters."
140
        define_proc {
141
            puts $cdl_system_header "#define CYGBLD_HAL_CPU_MODULES_H "
142
        }
143
    }
144
 
145
    cdl_component CYGHWR_HAL_SH_CLOCK_SETTINGS {
146
        display          "SH on-chip generic clock controls"
147
        description      "
148
            The various clocks used by the system are controlled by
149
            these options, some of which are derived from platform
150
            settings."
151
        flavor        none
152
        no_define
153
 
154
        cdl_interface CYGINT_HAL_SH_CPG_T1 {
155
            display     "Clock pulse generator type 1"
156
        }
157
 
158
        cdl_option CYGHWR_HAL_SH_TMU_PRESCALE_0 {
159
            display       "TMU counter 0 prescaling"
160
            description   "
161
                The peripheral clock is driving the counter used for
162
                the real-time clock, prescaled by this factor."
163
            flavor        data
164
            legal_values  { 4 16 64 256 }
165
            default_value 4
166
        }
167
 
168
        cdl_option CYGHWR_HAL_SH_RTC_PRESCALE {
169
            display       "eCos RTC prescaling"
170
            flavor        data
171
            calculated    CYGHWR_HAL_SH_TMU_PRESCALE_0
172
        }
173
 
174
        cdl_option CYGHWR_HAL_SH_CLOCK_CKIO {
175
            display    "CKIO clock"
176
            no_define
177
            flavor     data
178
            calculated { CYGHWR_HAL_SH_PLL2_OUTPUT }
179
        }
180
 
181
        cdl_option CYGHWR_HAL_SH_PLL1_OUTPUT {
182
            display    "The clock output from PLL1"
183
            no_define
184
            flavor     data
185
            calculated { CYGHWR_HAL_SH_DIVIDER1_OUTPUT * CYGHWR_HAL_SH_OOC_PLL_1 }
186
        }
187
 
188
        cdl_option CYGHWR_HAL_SH_DIVIDER1_OUTPUT {
189
            display    "The clock output from divider 1"
190
            no_define
191
            flavor     data
192
            # DIV1 output is either 1 or 1/2 XTAL
193
            calculated { (CYGHWR_HAL_SH_OOC_DIVIDER_1 == 1)
194
                           ? CYGHWR_HAL_SH_OOC_XTAL
195
                           : CYGHWR_HAL_SH_OOC_XTAL / 2 }
196
        }
197
 
198
        cdl_option CYGHWR_HAL_SH_PROCESSOR_SPEED {
199
            display          "Processor clock speed (MHz)"
200
            flavor           data
201
            calculated       { CYGHWR_HAL_SH_PLL1_OUTPUT / CYGHWR_HAL_SH_OOC_DIVIDER_IFC }
202
            description      "
203
                The peripheral speed is computed from the PLL2 output clock
204
                speed and the IFC divider settings."
205
        }
206
 
207
        cdl_option CYGHWR_HAL_SH_BOARD_SPEED {
208
            display          "Platform bus clock speed (MHz)"
209
            flavor           data
210
            calculated       { CYGHWR_HAL_SH_PLL1_OUTPUT / CYGHWR_HAL_SH_OOC_DIVIDER_BFC }
211
            description      "
212
                The peripheral speed is computed from the PLL2 output clock
213
                speed and the BFC divider settings."
214
        }
215
 
216
        cdl_option CYGHWR_HAL_SH_ONCHIP_PERIPHERAL_SPEED {
217
            display          "Processor on-chip peripheral clock speed (MHz)"
218
            flavor           data
219
            calculated       { CYGHWR_HAL_SH_PLL1_OUTPUT / CYGHWR_HAL_SH_OOC_DIVIDER_PFC }
220
            description      "
221
                The peripheral speed is computed from the PLL2 output clock
222
                speed and the PFC divider settings."
223
        }
224
    }
225
 
226
    cdl_option CYGNUM_HAL_SH_SH4_SCIF_BAUD_RATE {
227
        display          "SCIF serial ports default baud rate"
228
        flavor data
229
        legal_values     { 4800 9600 14400 19200 38400 57600 115200 }
230
        default_value    { CYGNUM_HAL_SH_SH4_SCIF_BAUD_RATE_DEFAULT ? \
231
                           CYGNUM_HAL_SH_SH4_SCIF_BAUD_RATE_DEFAULT : 38400 }
232
        description      "
233
           This controls the default baud rate used for communicating
234
           with GDB / displaying diagnostic output."
235
    }
236
 
237
    cdl_component CYGPKG_HAL_SH_INTERRUPT {
238
        display          "Interrupt controls"
239
        flavor     none
240
        no_define
241
        description      "
242
            Initial interrupt settings can be specified using these option."
243
 
244
        cdl_option CYGHWR_HAL_SH_IRQ_USE_IRQLVL {
245
            display          "Use IRL0-3 pins as IRL input"
246
            default_value    0
247
            description      "
248
                It is possible for the IRL0-3 pins to be used as IRL
249
                inputs by enabling this option."
250
        }
251
    }
252
 
253
    # Cache settings
254
    cdl_option CYGHWR_HAL_SH_CACHE_MODE_P0 {
255
        display       "Select cache mode set for P0/U0/P3 at startup"
256
        parent        CYGPKG_HAL_SH_CACHE
257
        default_value { "WRITE_BACK" }
258
        legal_values  { "WRITE_BACK" "WRITE_THROUGH" }
259
        flavor        data
260
        description "
261
            Controls what cache mode the cache should be put in at
262
            startup for areas P0, U0 and P3. Write-back mode improves
263
            performance by letting dirty data to be kept in the
264
            cache for a period of time, allowing mutiple writes to
265
            the same cache line to be written back to memory in
266
            one memory transaction. In Write-through mode, each
267
            individual write will cause a memory transaction."
268
    }
269
 
270
    cdl_option CYGHWR_HAL_SH_CACHE_MODE_P1 {
271
        display       "Select cache mode set for P1 at startup"
272
        parent        CYGPKG_HAL_SH_CACHE
273
        default_value { "WRITE_BACK" }
274
        legal_values  { "WRITE_BACK" "WRITE_THROUGH" }
275
        flavor        data
276
        description "
277
            Controls what cache mode the cache should be put in at
278
            startup for area P1. Write-back mode improves
279
            performance by letting dirty data to be kept in the
280
            cache for a period of time, allowing mutiple writes to
281
            the same cache line to be written back to memory in
282
            one memory transaction. In Write-through mode, each
283
            individual write will cause a memory transaction."
284
    }
285
}

powered by: WebSVN 2.1.0

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