aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-stmp378x/include/mach/regs-icoll.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-stmp378x/include/mach/regs-icoll.h')
-rw-r--r--arch/arm/mach-stmp378x/include/mach/regs-icoll.h214
1 files changed, 23 insertions, 191 deletions
diff --git a/arch/arm/mach-stmp378x/include/mach/regs-icoll.h b/arch/arm/mach-stmp378x/include/mach/regs-icoll.h
index a5a530c6440d..f996e80f40e7 100644
--- a/arch/arm/mach-stmp378x/include/mach/regs-icoll.h
+++ b/arch/arm/mach-stmp378x/include/mach/regs-icoll.h
@@ -1,5 +1,5 @@
1/* 1/*
2 * STMP ICOLL Register Definitions 2 * stmp378x: ICOLL register definitions
3 * 3 *
4 * Copyright (c) 2008 Freescale Semiconductor 4 * Copyright (c) 2008 Freescale Semiconductor
5 * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved. 5 * Copyright 2008 Embedded Alley Solutions, Inc All Rights Reserved.
@@ -18,196 +18,28 @@
18 * along with this program; if not, write to the Free Software 18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
20 */ 20 */
21#ifndef _MACH_REGS_ICOLL
22#define _MACH_REGS_ICOLL
21 23
22#ifndef __ARCH_ARM___ICOLL_H 24#define REGS_ICOLL_BASE (STMP3XXX_REGS_BASE + 0x0)
23#define __ARCH_ARM___ICOLL_H 1 25#define REGS_ICOLL_PHYS 0x80000000
26#define REGS_ICOLL_SIZE 0x2000
24 27
25#include <mach/stmp3xxx_regs.h> 28#define HW_ICOLL_VECTOR 0x0
26 29
27#define REGS_ICOLL_BASE (REGS_BASE + 0x0) 30#define HW_ICOLL_LEVELACK 0x10
28#define REGS_ICOLL_BASE_PHYS (0x80000000) 31#define BM_ICOLL_LEVELACK_IRQLEVELACK 0x0000000F
29#define REGS_ICOLL_SIZE 0x00002000 32#define BP_ICOLL_LEVELACK_IRQLEVELACK 0
30HW_REGISTER(HW_ICOLL_VECTOR, REGS_ICOLL_BASE, 0x00000000) 33
31#define HW_ICOLL_VECTOR_ADDR (REGS_ICOLL_BASE + 0x00000000) 34#define HW_ICOLL_CTRL 0x20
32#define BP_ICOLL_VECTOR_IRQVECTOR 2 35#define BM_ICOLL_CTRL_CLKGATE 0x40000000
33#define BM_ICOLL_VECTOR_IRQVECTOR 0xFFFFFFFC 36#define BM_ICOLL_CTRL_SFTRST 0x80000000
34#define BF_ICOLL_VECTOR_IRQVECTOR(v) \ 37
35 (((v) << 2) & BM_ICOLL_VECTOR_IRQVECTOR) 38#define HW_ICOLL_STAT 0x70
36HW_REGISTER_0(HW_ICOLL_LEVELACK, REGS_ICOLL_BASE, 0x00000010) 39
37#define HW_ICOLL_LEVELACK_ADDR (REGS_ICOLL_BASE + 0x00000010) 40#define HW_ICOLL_INTERRUPTn 0x120
38#define BP_ICOLL_LEVELACK_IRQLEVELACK 0 41
39#define BM_ICOLL_LEVELACK_IRQLEVELACK 0x0000000F 42#define HW_ICOLL_INTERRUPTn 0x120
40#define BF_ICOLL_LEVELACK_IRQLEVELACK(v) \ 43#define BM_ICOLL_INTERRUPTn_ENABLE 0x00000004
41 (((v) << 0) & BM_ICOLL_LEVELACK_IRQLEVELACK) 44
42#define BV_ICOLL_LEVELACK_IRQLEVELACK__LEVEL0 0x1 45#endif
43#define BV_ICOLL_LEVELACK_IRQLEVELACK__LEVEL1 0x2
44#define BV_ICOLL_LEVELACK_IRQLEVELACK__LEVEL2 0x4
45#define BV_ICOLL_LEVELACK_IRQLEVELACK__LEVEL3 0x8
46HW_REGISTER(HW_ICOLL_CTRL, REGS_ICOLL_BASE, 0x00000020)
47#define HW_ICOLL_CTRL_ADDR (REGS_ICOLL_BASE + 0x00000020)
48#define BM_ICOLL_CTRL_SFTRST 0x80000000
49#define BV_ICOLL_CTRL_SFTRST__RUN 0x0
50#define BV_ICOLL_CTRL_SFTRST__IN_RESET 0x1
51#define BM_ICOLL_CTRL_CLKGATE 0x40000000
52#define BV_ICOLL_CTRL_CLKGATE__RUN 0x0
53#define BV_ICOLL_CTRL_CLKGATE__NO_CLOCKS 0x1
54#define BP_ICOLL_CTRL_VECTOR_PITCH 21
55#define BM_ICOLL_CTRL_VECTOR_PITCH 0x00E00000
56#define BF_ICOLL_CTRL_VECTOR_PITCH(v) \
57 (((v) << 21) & BM_ICOLL_CTRL_VECTOR_PITCH)
58#define BV_ICOLL_CTRL_VECTOR_PITCH__DEFAULT_BY4 0x0
59#define BV_ICOLL_CTRL_VECTOR_PITCH__BY4 0x1
60#define BV_ICOLL_CTRL_VECTOR_PITCH__BY8 0x2
61#define BV_ICOLL_CTRL_VECTOR_PITCH__BY12 0x3
62#define BV_ICOLL_CTRL_VECTOR_PITCH__BY16 0x4
63#define BV_ICOLL_CTRL_VECTOR_PITCH__BY20 0x5
64#define BV_ICOLL_CTRL_VECTOR_PITCH__BY24 0x6
65#define BV_ICOLL_CTRL_VECTOR_PITCH__BY28 0x7
66#define BM_ICOLL_CTRL_BYPASS_FSM 0x00100000
67#define BV_ICOLL_CTRL_BYPASS_FSM__NORMAL 0x0
68#define BV_ICOLL_CTRL_BYPASS_FSM__BYPASS 0x1
69#define BM_ICOLL_CTRL_NO_NESTING 0x00080000
70#define BV_ICOLL_CTRL_NO_NESTING__NORMAL 0x0
71#define BV_ICOLL_CTRL_NO_NESTING__NO_NEST 0x1
72#define BM_ICOLL_CTRL_ARM_RSE_MODE 0x00040000
73#define BM_ICOLL_CTRL_FIQ_FINAL_ENABLE 0x00020000
74#define BV_ICOLL_CTRL_FIQ_FINAL_ENABLE__DISABLE 0x0
75#define BV_ICOLL_CTRL_FIQ_FINAL_ENABLE__ENABLE 0x1
76#define BM_ICOLL_CTRL_IRQ_FINAL_ENABLE 0x00010000
77#define BV_ICOLL_CTRL_IRQ_FINAL_ENABLE__DISABLE 0x0
78#define BV_ICOLL_CTRL_IRQ_FINAL_ENABLE__ENABLE 0x1
79HW_REGISTER(HW_ICOLL_VBASE, REGS_ICOLL_BASE, 0x00000040)
80#define HW_ICOLL_VBASE_ADDR (REGS_ICOLL_BASE + 0x00000040)
81#define BP_ICOLL_VBASE_TABLE_ADDRESS 2
82#define BM_ICOLL_VBASE_TABLE_ADDRESS 0xFFFFFFFC
83#define BF_ICOLL_VBASE_TABLE_ADDRESS(v) \
84 (((v) << 2) & BM_ICOLL_VBASE_TABLE_ADDRESS)
85HW_REGISTER_0(HW_ICOLL_STAT, REGS_ICOLL_BASE, 0x00000070)
86#define HW_ICOLL_STAT_ADDR (REGS_ICOLL_BASE + 0x00000070)
87#define BP_ICOLL_STAT_VECTOR_NUMBER 0
88#define BM_ICOLL_STAT_VECTOR_NUMBER 0x0000007F
89#define BF_ICOLL_STAT_VECTOR_NUMBER(v) \
90 (((v) << 0) & BM_ICOLL_STAT_VECTOR_NUMBER)
91/*
92 * multi-register-define name HW_ICOLL_RAWn
93 * base 0x000000A0
94 * count 4
95 * offset 0x10
96 */
97HW_REGISTER_0_INDEXED(HW_ICOLL_RAWn, REGS_ICOLL_BASE, 0x000000a0, 0x10)
98#define BP_ICOLL_RAWn_RAW_IRQS 0
99#define BM_ICOLL_RAWn_RAW_IRQS 0xFFFFFFFF
100#define BF_ICOLL_RAWn_RAW_IRQS(v) (v)
101/*
102 * multi-register-define name HW_ICOLL_INTERRUPTn
103 * base 0x00000120
104 * count 128
105 * offset 0x10
106 */
107HW_REGISTER_INDEXED(HW_ICOLL_INTERRUPTn, REGS_ICOLL_BASE, 0x00000120, 0x10)
108#define BM_ICOLL_INTERRUPTn_ENFIQ 0x00000010
109#define BV_ICOLL_INTERRUPTn_ENFIQ__DISABLE 0x0
110#define BV_ICOLL_INTERRUPTn_ENFIQ__ENABLE 0x1
111#define BM_ICOLL_INTERRUPTn_SOFTIRQ 0x00000008
112#define BV_ICOLL_INTERRUPTn_SOFTIRQ__NO_INTERRUPT 0x0
113#define BV_ICOLL_INTERRUPTn_SOFTIRQ__FORCE_INTERRUPT 0x1
114#define BM_ICOLL_INTERRUPTn_ENABLE 0x00000004
115#define BV_ICOLL_INTERRUPTn_ENABLE__DISABLE 0x0
116#define BV_ICOLL_INTERRUPTn_ENABLE__ENABLE 0x1
117#define BP_ICOLL_INTERRUPTn_PRIORITY 0
118#define BM_ICOLL_INTERRUPTn_PRIORITY 0x00000003
119#define BF_ICOLL_INTERRUPTn_PRIORITY(v) \
120 (((v) << 0) & BM_ICOLL_INTERRUPTn_PRIORITY)
121#define BV_ICOLL_INTERRUPTn_PRIORITY__LEVEL0 0x0
122#define BV_ICOLL_INTERRUPTn_PRIORITY__LEVEL1 0x1
123#define BV_ICOLL_INTERRUPTn_PRIORITY__LEVEL2 0x2
124#define BV_ICOLL_INTERRUPTn_PRIORITY__LEVEL3 0x3
125HW_REGISTER(HW_ICOLL_DEBUG, REGS_ICOLL_BASE, 0x00001120)
126#define HW_ICOLL_DEBUG_ADDR (REGS_ICOLL_BASE + 0x00001120)
127#define BP_ICOLL_DEBUG_INSERVICE 28
128#define BM_ICOLL_DEBUG_INSERVICE 0xF0000000
129#define BF_ICOLL_DEBUG_INSERVICE(v) \
130 (((v) << 28) & BM_ICOLL_DEBUG_INSERVICE)
131#define BV_ICOLL_DEBUG_INSERVICE__LEVEL0 0x1
132#define BV_ICOLL_DEBUG_INSERVICE__LEVEL1 0x2
133#define BV_ICOLL_DEBUG_INSERVICE__LEVEL2 0x4
134#define BV_ICOLL_DEBUG_INSERVICE__LEVEL3 0x8
135#define BP_ICOLL_DEBUG_LEVEL_REQUESTS 24
136#define BM_ICOLL_DEBUG_LEVEL_REQUESTS 0x0F000000
137#define BF_ICOLL_DEBUG_LEVEL_REQUESTS(v) \
138 (((v) << 24) & BM_ICOLL_DEBUG_LEVEL_REQUESTS)
139#define BV_ICOLL_DEBUG_LEVEL_REQUESTS__LEVEL0 0x1
140#define BV_ICOLL_DEBUG_LEVEL_REQUESTS__LEVEL1 0x2
141#define BV_ICOLL_DEBUG_LEVEL_REQUESTS__LEVEL2 0x4
142#define BV_ICOLL_DEBUG_LEVEL_REQUESTS__LEVEL3 0x8
143#define BP_ICOLL_DEBUG_REQUESTS_BY_LEVEL 20
144#define BM_ICOLL_DEBUG_REQUESTS_BY_LEVEL 0x00F00000
145#define BF_ICOLL_DEBUG_REQUESTS_BY_LEVEL(v) \
146 (((v) << 20) & BM_ICOLL_DEBUG_REQUESTS_BY_LEVEL)
147#define BV_ICOLL_DEBUG_REQUESTS_BY_LEVEL__LEVEL0 0x1
148#define BV_ICOLL_DEBUG_REQUESTS_BY_LEVEL__LEVEL1 0x2
149#define BV_ICOLL_DEBUG_REQUESTS_BY_LEVEL__LEVEL2 0x4
150#define BV_ICOLL_DEBUG_REQUESTS_BY_LEVEL__LEVEL3 0x8
151#define BM_ICOLL_DEBUG_FIQ 0x00020000
152#define BV_ICOLL_DEBUG_FIQ__NO_FIQ_REQUESTED 0x0
153#define BV_ICOLL_DEBUG_FIQ__FIQ_REQUESTED 0x1
154#define BM_ICOLL_DEBUG_IRQ 0x00010000
155#define BV_ICOLL_DEBUG_IRQ__NO_IRQ_REQUESTED 0x0
156#define BV_ICOLL_DEBUG_IRQ__IRQ_REQUESTED 0x1
157#define BP_ICOLL_DEBUG_VECTOR_FSM 0
158#define BM_ICOLL_DEBUG_VECTOR_FSM 0x000003FF
159#define BF_ICOLL_DEBUG_VECTOR_FSM(v) \
160 (((v) << 0) & BM_ICOLL_DEBUG_VECTOR_FSM)
161#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_IDLE 0x000
162#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_MULTICYCLE1 0x001
163#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_MULTICYCLE2 0x002
164#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_PENDING 0x004
165#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_MULTICYCLE3 0x008
166#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_MULTICYCLE4 0x010
167#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_ISR_RUNNING1 0x020
168#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_ISR_RUNNING2 0x040
169#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_ISR_RUNNING3 0x080
170#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_MULTICYCLE5 0x100
171#define BV_ICOLL_DEBUG_VECTOR_FSM__FSM_MULTICYCLE6 0x200
172HW_REGISTER(HW_ICOLL_DBGREAD0, REGS_ICOLL_BASE, 0x00001130)
173#define HW_ICOLL_DBGREAD0_ADDR (REGS_ICOLL_BASE + 0x00001130)
174#define BP_ICOLL_DBGREAD0_VALUE 0
175#define BM_ICOLL_DBGREAD0_VALUE 0xFFFFFFFF
176#define BF_ICOLL_DBGREAD0_VALUE(v) (v)
177HW_REGISTER(HW_ICOLL_DBGREAD1, REGS_ICOLL_BASE, 0x00001140)
178#define HW_ICOLL_DBGREAD1_ADDR (REGS_ICOLL_BASE + 0x00001140)
179#define BP_ICOLL_DBGREAD1_VALUE 0
180#define BM_ICOLL_DBGREAD1_VALUE 0xFFFFFFFF
181#define BF_ICOLL_DBGREAD1_VALUE(v) (v)
182HW_REGISTER(HW_ICOLL_DBGFLAG, REGS_ICOLL_BASE, 0x00001150)
183#define HW_ICOLL_DBGFLAG_ADDR (REGS_ICOLL_BASE + 0x00001150)
184#define BP_ICOLL_DBGFLAG_FLAG 0
185#define BM_ICOLL_DBGFLAG_FLAG 0x0000FFFF
186#define BF_ICOLL_DBGFLAG_FLAG(v) \
187 (((v) << 0) & BM_ICOLL_DBGFLAG_FLAG)
188/*
189 * multi-register-define name HW_ICOLL_DBGREQUESTn
190 * base 0x00001160
191 * count 4
192 * offset 0x10
193 */
194HW_REGISTER_0_INDEXED(HW_ICOLL_DBGREQUESTn, REGS_ICOLL_BASE, 0x00001160,
195 0x10)
196#define BP_ICOLL_DBGREQUESTn_BITS 0
197#define BM_ICOLL_DBGREQUESTn_BITS 0xFFFFFFFF
198#define BF_ICOLL_DBGREQUESTn_BITS(v) (v)
199HW_REGISTER_0(HW_ICOLL_VERSION, REGS_ICOLL_BASE, 0x000011e0)
200#define HW_ICOLL_VERSION_ADDR (REGS_ICOLL_BASE + 0x000011e0)
201#define BP_ICOLL_VERSION_MAJOR 24
202#define BM_ICOLL_VERSION_MAJOR 0xFF000000
203#define BF_ICOLL_VERSION_MAJOR(v) \
204 (((v) << 24) & BM_ICOLL_VERSION_MAJOR)
205#define BP_ICOLL_VERSION_MINOR 16
206#define BM_ICOLL_VERSION_MINOR 0x00FF0000
207#define BF_ICOLL_VERSION_MINOR(v) \
208 (((v) << 16) & BM_ICOLL_VERSION_MINOR)
209#define BP_ICOLL_VERSION_STEP 0
210#define BM_ICOLL_VERSION_STEP 0x0000FFFF
211#define BF_ICOLL_VERSION_STEP(v) \
212 (((v) << 0) & BM_ICOLL_VERSION_STEP)
213#endif /* __ARCH_ARM___ICOLL_H */