]> git.karo-electronics.de Git - karo-tx-redboot.git/blob - packages/hal/fr30/mb91301/v2_0/src/variant.S
Initial revision
[karo-tx-redboot.git] / packages / hal / fr30 / mb91301 / v2_0 / src / variant.S
1 ##=============================================================================
2 ##
3 ##      variant.S
4 ##
5 ##      FR30 MB91301 variant code
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):   larsi
44 ## Contributors:larsi
45 ## Date:        2006-07-22
46 ## Purpose:     FR30 MB91301 variant code
47 ## Description: Variant specific code for MB91301 processor family.
48 ##
49 ##
50 ##
51 ##
52 ######DESCRIPTIONEND####
53 ##
54 ##=============================================================================
55
56 #include <pkgconf/system.h>     
57 #include <pkgconf/hal.h>
58
59 #ifdef CYGPKG_KERNEL
60 # include <pkgconf/kernel.h>    
61 #endif
62
63 #include <cyg/hal/arch.inc>     
64
65 #==============================================================================
66 # Vector table for storage in flash
67 # base address is 0x000FFC00, which stores the vector address for number 255
68 # address 0x000FFFFC is the last vector, the reset vector, which is not
69 # alterable. Vectors 255 to 80 are used by the INT instruction and set to 0
70 # here for now ...
71
72 #ifndef CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED
73 #define CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED
74
75 #if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
76
77      .section ".rom_vectors","ax"
78
79     .balign 4
80     .global hal_fr30_vector_table
81 hal_fr30_vector_table:
82     .rept   255-80 + 1
83     .long   0x0
84     .endr
85     .rept   79-67 + 1
86     .long   0x0
87     .endr
88
89     .long   0x0
90     .long   0x0
91     .long   0x0
92 # number 63 first interrupt source
93     .long   hal_fr30_irq_63
94     .long   hal_fr30_irq_62
95     .long   hal_fr30_irq_61
96     .long   hal_fr30_irq_60
97     .long   hal_fr30_irq_59
98     .long   hal_fr30_irq_58
99     .long   hal_fr30_irq_57
100     .long   hal_fr30_irq_56
101     .long   hal_fr30_irq_55
102     .long   hal_fr30_irq_54
103     .long   hal_fr30_irq_53
104     .long   hal_fr30_irq_52
105     .long   hal_fr30_irq_51
106     .long   hal_fr30_irq_50
107     .long   hal_fr30_irq_49
108     .long   hal_fr30_irq_48
109     .long   hal_fr30_irq_47
110     .long   hal_fr30_irq_46
111     .long   hal_fr30_irq_45
112     .long   hal_fr30_irq_44
113     .long   hal_fr30_irq_43
114     .long   hal_fr30_irq_42
115     .long   hal_fr30_irq_41
116     .long   hal_fr30_irq_40
117     .long   hal_fr30_irq_39
118     .long   hal_fr30_irq_38
119     .long   hal_fr30_irq_37
120     .long   hal_fr30_irq_36
121     .long   hal_fr30_irq_35
122     .long   hal_fr30_irq_34
123     .long   hal_fr30_irq_33
124     .long   hal_fr30_irq_32
125     .long   hal_fr30_irq_31
126     .long   hal_fr30_irq_30
127     .long   hal_fr30_irq_29
128     .long   hal_fr30_irq_28
129     .long   hal_fr30_irq_27
130     .long   hal_fr30_irq_26
131     .long   hal_fr30_irq_25
132     .long   hal_fr30_irq_24
133     .long   hal_fr30_irq_23
134     .long   hal_fr30_irq_22
135     .long   hal_fr30_irq_21
136     .long   hal_fr30_irq_20
137     .long   hal_fr30_irq_19
138     .long   hal_fr30_irq_18
139     .long   hal_fr30_irq_17
140     .long   hal_fr30_irq_16
141     .long   hal_fr30_irq_15
142     .long   hal_fr30_exception_noerr_14
143     .long   hal_fr30_exception_noerr_13
144     .long   hal_fr30_exception_noerr_12
145     .long   hal_fr30_exception_noerr_11
146     .long   hal_fr30_exception_noerr_10
147     .long   hal_fr30_exception_noerr_9
148     .long   hal_fr30_exception_noerr_8
149     .long   hal_fr30_exception_noerr_7
150     .long   hal_fr30_exception_noerr_6
151     .long   hal_fr30_exception_noerr_5
152     .long   hal_fr30_exception_noerr_4
153     .long   hal_fr30_exception_noerr_3
154     .long   hal_fr30_exception_noerr_2
155
156 # mode vector (only the first of the four byte is relevant)
157     .byte   0x1
158     .byte   0
159     .byte   0
160     .byte   0
161
162 # reset vector
163     .long   _start
164
165 #endif /*CYG_HAL_STARTUP_ROM || CYG_HAL_STARTUP_ROMRAM*/
166 #endif /*CYGPKG_HAL_FR30_ROM_VECTORS_DEFINED*/
167
168 ##-----------------------------------------------------------------------------
169 # Interrupt vector tables.
170 # These tables contain the isr, data and object pointers used to deliver
171 # interrupts to user code.
172
173     .extern hal_default_isr
174
175     .data
176     .balign 4
177
178     .globl  hal_interrupt_handlers
179 hal_interrupt_handlers:
180     .rept  CYGNUM_HAL_ISR_COUNT
181     .long   hal_default_isr
182     .endr
183
184     .globl  hal_interrupt_data
185 hal_interrupt_data:
186     .rept   CYGNUM_HAL_ISR_COUNT
187     .long   0
188     .endr
189
190     .globl  hal_interrupt_objects
191 hal_interrupt_objects:
192     .rept   CYGNUM_HAL_ISR_COUNT
193     .long   0
194     .endr
195
196 ##-----------------------------------------------------------------------------
197 ## end of variant.S
198