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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-2.0/] [packages/] [hal/] [sh/] [sh4/] [v2_0/] [cdl/] [hal_sh_sh4.cdl] - Blame information for rev 174

Details | Compare with Previous | View Log

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

powered by: WebSVN 2.1.0

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