octeon_ciureg.h revision 1.4 1 /* $NetBSD: octeon_ciureg.h,v 1.4 2015/06/06 20:15:35 matt Exp $ */
2
3 /*
4 * Copyright (c) 2007 Internet Initiative Japan, Inc.
5 * All rights reserved.
6 *
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
9 * are met:
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
17 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
20 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26 * SUCH DAMAGE.
27 */
28
29 /*
30 * CIU Registers
31 */
32
33 #ifndef _OCTEON_CIUREG_H_
34 #define _OCTEON_CIUREG_H_
35
36 /* ---- register addresses */
37
38 #define CIU_INT0_SUM0 UINT64_C(0x0001070000000000)
39 #define CIU_INT1_SUM0 UINT64_C(0x0001070000000008)
40 #define CIU_INT2_SUM0 UINT64_C(0x0001070000000010)
41 #define CIU_INT3_SUM0 UINT64_C(0x0001070000000018)
42 #define CIU_INT32_SUM0 UINT64_C(0x0001070000000100)
43 #define CIU_INT_SUM1 UINT64_C(0x0001070000000008)
44 #define CIU_INT0_EN0 UINT64_C(0x0001070000000200)
45 #define CIU_INT1_EN0 UINT64_C(0x0001070000000210)
46 #define CIU_INT2_EN0 UINT64_C(0x0001070000000220)
47 #define CIU_INT3_EN0 UINT64_C(0x0001070000000230)
48 #define CIU_INT32_EN0 UINT64_C(0x0001070000000400)
49 #define CIU_INT0_EN1 UINT64_C(0x0001070000000208)
50 #define CIU_INT1_EN1 UINT64_C(0x0001070000000218)
51 #define CIU_INT2_EN1 UINT64_C(0x0001070000000228)
52 #define CIU_INT3_EN1 UINT64_C(0x0001070000000238)
53 #define CIU_INT32_EN1 UINT64_C(0x0001070000000408)
54 #define CIU_TIM0 UINT64_C(0x0001070000000480)
55 #define CIU_TIM1 UINT64_C(0x0001070000000488)
56 #define CIU_TIM2 UINT64_C(0x0001070000000490)
57 #define CIU_TIM3 UINT64_C(0x0001070000000498)
58 #define CIU_WDOG0 UINT64_C(0x0001070000000500)
59 #define CIU_WDOG1 UINT64_C(0x0001070000000508)
60 #define CIU_PP_POKE0 UINT64_C(0x0001070000000580)
61 #define CIU_PP_POKE1 UINT64_C(0x0001070000000588)
62 #define CIU_MBOX_SET0 UINT64_C(0x0001070000000600)
63 #define CIU_MBOX_SET1 UINT64_C(0x0001070000000608)
64 #define CIU_MBOX_CLR0 UINT64_C(0x0001070000000680)
65 #define CIU_MBOX_CLR1 UINT64_C(0x0001070000000688)
66 #define CIU_PP_RST UINT64_C(0x0001070000000700)
67 #define CIU_PP_DBG UINT64_C(0x0001070000000708)
68 #define CIU_GSTOP UINT64_C(0x0001070000000710)
69 #define CIU_NMI UINT64_C(0x0001070000000718)
70 #define CIU_DINT UINT64_C(0x0001070000000720)
71 #define CIU_FUSE UINT64_C(0x0001070000000728)
72 #define CIU_BIST UINT64_C(0x0001070000000730)
73 #define CIU_SOFT_BIST UINT64_C(0x0001070000000738)
74 #define CIU_SOFT_RST UINT64_C(0x0001070000000740)
75 #define CIU_SOFT_PRST UINT64_C(0x0001070000000748)
76 #define CIU_PCI_INTA UINT64_C(0x0001070000000750)
77 #define CIU_INT4_SUM0 UINT64_C(0x0001070000000c00)
78 #define CIU_INT4_SUM1 UINT64_C(0x0001070000000c08)
79 #define CIU_INT4_EN00 UINT64_C(0x0001070000000c80)
80 #define CIU_INT4_EN01 UINT64_C(0x0001070000000c88)
81 #define CIU_INT4_EN10 UINT64_C(0x0001070000000c90)
82 #define CIU_INT4_EN11 UINT64_C(0x0001070000000c98)
83
84 #define CIU_BASE UINT64_C(0x0001070000000000)
85
86 #define CIU_INT0_SUM0_OFFSET 0x0000
87 #define CIU_INT1_SUM0_OFFSET 0x0008
88 #define CIU_INT2_SUM0_OFFSET 0x0010
89 #define CIU_INT3_SUM0_OFFSET 0x0018
90 #define CIU_INT32_SUM0_OFFSET 0x0100
91 #define CIU_INT_SUM1_OFFSET 0x0008
92 #define CIU_INT0_EN0_OFFSET 0x0200
93 #define CIU_INT1_EN0_OFFSET 0x0210
94 #define CIU_INT2_EN0_OFFSET 0x0220
95 #define CIU_INT3_EN0_OFFSET 0x0230
96 #define CIU_INT32_EN0_OFFSET 0x0400
97 #define CIU_INT0_EN1_OFFSET 0x0208
98 #define CIU_INT1_EN1_OFFSET 0x0218
99 #define CIU_INT2_EN1_OFFSET 0x0228
100 #define CIU_INT3_EN1_OFFSET 0x0238
101 #define CIU_INT32_EN1_OFFSET 0x0408
102 #define CIU_TIM0_OFFSET 0x0480
103 #define CIU_TIM1_OFFSET 0x0488
104 #define CIU_TIM2_OFFSET 0x0490
105 #define CIU_TIM3_OFFSET 0x0498
106 #define CIU_WDOG0_OFFSET 0x0500
107 #define CIU_WDOG1_OFFSET 0x0508
108 #define CIU_PP_POKE0_OFFSET 0x0580
109 #define CIU_PP_POKE1_OFFSET 0x0588
110 #define CIU_MBOX_SET0_OFFSET 0x0600
111 #define CIU_MBOX_SET1_OFFSET 0x0608
112 #define CIU_MBOX_CLR0_OFFSET 0x0680
113 #define CIU_MBOX_CLR1_OFFSET 0x0688
114 #define CIU_PP_RST_OFFSET 0x0700
115 #define CIU_PP_DBG_OFFSET 0x0708
116 #define CIU_GSTOP_OFFSET 0x0710
117 #define CIU_NMI_OFFSET 0x0718
118 #define CIU_DINT_OFFSET 0x0720
119 #define CIU_FUSE_OFFSET 0x0728
120 #define CIU_BIST_OFFSET 0x0730
121 #define CIU_SOFT_BIST_OFFSET 0x0738
122 #define CIU_SOFT_RST_OFFSET 0x0740
123 #define CIU_SOFT_PRST_OFFSET 0x0748
124 #define CIU_PCI_INTA_OFFSET 0x0750
125
126 /* ---- register bits */
127
128 /* ``interrupt bits'' shift values */
129
130 #define _CIU_INT_XXX_63_SHIFT 0x3f
131 #define _CIU_INT_XXX_62_SHIFT 0x3e
132 #define _CIU_INT_XXX_61_SHIFT 0x3d
133 #define _CIU_INT_XXX_60_SHIFT 0x3c
134 #define _CIU_INT_XXX_59_SHIFT 0x3b
135 #define _CIU_INT_MPI_SHIFT 0x3a
136 #define _CIU_INT_PCM_SHIFT 0x39
137 #define _CIU_INT_USB_SHIFT 0x38
138 #define _CIU_INT_TIMER_3_SHIFT 0x37
139 #define _CIU_INT_TIMER_2_SHIFT 0x36
140 #define _CIU_INT_TIMER_1_SHIFT 0x35
141 #define _CIU_INT_TIMER_0_SHIFT 0x34
142 #define _CIU_INT_XXX_51_SHIFT 0x33
143 #define _CIU_INT_IPD_DRP_SHIFT 0x32
144 #define _CIU_INT_GMX_DRP_SHIFT 0x30
145 #define _CIU_INT_TRACE_SHIFT 0x2f
146 #define _CIU_INT_RML_SHIFT 0x2e
147 #define _CIU_INT_TWSI_SHIFT 0x2d
148 #define _CIU_INT_WDOG_SUM_SHIFT 0x2c
149 #define _CIU_INT_PCI_MSI_63_48_SHIFT 0x2b
150 #define _CIU_INT_PCI_MSI_47_32_SHIFT 0x2a
151 #define _CIU_INT_PCI_MSI_31_16_SHIFT 0x29
152 #define _CIU_INT_PCI_MSI_15_0_SHIFT 0x28
153 #define _CIU_INT_PCI_INT_D_SHIFT 0x27
154 #define _CIU_INT_PCI_INT_C_SHIFT 0x26
155 #define _CIU_INT_PCI_INT_B_SHIFT 0x25
156 #define _CIU_INT_PCI_INT_A_SHIFT 0x24
157 #define _CIU_INT_UART_1_SHIFT 0x23
158 #define _CIU_INT_UART_0_SHIFT 0x22
159 #define _CIU_INT_MBOX_31_16_SHIFT 0x21
160 #define _CIU_INT_MBOX_15_0_SHIFT 0x20
161 #define _CIU_INT_GPIO_15_SHIFT 0x1f
162 #define _CIU_INT_GPIO_14_SHIFT 0x1e
163 #define _CIU_INT_GPIO_13_SHIFT 0x1d
164 #define _CIU_INT_GPIO_12_SHIFT 0x1c
165 #define _CIU_INT_GPIO_11_SHIFT 0x1b
166 #define _CIU_INT_GPIO_10_SHIFT 0x1a
167 #define _CIU_INT_GPIO_9_SHIFT 0x19
168 #define _CIU_INT_GPIO_8_SHIFT 0x18
169 #define _CIU_INT_GPIO_7_SHIFT 0x17
170 #define _CIU_INT_GPIO_6_SHIFT 0x16
171 #define _CIU_INT_GPIO_5_SHIFT 0x15
172 #define _CIU_INT_GPIO_4_SHIFT 0x14
173 #define _CIU_INT_GPIO_3_SHIFT 0x13
174 #define _CIU_INT_GPIO_2_SHIFT 0x12
175 #define _CIU_INT_GPIO_1_SHIFT 0x11
176 #define _CIU_INT_GPIO_0_SHIFT 0x10
177 #define _CIU_INT_WORKQ_15_SHIFT 0x0f
178 #define _CIU_INT_WORKQ_14_SHIFT 0x0e
179 #define _CIU_INT_WORKQ_13_SHIFT 0x0d
180 #define _CIU_INT_WORKQ_12_SHIFT 0x0c
181 #define _CIU_INT_WORKQ_11_SHIFT 0x0b
182 #define _CIU_INT_WORKQ_10_SHIFT 0x0a
183 #define _CIU_INT_WORKQ_9_SHIFT 0x09
184 #define _CIU_INT_WORKQ_8_SHIFT 0x08
185 #define _CIU_INT_WORKQ_7_SHIFT 0x07
186 #define _CIU_INT_WORKQ_6_SHIFT 0x06
187 #define _CIU_INT_WORKQ_5_SHIFT 0x05
188 #define _CIU_INT_WORKQ_4_SHIFT 0x04
189 #define _CIU_INT_WORKQ_3_SHIFT 0x03
190 #define _CIU_INT_WORKQ_2_SHIFT 0x02
191 #define _CIU_INT_WORKQ_1_SHIFT 0x01
192
193 #define CIU_INTX_SUM0_XXX_63_59 UINT64_C(0xf800000000000000)
194 #define CIU_INTX_SUM0_MPI UINT64_C(0x0400000000000000)
195 #define CIU_INTX_SUM0_PCM UINT64_C(0x0200000000000000)
196 #define CIU_INTX_SUM0_USB UINT64_C(0x0100000000000000)
197 #define CIU_INTX_SUM0_TIMER UINT64_C(0x00f0000000000000)
198 #define CIU_INTX_SUM0_TIMER_3 UINT64_C(0x0080000000000000)
199 #define CIU_INTX_SUM0_TIMER_2 UINT64_C(0x0040000000000000)
200 #define CIU_INTX_SUM0_TIMER_1 UINT64_C(0x0020000000000000)
201 #define CIU_INTX_SUM0_TIMER_0 UINT64_C(0x0010000000000000)
202 #define CIU_INTX_SUM0_XXX_51 UINT64_C(0x0008000000000000)
203 #define CIU_INTX_SUM0_IPD_DRP UINT64_C(0x0004000000000000)
204 #define CIU_INTX_SUM0_XXX_49 UINT64_C(0x0002000000000000)
205 #define CIU_INTX_SUM0_GMX_DRP UINT64_C(0x0001000000000000)
206 #define CIU_INTX_SUM0_TRACE UINT64_C(0x0000800000000000)
207 #define CIU_INTX_SUM0_RML UINT64_C(0x0000400000000000)
208 #define CIU_INTX_SUM0_TWSI UINT64_C(0x0000200000000000)
209 #define CIU_INTX_SUM0_WDOG_SUM UINT64_C(0x0000100000000000)
210 #define CIU_INTX_SUM0_PCI_MSI UINT64_C(0x00000f0000000000)
211 #define CIU_INTX_SUM0_PCI_MSI_63_48 UINT64_C(0x0000080000000000)
212 #define CIU_INTX_SUM0_PCI_MSI_47_32 UINT64_C(0x0000040000000000)
213 #define CIU_INTX_SUM0_PCI_MSI_31_16 UINT64_C(0x0000020000000000)
214 #define CIU_INTX_SUM0_PCI_MSI_15_0 UINT64_C(0x0000010000000000)
215 #define CIU_INTX_SUM0_PCI_INT UINT64_C(0x000000f000000000)
216 #define CIU_INTX_SUM0_PCI_INT_D UINT64_C(0x0000008000000000)
217 #define CIU_INTX_SUM0_PCI_INT_C UINT64_C(0x0000004000000000)
218 #define CIU_INTX_SUM0_PCI_INT_B UINT64_C(0x0000002000000000)
219 #define CIU_INTX_SUM0_PCI_INT_A UINT64_C(0x0000001000000000)
220 #define CIU_INTX_SUM0_UART UINT64_C(0x0000000c00000000)
221 #define CIU_INTX_SUM0_UART_1 UINT64_C(0x0000000800000000)
222 #define CIU_INTX_SUM0_UART_0 UINT64_C(0x0000000400000000)
223 #define CIU_INTX_SUM0_MBOX UINT64_C(0x0000000300000000)
224 #define CIU_INTX_SUM0_MBOX_31_16 UINT64_C(0x0000000200000000)
225 #define CIU_INTX_SUM0_MBOX_15_0 UINT64_C(0x0000000100000000)
226 #define CIU_INTX_SUM0_GPIO UINT64_C(0x00000000ffff0000)
227 #define CIU_INTX_SUM0_GPIO_15 UINT64_C(0x0000000080000000)
228 #define CIU_INTX_SUM0_GPIO_14 UINT64_C(0x0000000040000000)
229 #define CIU_INTX_SUM0_GPIO_13 UINT64_C(0x0000000020000000)
230 #define CIU_INTX_SUM0_GPIO_12 UINT64_C(0x0000000010000000)
231 #define CIU_INTX_SUM0_GPIO_11 UINT64_C(0x0000000008000000)
232 #define CIU_INTX_SUM0_GPIO_10 UINT64_C(0x0000000004000000)
233 #define CIU_INTX_SUM0_GPIO_9 UINT64_C(0x0000000002000000)
234 #define CIU_INTX_SUM0_GPIO_8 UINT64_C(0x0000000001000000)
235 #define CIU_INTX_SUM0_GPIO_7 UINT64_C(0x0000000000800000)
236 #define CIU_INTX_SUM0_GPIO_6 UINT64_C(0x0000000000400000)
237 #define CIU_INTX_SUM0_GPIO_5 UINT64_C(0x0000000000200000)
238 #define CIU_INTX_SUM0_GPIO_4 UINT64_C(0x0000000000100000)
239 #define CIU_INTX_SUM0_GPIO_3 UINT64_C(0x0000000000080000)
240 #define CIU_INTX_SUM0_GPIO_2 UINT64_C(0x0000000000040000)
241 #define CIU_INTX_SUM0_GPIO_1 UINT64_C(0x0000000000020000)
242 #define CIU_INTX_SUM0_GPIO_0 UINT64_C(0x0000000000010000)
243 #define CIU_INTX_SUM0_WORKQ UINT64_C(0x000000000000ffff)
244 #define CIU_INTX_SUM0_WORKQ_15 UINT64_C(0x0000000000008000)
245 #define CIU_INTX_SUM0_WORKQ_14 UINT64_C(0x0000000000004000)
246 #define CIU_INTX_SUM0_WORKQ_13 UINT64_C(0x0000000000002000)
247 #define CIU_INTX_SUM0_WORKQ_12 UINT64_C(0x0000000000001000)
248 #define CIU_INTX_SUM0_WORKQ_11 UINT64_C(0x0000000000000800)
249 #define CIU_INTX_SUM0_WORKQ_10 UINT64_C(0x0000000000000400)
250 #define CIU_INTX_SUM0_WORKQ_9 UINT64_C(0x0000000000000200)
251 #define CIU_INTX_SUM0_WORKQ_8 UINT64_C(0x0000000000000100)
252 #define CIU_INTX_SUM0_WORKQ_7 UINT64_C(0x0000000000000080)
253 #define CIU_INTX_SUM0_WORKQ_6 UINT64_C(0x0000000000000040)
254 #define CIU_INTX_SUM0_WORKQ_5 UINT64_C(0x0000000000000020)
255 #define CIU_INTX_SUM0_WORKQ_4 UINT64_C(0x0000000000000010)
256 #define CIU_INTX_SUM0_WORKQ_3 UINT64_C(0x0000000000000008)
257 #define CIU_INTX_SUM0_WORKQ_2 UINT64_C(0x0000000000000004)
258 #define CIU_INTX_SUM0_WORKQ_1 UINT64_C(0x0000000000000002)
259 #define CIU_INTX_SUM0_WORKQ_0 UINT64_C(0x0000000000000001)
260
261 #define CIU_INT_SUM1_XXX_63_1 UINT64_C(0xfffffffffffffffe)
262 #define CIU_INT_SUM1_WDOG UINT64_C(0x0000000000000001)
263
264 #define CIU_INTX_EN0_XXX_63_59 UINT64_C(0xf800000000000000)
265 #define CIU_INTX_EN0_MPI UINT64_C(0x0400000000000000)
266 #define CIU_INTX_EN0_PCM UINT64_C(0x0200000000000000)
267 #define CIU_INTX_EN0_USB UINT64_C(0x0100000000000000)
268 #define CIU_INTX_EN0_TIMER UINT64_C(0x00f0000000000000)
269 #define CIU_INTX_EN0_TIMER_3 UINT64_C(0x0080000000000000)
270 #define CIU_INTX_EN0_TIMER_2 UINT64_C(0x0040000000000000)
271 #define CIU_INTX_EN0_TIMER_1 UINT64_C(0x0020000000000000)
272 #define CIU_INTX_EN0_TIMER_0 UINT64_C(0x0010000000000000)
273 #define CIU_INTX_EN0_XXX_51 UINT64_C(0x0008000000000000)
274 #define CIU_INTX_EN0_IPD_DRP UINT64_C(0x0004000000000000)
275 #define CIU_INTX_EN0_XXX_49 UINT64_C(0x0002000000000000)
276 #define CIU_INTX_EN0_GMX_DRP UINT64_C(0x0001000000000000)
277 #define CIU_INTX_EN0_TRACE UINT64_C(0x0000800000000000)
278 #define CIU_INTX_EN0_RML UINT64_C(0x0000400000000000)
279 #define CIU_INTX_EN0_TWSI UINT64_C(0x0000200000000000)
280 #define CIU_INTX_EN0_WDOG_SUM UINT64_C(0x0000100000000000)
281 #define CIU_INTX_EN0_PCI_MSI UINT64_C(0x00000f0000000000)
282 #define CIU_INTX_EN0_PCI_MSI_63_48 UINT64_C(0x0000080000000000)
283 #define CIU_INTX_EN0_PCI_MSI_47_32 UINT64_C(0x0000040000000000)
284 #define CIU_INTX_EN0_PCI_MSI_31_16 UINT64_C(0x0000020000000000)
285 #define CIU_INTX_EN0_PCI_MSI_15_0 UINT64_C(0x0000010000000000)
286 #define CIU_INTX_EN0_PCI_INT UINT64_C(0x000000f000000000)
287 #define CIU_INTX_EN0_PCI_INT_D UINT64_C(0x0000008000000000)
288 #define CIU_INTX_EN0_PCI_INT_C UINT64_C(0x0000004000000000)
289 #define CIU_INTX_EN0_PCI_INT_B UINT64_C(0x0000002000000000)
290 #define CIU_INTX_EN0_PCI_INT_A UINT64_C(0x0000001000000000)
291 #define CIU_INTX_EN0_UART UINT64_C(0x0000000c00000000)
292 #define CIU_INTX_EN0_UART_1 UINT64_C(0x0000000800000000)
293 #define CIU_INTX_EN0_UART_0 UINT64_C(0x0000000400000000)
294 #define CIU_INTX_EN0_MBOX UINT64_C(0x0000000300000000)
295 #define CIU_INTX_EN0_MBOX_31_16 UINT64_C(0x0000000200000000)
296 #define CIU_INTX_EN0_MBOX_15_0 UINT64_C(0x0000000100000000)
297 #define CIU_INTX_EN0_GPIO UINT64_C(0x00000000ffff0000)
298 #define CIU_INTX_EN0_GPIO_15 UINT64_C(0x0000000080000000)
299 #define CIU_INTX_EN0_GPIO_14 UINT64_C(0x0000000040000000)
300 #define CIU_INTX_EN0_GPIO_13 UINT64_C(0x0000000020000000)
301 #define CIU_INTX_EN0_GPIO_12 UINT64_C(0x0000000010000000)
302 #define CIU_INTX_EN0_GPIO_11 UINT64_C(0x0000000008000000)
303 #define CIU_INTX_EN0_GPIO_10 UINT64_C(0x0000000004000000)
304 #define CIU_INTX_EN0_GPIO_9 UINT64_C(0x0000000002000000)
305 #define CIU_INTX_EN0_GPIO_8 UINT64_C(0x0000000001000000)
306 #define CIU_INTX_EN0_GPIO_7 UINT64_C(0x0000000000800000)
307 #define CIU_INTX_EN0_GPIO_6 UINT64_C(0x0000000000400000)
308 #define CIU_INTX_EN0_GPIO_5 UINT64_C(0x0000000000200000)
309 #define CIU_INTX_EN0_GPIO_4 UINT64_C(0x0000000000100000)
310 #define CIU_INTX_EN0_GPIO_3 UINT64_C(0x0000000000080000)
311 #define CIU_INTX_EN0_GPIO_2 UINT64_C(0x0000000000040000)
312 #define CIU_INTX_EN0_GPIO_1 UINT64_C(0x0000000000020000)
313 #define CIU_INTX_EN0_GPIO_0 UINT64_C(0x0000000000010000)
314 #define CIU_INTX_EN0_WORKQ UINT64_C(0x000000000000ffff)
315 #define CIU_INTX_EN0_WORKQ_15 UINT64_C(0x0000000000008000)
316 #define CIU_INTX_EN0_WORKQ_14 UINT64_C(0x0000000000004000)
317 #define CIU_INTX_EN0_WORKQ_13 UINT64_C(0x0000000000002000)
318 #define CIU_INTX_EN0_WORKQ_12 UINT64_C(0x0000000000001000)
319 #define CIU_INTX_EN0_WORKQ_11 UINT64_C(0x0000000000000800)
320 #define CIU_INTX_EN0_WORKQ_10 UINT64_C(0x0000000000000400)
321 #define CIU_INTX_EN0_WORKQ_9 UINT64_C(0x0000000000000200)
322 #define CIU_INTX_EN0_WORKQ_8 UINT64_C(0x0000000000000100)
323 #define CIU_INTX_EN0_WORKQ_7 UINT64_C(0x0000000000000080)
324 #define CIU_INTX_EN0_WORKQ_6 UINT64_C(0x0000000000000040)
325 #define CIU_INTX_EN0_WORKQ_5 UINT64_C(0x0000000000000020)
326 #define CIU_INTX_EN0_WORKQ_4 UINT64_C(0x0000000000000010)
327 #define CIU_INTX_EN0_WORKQ_3 UINT64_C(0x0000000000000008)
328 #define CIU_INTX_EN0_WORKQ_2 UINT64_C(0x0000000000000004)
329 #define CIU_INTX_EN0_WORKQ_1 UINT64_C(0x0000000000000002)
330 #define CIU_INTX_EN0_WORKQ_0 UINT64_C(0x0000000000000001)
331
332 #define CIU_INTX_EN1_XXX_63_1 UINT64_C(0xfffffffffffffffe)
333 #define CIU_INTX_EN1_WDOG UINT64_C(0x0000000000000001)
334
335 #define CIU_TIMX_XXX_63_37 UINT64_C(0xffffffe000000000)
336 #define CIU_TIMX_ONE_SHOT UINT64_C(0x0000001000000000)
337 #define CIU_TIMX_LEN UINT64_C(0x0000000fffffffff)
338
339 #define CIU_WDOGX_XXX_63_46 UINT64_C(0xffffc00000000000)
340 #define CIU_WDOGX_GSTOPEN UINT64_C(0x0000200000000000)
341 #define CIU_WDOGX_DSTOP UINT64_C(0x0000100000000000)
342 #define CIU_WDOGX_CNT UINT64_C(0x00000ffffff00000)
343 #define CIU_WDOGX_LEN UINT64_C(0x00000000000ffff0)
344 #define CIU_WDOGX_STATE UINT64_C(0x000000000000000c)
345 #define CIU_WDOGX_MODE UINT64_C(0x0000000000000003)
346
347 #define CIU_PP_POKEX_XXX_63_0 UINT64_C(0xffffffffffffffff)
348
349 #define CIU_MBOX_SETX_XXX_63_32 UINT64_C(0xffffffff00000000)
350 #define CIU_MBOX_SETX_SET UINT64_C(0x00000000ffffffff)
351
352 #define CIU_MBOX_CLRX_XXX_63_32 UINT64_C(0xffffffff00000000)
353 #define CIU_MBOX_CLRX_CLR UINT64_C(0x00000000ffffffff)
354
355 #define CIU_PP_RST_XXX_63_1 UINT64_C(0xfffffffffffffffe)
356 #define CIU_PP_RST_RST0 UINT64_C(0x0000000000000001)
357
358 #define CIU_PP_DBG_XXX_63_1 UINT64_C(0xfffffffffffffffe)
359 #define CIU_PP_DBG_PPDBG UINT64_C(0x0000000000000001)
360
361 #define CIU_GSTOP_XXX_63_1 UINT64_C(0xfffffffffffffffe)
362 #define CIU_GSTOP_GSTOP UINT64_C(0x0000000000000001)
363
364 #define CIU_NMI_XXX_63_1 UINT64_C(0xfffffffffffffffe)
365 #define CIU_NMI_NMI UINT64_C(0x0000000000000001)
366
367 #define CIU_DINT_XXX_63_1 UINT64_C(0xfffffffffffffffe)
368 #define CIU_DINT_DINT UINT64_C(0x0000000000000001)
369
370 #define CIU_FUSE_XXX_63_1 UINT64_C(0xfffffffffffffffe)
371 #define CIU_FUSE_FUSE UINT64_C(0x0000000000000001)
372
373 #define CIU_BIST_XXX_63_4 UINT64_C(0xfffffffffffffff0)
374 #define CIU_BIST_BIST UINT64_C(0x000000000000000f)
375
376 #define CIU_SOFT_BIST_XXX_63_1 UINT64_C(0xfffffffffffffffe)
377 #define CIU_SOFT_BIST_SOFT_BIST UINT64_C(0x0000000000000001)
378
379 #define CIU_SOFT_RST_XXX_63_1 UINT64_C(0xfffffffffffffffe)
380 #define CIU_SOFT_RST_SOFT_RST UINT64_C(0x0000000000000001)
381
382 #define CIU_SOFT_PRST_XXX_63_1 UINT64_C(0xfffffffffffffff8)
383 #define CIU_SOFT_PRST_HOST64 UINT64_C(0x0000000000000004)
384 #define CIU_SOFT_PRST_NPI UINT64_C(0x0000000000000002)
385 #define CIU_SOFT_PRST_SOFT_PRST UINT64_C(0x0000000000000001)
386
387 #define CIU_PCI_INTA_XXX_63_2 UINT64_C(0xfffffffffffffffc)
388 #define CIU_PCI_INTA_INT UINT64_C(0x0000000000000003)
389
390 /* -- snprintb(9) */
391
392 #define CIU_INTX_SUM0_BITS \
393 "\177" /* new format */ \
394 "\020" /* hex display */ \
395 "\020" /* %016x format */ \
396 "b\x3a" "MPI\0" \
397 "b\x39" "PCM\0" \
398 "b\x38" "USB\0" \
399 "b\x37" "TIMER_3\0" \
400 "b\x36" "TIMER_2\0" \
401 "b\x35" "TIMER_1\0" \
402 "b\x34" "TIMER_0\0" \
403 "f\x34\x04" "TIMER\0" \
404 "b\x32" "IPD_DRP\0" \
405 "b\x30" "GMX_DRP\0" \
406 "b\x2f" "TRACE\0" \
407 "b\x2e" "RML\0" \
408 "b\x2d" "TWSI\0" \
409 "b\x2c" "WDOG_SUM\0" \
410 "b\x2b" "PCI_MSI_63_48\0" \
411 "b\x2a" "PCI_MSI_47_32\0" \
412 "b\x29" "PCI_MSI_31_16\0" \
413 "b\x28" "PCI_MSI_15_0\0" \
414 "f\x28\x04" "PCI_MSI\0" \
415 "b\x27" "PCI_INT_D\0" \
416 "b\x26" "PCI_INT_C\0" \
417 "b\x25" "PCI_INT_B\0" \
418 "f\x24\x04" "PCI_INT\0" \
419 "b\x24" "PCI_INT_A\0" \
420 "b\x23" "UART_1\0" \
421 "b\x22" "UART_0\0" \
422 "f\x22\x02" "UART\0" \
423 "b\x21" "MBOX_31_16\0" \
424 "f\x20\x02" "MBOX\0" \
425 "b\x20" "MBOX_15_0\0" \
426 "b\x1f" "GPIO_15\0" \
427 "b\x1e" "GPIO_14\0" \
428 "b\x1d" "GPIO_13\0" \
429 "b\x1c" "GPIO_12\0" \
430 "b\x1b" "GPIO_11\0" \
431 "b\x1a" "GPIO_10\0" \
432 "b\x19" "GPIO_9\0" \
433 "b\x18" "GPIO_8\0" \
434 "b\x17" "GPIO_7\0" \
435 "b\x16" "GPIO_6\0" \
436 "b\x15" "GPIO_5\0" \
437 "b\x14" "GPIO_4\0" \
438 "b\x13" "GPIO_3\0" \
439 "b\x12" "GPIO_2\0" \
440 "b\x11" "GPIO_1\0" \
441 "b\x10" "GPIO_0\0" \
442 "f\x10\x10" "GPIO\0" \
443 "b\x0f" "WORKQ_15\0" \
444 "b\x0e" "WORKQ_14\0" \
445 "b\x0d" "WORKQ_13\0" \
446 "b\x0c" "WORKQ_12\0" \
447 "b\x0b" "WORKQ_11\0" \
448 "b\x0a" "WORKQ_10\0" \
449 "b\x09" "WORKQ_9\0" \
450 "b\x08" "WORKQ_8\0" \
451 "b\x07" "WORKQ_7\0" \
452 "b\x06" "WORKQ_6\0" \
453 "b\x05" "WORKQ_5\0" \
454 "b\x04" "WORKQ_4\0" \
455 "b\x03" "WORKQ_3\0" \
456 "b\x02" "WORKQ_2\0" \
457 "b\x01" "WORKQ_1\0" \
458 "b\x00" "WORKQ_0\0" \
459 "f\x00\x10" "WORKQ\0"
460 #define CIU_INT0_SUM0_BITS CIU_INTX_SUM0_BITS
461 #define CIU_INT1_SUM0_BITS CIU_INTX_SUM0_BITS
462 #define CIU_INT2_SUM0_BITS CIU_INTX_SUM0_BITS
463 #define CIU_INT3_SUM0_BITS CIU_INTX_SUM0_BITS
464 #define CIU_INT32_SUM0_BITS CIU_INTX_SUM0_BITS
465
466 #define CIU_INT_SUM1_BITS \
467 "\177" /* new format */ \
468 "\020" /* hex display */ \
469 "\020" /* %016x format */ \
470 "b\x00" "WDOG\0"
471
472 #define CIU_INTX_EN0_BITS \
473 "\177" /* new format */ \
474 "\020" /* hex display */ \
475 "\020" /* %016x format */ \
476 "b\x3a" "MPI\0" \
477 "b\x39" "PCM\0" \
478 "b\x38" "USB\0" \
479 "b\x37" "TIMER_3\0" \
480 "b\x36" "TIMER_2\0" \
481 "b\x35" "TIMER_1\0" \
482 "b\x34" "TIMER_0\0" \
483 "f\x34\x04" "TIMER\0" \
484 "b\x32" "IPD_DRP\0" \
485 "b\x30" "GMX_DRP\0" \
486 "b\x2f" "TRACE\0" \
487 "b\x2e" "RML\0" \
488 "b\x2d" "TWSI\0" \
489 "b\x2c" "WDOG_SUM\0" \
490 "b\x2b" "PCI_MSI_63_48\0" \
491 "b\x2a" "PCI_MSI_47_32\0" \
492 "b\x29" "PCI_MSI_31_16\0" \
493 "b\x28" "PCI_MSI_15_0\0" \
494 "f\x28\x04" "PCI_MSI\0" \
495 "b\x27" "PCI_INT_D\0" \
496 "b\x26" "PCI_INT_C\0" \
497 "b\x25" "PCI_INT_B\0" \
498 "f\x24\x04" "PCI_INT\0" \
499 "b\x24" "PCI_INT_A\0" \
500 "b\x23" "UART_1\0" \
501 "b\x22" "UART_0\0" \
502 "f\x22\x02" "UART\0" \
503 "b\x21" "MBOX_31_16\0" \
504 "f\x20\x02" "MBOX\0" \
505 "b\x20" "MBOX_15_0\0" \
506 "b\x1f" "GPIO_15\0" \
507 "b\x1e" "GPIO_14\0" \
508 "b\x1d" "GPIO_13\0" \
509 "b\x1c" "GPIO_12\0" \
510 "b\x1b" "GPIO_11\0" \
511 "b\x1a" "GPIO_10\0" \
512 "b\x19" "GPIO_9\0" \
513 "b\x18" "GPIO_8\0" \
514 "b\x17" "GPIO_7\0" \
515 "b\x16" "GPIO_6\0" \
516 "b\x15" "GPIO_5\0" \
517 "b\x14" "GPIO_4\0" \
518 "b\x13" "GPIO_3\0" \
519 "b\x12" "GPIO_2\0" \
520 "b\x11" "GPIO_1\0" \
521 "b\x10" "GPIO_0\0" \
522 "f\x10\x10" "GPIO\0" \
523 "b\x0f" "WORKQ_15\0" \
524 "b\x0e" "WORKQ_14\0" \
525 "b\x0d" "WORKQ_13\0" \
526 "b\x0c" "WORKQ_12\0" \
527 "b\x0b" "WORKQ_11\0" \
528 "b\x0a" "WORKQ_10\0" \
529 "b\x09" "WORKQ_9\0" \
530 "b\x08" "WORKQ_8\0" \
531 "b\x07" "WORKQ_7\0" \
532 "b\x06" "WORKQ_6\0" \
533 "b\x05" "WORKQ_5\0" \
534 "b\x04" "WORKQ_4\0" \
535 "b\x03" "WORKQ_3\0" \
536 "b\x02" "WORKQ_2\0" \
537 "b\x01" "WORKQ_1\0" \
538 "b\x00" "WORKQ_0\0" \
539 "f\x00\x10" "WORKQ\0"
540 #define CIU_INT0_EN0_BITS CIU_INTX_EN0_BITS
541 #define CIU_INT1_EN0_BITS CIU_INTX_EN0_BITS
542 #define CIU_INT2_EN0_BITS CIU_INTX_EN0_BITS
543 #define CIU_INT3_EN0_BITS CIU_INTX_EN0_BITS
544 #define CIU_INT32_EN0_BITS CIU_INTX_EN0_BITS
545
546 #define CIU_INTX_EN1_BITS \
547 "\177" /* new format */ \
548 "\020" /* hex display */ \
549 "\020" /* %016x format */ \
550 "b\x00" "WDOG\0"
551 #define CIU_INT0_EN1_BITS CIU_INTX_EN1_BITS
552 #define CIU_INT1_EN1_BITS CIU_INTX_EN1_BITS
553 #define CIU_INT2_EN1_BITS CIU_INTX_EN1_BITS
554 #define CIU_INT3_EN1_BITS CIU_INTX_EN1_BITS
555 #define CIU_INT32_EN1_BITS CIU_INTX_EN1_BITS
556
557 #define CIU_TIMX_BITS \
558 "\177" /* new format */ \
559 "\020" /* hex display */ \
560 "\020" /* %016x format */ \
561 "b\x24" "ONE_SHOT\0" \
562 "f\x00\x24" "LEN\0"
563 #define CIU_TIM0_BITS CIU_TIMX_BITS
564 #define CIU_TIM1_BITS CIU_TIMX_BITS
565 #define CIU_TIM2_BITS CIU_TIMX_BITS
566 #define CIU_TIM3_BITS CIU_TIMX_BITS
567 #define CIU_TIM32_BITS CIU_TIMX_BITS
568
569 #define CIU_WDOGX_BITS \
570 "\177" /* new format */ \
571 "\020" /* hex display */ \
572 "\020" /* %016x format */ \
573 "b\x2d" "GSTOPEN\0" \
574 "b\x2c" "DSTOP\0" \
575 "f\x14\x18" "CNT\0" \
576 "f\x04\x10" "LEN\0" \
577 "f\x02\x02" "STATE\0" \
578 "f\x00\x02" "MODE\0"
579 #define CIU_WDOG0_BITS CIU_WDOGX_BITS
580 #define CIU_WDOG1_BITS CIU_WDOGX_BITS
581
582 #if 0
583 #define CIU_PP_POKEX_BITS \
584 "\177" /* new format */ \
585 "\020" /* hex display */ \
586 "\020" /* %016x format */ \
587
588 #define CIU_PP_POKE0_BITS CIU_PP_POKEX_BITS
589 #define CIU_PP_POKE1_BITS CIU_PP_POKEX_BITS
590 #endif
591
592 #define CIU_MBOX_SETX_BITS \
593 "\177" /* new format */ \
594 "\020" /* hex display */ \
595 "\020" /* %016x format */ \
596 "f\x00\x20" "SET\0"
597 #define CIU_MBOX_SET0_BITS CIU_MBOX_SETX_BITS
598 #define CIU_MBOX_SET1_BITS CIU_MBOX_SETX_BITS
599
600 #define CIU_MBOX_CLRX_BITS \
601 "\177" /* new format */ \
602 "\020" /* hex display */ \
603 "\020" /* %016x format */ \
604 "f\x00\x20" "CLR\0"
605 #define CIU_MBOX_CLR0_BITS CIU_MBOX_CLRX_BITS
606 #define CIU_MBOX_CLR1_BITS CIU_MBOX_CLRX_BITS
607
608 #define CIU_PP_RST_BITS \
609 "\177" /* new format */ \
610 "\020" /* hex display */ \
611 "\020" /* %016x format */ \
612 "b\x00" "RST0\0"
613
614 #define CIU_PP_DBG_BITS \
615 "\177" /* new format */ \
616 "\020" /* hex display */ \
617 "\020" /* %016x format */ \
618 "b\x00" "PPDBG\0"
619
620 #define CIU_GSTOP_BITS \
621 "\177" /* new format */ \
622 "\020" /* hex display */ \
623 "\020" /* %016x format */ \
624 "b\x00" "GSTOP\0"
625
626 #define CIU_NMI_BITS \
627 "\177" /* new format */ \
628 "\020" /* hex display */ \
629 "\020" /* %016x format */ \
630 "b\x00" "NMI\0"
631
632 #define CIU_DINT_BITS \
633 "\177" /* new format */ \
634 "\020" /* hex display */ \
635 "\020" /* %016x format */ \
636 "b\x00" "DINT\0"
637
638 #define CIU_FUSE_BITS \
639 "\177" /* new format */ \
640 "\020" /* hex display */ \
641 "\020" /* %016x format */ \
642 "b\x00" "FUSE\0"
643
644 #define CIU_BIST_BITS \
645 "\177" /* new format */ \
646 "\020" /* hex display */ \
647 "\020" /* %016x format */ \
648 "f\x00\x04" "BIST\0"
649
650 #define CIU_SOFT_BIST_BITS \
651 "\177" /* new format */ \
652 "\020" /* hex display */ \
653 "\020" /* %016x format */ \
654 "b\x00" "SOFT_BIST\0"
655
656 #define CIU_SOFT_RST_BITS \
657 "\177" /* new format */ \
658 "\020" /* hex display */ \
659 "\020" /* %016x format */ \
660 "b\x00" "SOFT_RST\0"
661
662 #define CIU_SOFT_PRST_BITS \
663 "\177" /* new format */ \
664 "\020" /* hex display */ \
665 "\020" /* %016x format */ \
666 "b\x02" "HOST64\0" \
667 "b\x01" "NPI\0" \
668 "b\x00" "SOFT_PRST\0"
669
670 #define CIU_PCI_INTA_BITS \
671 "\177" /* new format */ \
672 "\020" /* hex display */ \
673 "\020" /* %016x format */ \
674 "f\x00\x02" "INT\0"
675
676 #endif /* _OCTEON_CIUREG_H_ */
677