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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [hal/] [sh/] [sh2/] [current/] [include/] [mod_regs_intc.h] - Blame information for rev 786

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
//=============================================================================
2
//
3
//      mod_regs_intc.h
4
//
5
//      INTC (interrupt controller) Module register definitions
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 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:jskov
44
// Date:        2002-01-15
45
//              
46
//####DESCRIPTIONEND####
47
//
48
//=============================================================================
49
 
50
// NOTE: This'll need restructuring as other variants are added. Type 1 should
51
// be fewest common registers.
52
 
53
//--------------------------------------------------------------------------
54
// Interrupt registers, module type 1
55
#define CYGARC_REG_ICR                    0xfffffee0
56
#define CYGARC_REG_IRQCSR                 0xfffffee8
57
#define CYGARC_REG_IPRA                   0xfffffee2
58
#define CYGARC_REG_IPRB                   0xfffffe60
59
#define CYGARC_REG_IPRC                   0xfffffee6
60
#define CYGARC_REG_IPRD                   0xfffffe40
61
#define CYGARC_REG_IPRE                   0xfffffec0
62
 
63
#define CYGARC_REG_VCRA                   0xfffffe62
64
#define CYGARC_REG_VCRB                   0xfffffe64
65
#define CYGARC_REG_VCRC                   0xfffffe66
66
#define CYGARC_REG_VCRD                   0xfffffe68
67
#define CYGARC_REG_VCRE                   0xfffffe42
68
#define CYGARC_REG_VCRF                   0xfffffe44
69
#define CYGARC_REG_VCRG                   0xfffffe46
70
#define CYGARC_REG_VCRH                   0xfffffe48
71
#define CYGARC_REG_VCRI                   0xfffffe4a
72
#define CYGARC_REG_VCRJ                   0xfffffe4c
73
#define CYGARC_REG_VCRK                   0xfffffe4e
74
#define CYGARC_REG_VCRL                   0xfffffe50
75
#define CYGARC_REG_VCRM                   0xfffffe52
76
#define CYGARC_REG_VCRN                   0xfffffe54
77
#define CYGARC_REG_VCRO                   0xfffffe56
78
#define CYGARC_REG_VCRP                   0xfffffec2
79
#define CYGARC_REG_VCRQ                   0xfffffec4
80
#define CYGARC_REG_VCRR                   0xfffffec6
81
#define CYGARC_REG_VCRS                   0xfffffec8
82
#define CYGARC_REG_VCRT                   0xfffffeca
83
#define CYGARC_REG_VCRU                   0xfffffecc
84
#define CYGARC_REG_VCRWDT                 0xfffffee4
85
#define CYGARC_REG_VCRDMA0                0xffffffa0 // 32 bit
86
#define CYGARC_REG_VCRDMA1                0xffffffa8 // 32 bit
87
 
88
#define CYGARC_REG_ICR_NMIL               0x8000
89
#define CYGARC_REG_ICR_NMIE               0x0100
90
#define CYGARC_REG_ICR_EXIMD              0x0002
91
#define CYGARC_REG_ICR_VECMD              0x0001
92
 
93
#define CYGARC_REG_IPRA_DMAC_MASK         0x0f00
94
#define CYGARC_REG_IPRA_DMAC_PRI1         0x0100
95
#define CYGARC_REG_IPRA_WDT_MASK          0x00f0
96
#define CYGARC_REG_IPRA_WDT_PRI1          0x0010
97
 
98
#define CYGARC_REG_IPRB_EDMAC_MASK        0xf000
99
#define CYGARC_REG_IPRB_EDMAC_PRI1        0x1000
100
#define CYGARC_REG_IPRB_FRT_MASK          0x0f00
101
#define CYGARC_REG_IPRB_FRT_PRI1          0x0100
102
 
103
#define CYGARC_REG_IPRC_IRQ3_MASK         0xf000
104
#define CYGARC_REG_IPRC_IRQ3_PRI1         0x1000
105
#define CYGARC_REG_IPRC_IRQ2_MASK         0x0f00
106
#define CYGARC_REG_IPRC_IRQ2_PRI1         0x0100
107
#define CYGARC_REG_IPRC_IRQ1_MASK         0x00f0
108
#define CYGARC_REG_IPRC_IRQ1_PRI1         0x0010
109
#define CYGARC_REG_IPRC_IRQ0_MASK         0x000f
110
#define CYGARC_REG_IPRC_IRQ0_PRI1         0x0001
111
 
112
#define CYGARC_REG_IPRD_TPU0_MASK         0xf000
113
#define CYGARC_REG_IPRD_TPU0_PRI1         0x1000
114
#define CYGARC_REG_IPRD_TPU1_MASK         0x0f00
115
#define CYGARC_REG_IPRD_TPU1_PRI1         0x0100
116
#define CYGARC_REG_IPRD_TPU2_MASK         0x00f0
117
#define CYGARC_REG_IPRD_TPU2_PRI1         0x0010
118
#define CYGARC_REG_IPRD_SCIF1_MASK        0x000f
119
#define CYGARC_REG_IPRD_SCIF1_PRI1        0x0001
120
 
121
#define CYGARC_REG_IPRE_SCIF2_MASK        0xf000
122
#define CYGARC_REG_IPRE_SCIF2_PRI1        0x1000
123
#define CYGARC_REG_IPRE_SIO0_MASK         0x0f00
124
#define CYGARC_REG_IPRE_SIO0_PRI1         0x0100
125
#define CYGARC_REG_IPRE_SIO1_MASK         0x00f0
126
#define CYGARC_REG_IPRE_SIO1_PRI1         0x0010
127
#define CYGARC_REG_IPRE_SIO2_MASK         0x000f
128
#define CYGARC_REG_IPRE_SIO2_PRI1         0x0001
129
 
130
// The (initial) IRQ mode is controlled by configuration.
131
#ifdef CYGHWR_HAL_SH_IRQ_USE_IRQLVL
132
# define CYGARC_REG_ICR_INIT (CYGARC_REG_ICR_EXIMD)
133
#else
134
# define CYGARC_REG_ICR_INIT 0x0000
135
#endif
136
 
137
#define CYGARC_REG_IRQCSR_IRQ_LOWLEVEL    0
138
#define CYGARC_REG_IRQCSR_IRQ_RISING      1
139
#define CYGARC_REG_IRQCSR_IRQ_FALLING     2
140
#define CYGARC_REG_IRQCSR_IRQ_BOTHEDGES   3
141
#define CYGARC_REG_IRQCSR_IRQ_mask        3
142
 
143
#define CYGARC_REG_IRQCSR_IRQ3_mask       0xc000
144
#define CYGARC_REG_IRQCSR_IRQ3_shift      14
145
#define CYGARC_REG_IRQCSR_IRQ2_mask       0x3000
146
#define CYGARC_REG_IRQCSR_IRQ2_shift      12
147
#define CYGARC_REG_IRQCSR_IRQ1_mask       0x0c00
148
#define CYGARC_REG_IRQCSR_IRQ1_shift      10
149
#define CYGARC_REG_IRQCSR_IRQ0_mask       0x0300
150
#define CYGARC_REG_IRQCSR_IRQ0_shift      8
151
 
152
#define CYGARC_REG_IRQCSR_IRL3PS          0x0080
153
#define CYGARC_REG_IRQCSR_IRL2PS          0x0040
154
#define CYGARC_REG_IRQCSR_IRL1PS          0x0020
155
#define CYGARC_REG_IRQCSR_IRL0PS          0x0010
156
 
157
#define CYGARC_REG_IRQCSR_IRQ3F           0x0008
158
#define CYGARC_REG_IRQCSR_IRQ2F           0x0004
159
#define CYGARC_REG_IRQCSR_IRQ1F           0x0002
160
#define CYGARC_REG_IRQCSR_IRQ0F           0x0001

powered by: WebSVN 2.1.0

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