xref: /netbsd-src/sys/arch/arm/imx/imx23_digctlreg.h (revision 94de07308fa702688d56949a9efc73b223f72255)
1 /* $Id: imx23_digctlreg.h,v 1.2 2013/10/07 17:36:40 matt Exp $ */
2 
3 /*
4  * Copyright (c) 2012 The NetBSD Foundation, Inc.
5  * All rights reserved.
6  *
7  * This code is derived from software contributed to The NetBSD Foundation
8  * by Petri Laakso.
9  *
10  * Redistribution and use in source and binary forms, with or without
11  * modification, are permitted provided that the following conditions
12  * are met:
13  * 1. Redistributions of source code must retain the above copyright
14  *    notice, this list of conditions and the following disclaimer.
15  * 2. Redistributions in binary form must reproduce the above copyright
16  *    notice, this list of conditions and the following disclaimer in the
17  *    documentation and/or other materials provided with the distribution.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29  * POSSIBILITY OF SUCH DAMAGE.
30  */
31 
32 #ifndef _ARM_IMX_IMX23_DIGCTLREG_H_
33 #define _ARM_IMX_IMX23_DIGCTLREG_H_
34 
35 #include <sys/cdefs.h>
36 
37 #define HW_DIGCTL_BASE 0x8001C000
38 #define HW_DIGCTL_SIZE 0x2000
39 
40 /*
41  * DIGCTL Control Register.
42  */
43 #define HW_DIGCTL_CTRL		0x000
44 #define HW_DIGCTL_CTRL_SET	0x004
45 #define HW_DIGCTL_CTRL_CLR	0x008
46 #define HW_DIGCTL_CTRL_TOG	0x00C
47 
48 #define HW_DIGCTL_CTRL_RSVD3			__BIT(31)
49 #define HW_DIGCTL_CTRL_XTAL24M_GATE		__BIT(30)
50 #define HW_DIGCTL_CTRL_TRAP_IRQ			__BIT(29)
51 #define HW_DIGCTL_CTRL_RSVD2			__BITS(28, 27)
52 #define HW_DIGCTL_CTRL_CACHE_BIST_TMODE		__BIT(26)
53 #define HW_DIGCTL_CTRL_LCD_BIST_CLKEN		__BIT(25)
54 #define HW_DIGCTL_CTRL_LCD_BIST_START		__BIT(24)
55 #define HW_DIGCTL_CTRL_DCP_BIST_CLKEN		__BIT(23)
56 #define HW_DIGCTL_CTRL_DCP_BIST_START		__BIT(22)
57 #define HW_DIGCTL_CTRL_ARM_BIST_CLKEN		__BIT(21)
58 #define HW_DIGCTL_CTRL_USB_TESTMODE		__BIT(20)
59 #define HW_DIGCTL_CTRL_ANALOG_TESTMODE		__BIT(19)
60 #define HW_DIGCTL_CTRL_DIGITAL_TESTMODE		__BIT(18)
61 #define HW_DIGCTL_CTRL_ARM_BIST_START		__BIT(17)
62 #define HW_DIGCTL_CTRL_UART_LOOPBACK		__BIT(16)
63 #define HW_DIGCTL_CTRL_SAIF_LOOPBACK		__BIT(15)
64 #define HW_DIGCTL_CTRL_SAIF_CLKMUX_SEL		__BITS(14, 13)
65 #define HW_DIGCTL_CTRL_SAIF_CLKMST_SEL		__BIT(12)
66 #define HW_DIGCTL_CTRL_SAIF_ALT_BITCLK_SEL	__BIT(11)
67 #define HW_DIGCTL_CTRL_RSVD1			__BIT(10)
68 #define HW_DIGCTL_CTRL_SY_ENDIAN		__BIT(9)
69 #define HW_DIGCTL_CTRL_SY_SFTRST		__BIT(8)
70 #define HW_DIGCTL_CTRL_SY_CLKGATE		__BIT(7)
71 #define HW_DIGCTL_CTRL_USE_SERIAL_JTAG		__BIT(6)
72 #define HW_DIGCTL_CTRL_TRAP_IN_RANGE		__BIT(5)
73 #define HW_DIGCTL_CTRL_TRAP_ENABLE		__BIT(4)
74 #define HW_DIGCTL_CTRL_DEBUG_DISABLE		__BIT(3)
75 #define HW_DIGCTL_CTRL_USB_CLKGATE		__BIT(2)
76 #define HW_DIGCTL_CTRL_JTAG_SHIELD		__BIT(1)
77 #define HW_DIGCTL_CTRL_LATCH_ENTROPY		__BIT(0)
78 
79 /*
80  * DIGCTL Status Register.
81  */
82 #define HW_DIGCTL_STATUS	0x010
83 #define HW_DIGCTL_STATUS_SET	0x014
84 #define HW_DIGCTL_STATUS_CLR	0x018
85 #define HW_DIGCTL_STATUS_TOG	0x01C
86 
87 #define HW_DIGCTL_STATUS_USB_HS_PRESENT		__BIT(31)
88 #define HW_DIGCTL_STATUS_USB_OTG_PRESENT	__BIT(30)
89 #define HW_DIGCTL_STATUS_USB_HOST_PRESENT	__BIT(29)
90 #define HW_DIGCTL_STATUS_USB_DEVICE_PRESENT	__BIT(28)
91 #define HW_DIGCTL_STATUS_RSVD2			__BITS(27, 11)
92 #define HW_DIGCTL_STATUS_DCP_BIST_FAIL		__BIT(10)
93 #define HW_DIGCTL_STATUS_DCP_BIST_PASS		__BIT(9)
94 #define HW_DIGCTL_STATUS_DCP_BIST_DONE		__BIT(8)
95 #define HW_DIGCTL_STATUS_LCD_BIST_FAIL		__BIT(7)
96 #define HW_DIGCTL_STATUS_LCD_BIST_PASS		__BIT(6)
97 #define HW_DIGCTL_STATUS_LCD_BIST_DONE		__BIT(5)
98 #define HW_DIGCTL_STATUS_JTAG_IN_USE		__BIT(4)
99 #define HW_DIGCTL_STATUS_PACKAGE_TYPE		__BITS(3, 1)
100 #define HW_DIGCTL_STATUS_WRITTEN		__BIT(0)
101 
102 /*
103  * Free-Running HCLK Counter Register.
104  */
105 #define HW_DIGCTL_HCLKCOUNT	0x020
106 #define HW_DIGCTL_HCLKCOUNT_SET	0x024
107 #define HW_DIGCTL_HCLKCOUNT_CLR	0x028
108 #define HW_DIGCTL_HCLKCOUNT_TOG	0x02C
109 
110 #define HW_DIGCTL_HCLKCOUNT_COUNT	__BITS(31, 0)
111 
112 /*
113  * On-Chip RAM Control Register.
114  */
115 #define HW_DIGCTL_RAMCTRL	0x030
116 #define HW_DIGCTL_RAMCTRL_SET	0x034
117 #define HW_DIGCTL_RAMCTRL_CLR	0x038
118 #define HW_DIGCTL_RAMCTRL_TOG	0x03C
119 
120 #define HW_DIGCTL_RAMCTRL_RSVD1		__BITS(31, 12)
121 #define HW_DIGCTL_RAMCTRL_SPEED_SELECT	__BITS(11, 8)
122 #define HW_DIGCTL_RAMCTRL_RSVD0		__BITS(7, 1)
123 #define HW_DIGCTL_RAMCTRL_RAM_REPAIR_EN	__BIT(0)
124 
125 /*
126  * On-Chip RAM Repair Address Register.
127  */
128 #define HW_DIGCTL_RAMREPAIR	0x040
129 #define HW_DIGCTL_RAMREPAIR_SET	0x044
130 #define HW_DIGCTL_RAMREPAIR_CLR	0x048
131 #define HW_DIGCTL_RAMREPAIR_TOG	0x04C
132 
133 #define HW_DIGCTL_RAMREPAIR_RSVD1	__BITS(31, 16)
134 #define HW_DIGCTL_RAMREPAIR_ADDR	__BITS(15, 0)
135 
136 /*
137  * On-Chip ROM Control Register.
138  */
139 #define HW_DIGCTL_ROMCTRL	0x050
140 #define HW_DIGCTL_ROMCTRL_SET	0x054
141 #define HW_DIGCTL_ROMCTRL_CLR	0x058
142 #define HW_DIGCTL_ROMCTRL_TOG	0x05C
143 
144 #define HW_DIGCTL_ROMCTRL_RSVD0		__BITS(31, 4)
145 #define HW_DIGCTL_ROMCTRL_RD_MARGIN	__BITS(3, 0)
146 
147 /*
148  * Software Write-Once Register.
149  */
150 #define HW_DIGCTL_WRITEONCE	0x060
151 
152 #define HW_DIGCTL_WRITEONCE_BITS	__BITS(31, 0)
153 
154 /*
155  * Entropy Register.
156  */
157 #define HW_DIGCTL_ENTROPY	0x090
158 
159 #define HW_DIGCTL_ENTROPY_VALUE	__BITS(31, 0)
160 
161 /*
162  * Entropy Latched Register.
163  */
164 #define HW_DIGCTL_ENTROPY_LATCHED	0x0A0
165 
166 #define HW_DIGCTL_ENTROPY_VALUE	__BITS(31, 0)
167 
168 /*
169  * SJTAG Debug Register.
170  */
171 #define HW_DIGCTL_SJTAGDBG	0x0B0
172 #define HW_DIGCTL_SJTAGDBG_SET	0x0B4
173 #define HW_DIGCTL_SJTAGDBG_CLR	0x0B8
174 #define HW_DIGCTL_SJTAGDBG_TOG	0x0BC
175 
176 #define HW_DIGCTL_SJTAGDBG_RSVD2		__BITS(31, 27)
177 #define HW_DIGCTL_SJTAGDBG_SJTAG_STATE		__BITS(26, 16)
178 #define HW_DIGCTL_SJTAGDBG_RSVD1		__BITS(15, 11)
179 #define HW_DIGCTL_SJTAGDBG_SJTAG_TDO		__BIT(10)
180 #define HW_DIGCTL_SJTAGDBG_SJTAG_TDI		__BIT(9)
181 #define HW_DIGCTL_SJTAGDBG_SJTAG_MODE		__BIT(8)
182 #define HW_DIGCTL_SJTAGDBG_DELAYED_ACTIVE	__BITS(7, 4)
183 #define HW_DIGCTL_SJTAGDBG_ACTIVE		__BIT(3)
184 #define HW_DIGCTL_SJTAGDBG_SJTAG_PIN_STATE	__BIT(2)
185 #define HW_DIGCTL_SJTAGDBG_SJTAG_DEBUG_DATA	__BIT(1)
186 #define HW_DIGCTL_SJTAGDBG_SJTAG_DEBUG_OE	__BIT(0)
187 
188 /*
189  * Digital Control Microseconds Counter Register.
190  */
191 #define HW_DIGCTL_MICROSECONDS		0x0C0
192 #define HW_DIGCTL_MICROSECONDS_SET	0x0C4
193 #define HW_DIGCTL_MICROSECONDS_CLR	0x0C8
194 #define HW_DIGCTL_MICROSECONDS_TOG	0x0CC
195 
196 #define HW_DIGCTL_MICROSECONDS_VALUE	__BITS(31, 0)
197 
198 /*
199  * Digital Control Debug Read Test Register.
200  */
201 #define HW_DIGCTL_DBGRD	0x0D0
202 
203 #define HW_DIGCTL_DBGRD_COMPLEMENT	__BITS(31, 0)
204 
205 /*
206  * Digital Control Debug Register.
207  */
208 #define HW_DIGCTL_DBG	0x0E0
209 
210 #define HW_DIGCTL_DBG_VALUE	__BITS(31, 0)
211 
212 /*
213  * SRAM BIST Control and Status Register.
214  */
215 #define HW_DIGCTL_OCRAM_BIST_CSR	0x0F0
216 #define HW_DIGCTL_OCRAM_BIST_CSR_SET	0x0F4
217 #define HW_DIGCTL_OCRAM_BIST_CSR_CLR	0x0F8
218 #define HW_DIGCTL_OCRAM_BIST_CSR_TOG	0x0FC
219 
220 #define HW_DIGCTL_OCRAM_BIST_CSR_RSVD1			__BITS(31, 11)
221 #define HW_DIGCTL_OCRAM_BIST_CSR_BIST_DEBUG_MODE	__BIT(10)
222 #define HW_DIGCTL_OCRAM_BIST_CSR_BIST_DATA_CHANGE	__BIT(9)
223 #define HW_DIGCTL_OCRAM_BIST_CSR_BIST_CLKEN		__BIT(8)
224 #define HW_DIGCTL_OCRAM_BIST_CSR_RSVD0			__BITS(7, 4)
225 #define HW_DIGCTL_OCRAM_BIST_CSR_FAIL			__BIT(3)
226 #define HW_DIGCTL_OCRAM_BIST_CSR_PASS			__BIT(2)
227 #define HW_DIGCTL_OCRAM_BIST_CSR_DONE			__BIT(1)
228 #define HW_DIGCTL_OCRAM_BIST_CSR_START			__BIT(0)
229 
230 /*
231  * SRAM Status Register 0.
232  */
233 #define HW_DIGCTL_OCRAM_STATUS0		0x110
234 #define HW_DIGCTL_OCRAM_STATUS0_SET	0x114
235 #define HW_DIGCTL_OCRAM_STATUS0_CLR	0x118
236 #define HW_DIGCTL_OCRAM_STATUS0_TOG	0x11C
237 
238 #define HW_DIGCTL_OCRAM_STATUS0_FAILDATA00	__BITS(31, 0)
239 
240 /*
241  * SRAM Status Register 1.
242  */
243 #define HW_DIGCTL_OCRAM_STATUS1		0x120
244 #define HW_DIGCTL_OCRAM_STATUS1_SET	0x124
245 #define HW_DIGCTL_OCRAM_STATUS1_CLR	0x128
246 #define HW_DIGCTL_OCRAM_STATUS1_TOG	0x12C
247 
248 #define HW_DIGCTL_OCRAM_STATUS1_FAILDATA01	__BITS(31, 0)
249 
250 /*
251  * SRAM Status Register 2.
252  */
253 #define HW_DIGCTL_OCRAM_STATUS2		0x130
254 #define HW_DIGCTL_OCRAM_STATUS2_SET	0x134
255 #define HW_DIGCTL_OCRAM_STATUS2_CLR	0x138
256 #define HW_DIGCTL_OCRAM_STATUS2_TOG	0x13C
257 
258 #define HW_DIGCTL_OCRAM_STATUS2_FAILDATA10	__BITS(31, 0)
259 
260 /*
261  * SRAM Status Register 3.
262  */
263 #define HW_DIGCTL_OCRAM_STATUS3		0x140
264 #define HW_DIGCTL_OCRAM_STATUS3_SET	0x144
265 #define HW_DIGCTL_OCRAM_STATUS3_CLR	0x148
266 #define HW_DIGCTL_OCRAM_STATUS3_TOG	0x14C
267 
268 #define HW_DIGCTL_OCRAM_STATUS3_FAILDATA20	__BITS(31, 0)
269 
270 /*
271  * SRAM Status Register 4.
272  */
273 #define HW_DIGCTL_OCRAM_STATUS4		0x150
274 #define HW_DIGCTL_OCRAM_STATUS4_SET	0x154
275 #define HW_DIGCTL_OCRAM_STATUS4_CLR	0x158
276 #define HW_DIGCTL_OCRAM_STATUS4_TOG	0x15C
277 
278 #define HW_DIGCTL_OCRAM_STATUS4_FAILDATA20	__BITS(31, 0)
279 
280 /*
281  * SRAM Status Register 5.
282  */
283 #define HW_DIGCTL_OCRAM_STATUS5		0x160
284 #define HW_DIGCTL_OCRAM_STATUS5_SET	0x164
285 #define HW_DIGCTL_OCRAM_STATUS5_CLR	0x168
286 #define HW_DIGCTL_OCRAM_STATUS5_TOG	0x16C
287 
288 #define HW_DIGCTL_OCRAM_STATUS5_FAILDATA21	__BITS(31, 0)
289 
290 /*
291  * SRAM Status Register 6.
292  */
293 #define HW_DIGCTL_OCRAM_STATUS6		0x170
294 #define HW_DIGCTL_OCRAM_STATUS6_SET	0x174
295 #define HW_DIGCTL_OCRAM_STATUS6_CLR	0x178
296 #define HW_DIGCTL_OCRAM_STATUS6_TOG	0x17C
297 
298 #define HW_DIGCTL_OCRAM_STATUS6_FAILDATA30	__BITS(31, 0)
299 
300 /*
301  * SRAM Status Register 7.
302  */
303 #define HW_DIGCTL_OCRAM_STATUS7		0x180
304 #define HW_DIGCTL_OCRAM_STATUS7_SET	0x184
305 #define HW_DIGCTL_OCRAM_STATUS7_CLR	0x188
306 #define HW_DIGCTL_OCRAM_STATUS7_TOG	0x18C
307 
308 #define HW_DIGCTL_OCRAM_STATUS7_FAILDATA31	__BITS(31, 0)
309 
310 /*
311  * SRAM Status Register 8.
312  */
313 #define HW_DIGCTL_OCRAM_STATUS8		0x190
314 #define HW_DIGCTL_OCRAM_STATUS8_SET	0x194
315 #define HW_DIGCTL_OCRAM_STATUS8_CLR	0x198
316 #define HW_DIGCTL_OCRAM_STATUS8_TOG	0x19C
317 
318 #define HW_DIGCTL_OCRAM_STATUS8_RSVD3		__BITS(31, 29)
319 #define HW_DIGCTL_OCRAM_STATUS8_FAILADDR01	__BITS(28, 16)
320 #define HW_DIGCTL_OCRAM_STATUS8_RSVD2		__BITS(15, 13)
321 #define HW_DIGCTL_OCRAM_STATUS8_FAILADDR00	__BITS(12, 0)
322 
323 /*
324  * SRAM Status Register 9.
325  */
326 #define HW_DIGCTL_OCRAM_STATUS9		0x1A0
327 #define HW_DIGCTL_OCRAM_STATUS9_SET	0x1A4
328 #define HW_DIGCTL_OCRAM_STATUS9_CLR	0x1A8
329 #define HW_DIGCTL_OCRAM_STATUS9_TOG	0x1AC
330 
331 #define HW_DIGCTL_OCRAM_STATUS9_RSVD3		__BITS(31, 29)
332 #define HW_DIGCTL_OCRAM_STATUS9_FAILADDR11	__BITS(28, 16)
333 #define HW_DIGCTL_OCRAM_STATUS9_RSVD2		__BITS(15, 13)
334 #define HW_DIGCTL_OCRAM_STATUS9_FAILADDR10	__BITS(12, 0)
335 
336 /*
337  * SRAM Status Register 10.
338  */
339 #define HW_DIGCTL_OCRAM_STATUS10	0x1B0
340 #define HW_DIGCTL_OCRAM_STATUS10_SET	0x1B4
341 #define HW_DIGCTL_OCRAM_STATUS10_CLR	0x1B8
342 #define HW_DIGCTL_OCRAM_STATUS10_TOG	0x1BC
343 
344 #define HW_DIGCTL_OCRAM_STATUS10_RSVD3		__BITS(31, 29)
345 #define HW_DIGCTL_OCRAM_STATUS10_FAILADDR21	__BITS(28, 16)
346 #define HW_DIGCTL_OCRAM_STATUS10_RSVD2		__BITS(15, 13)
347 #define HW_DIGCTL_OCRAM_STATUS10_FAILADDR20	__BITS(12, 0)
348 
349 /*
350  * SRAM Status Register 11.
351  */
352 #define HW_DIGCTL_OCRAM_STATUS11	0x1C0
353 #define HW_DIGCTL_OCRAM_STATUS11_SET	0x1C4
354 #define HW_DIGCTL_OCRAM_STATUS11_CLR	0x1C8
355 #define HW_DIGCTL_OCRAM_STATUS11_TOG	0x1CC
356 
357 #define HW_DIGCTL_OCRAM_STATUS11_RSVD3		__BITS(31, 29)
358 #define HW_DIGCTL_OCRAM_STATUS11_FAILADDR31	__BITS(28, 16)
359 #define HW_DIGCTL_OCRAM_STATUS11_RSVD2		__BITS(15, 13)
360 #define HW_DIGCTL_OCRAM_STATUS11_FAILADDR30	__BITS(12, 0)
361 
362 /*
363  * SRAM Status Register 12.
364  */
365 #define HW_DIGCTL_OCRAM_STATUS12	0x1D0
366 #define HW_DIGCTL_OCRAM_STATUS12_SET	0x1D4
367 #define HW_DIGCTL_OCRAM_STATUS12_CLR	0x1D8
368 #define HW_DIGCTL_OCRAM_STATUS12_TOG	0x1DC
369 
370 #define HW_DIGCTL_OCRAM_STATUS12_RSVD3		__BITS(31, 28)
371 #define HW_DIGCTL_OCRAM_STATUS12_FAILSTATE11	__BITS(27, 24)
372 #define HW_DIGCTL_OCRAM_STATUS12_RSVD2		__BITS(23, 20)
373 #define HW_DIGCTL_OCRAM_STATUS12_FAILSTATE10	__BITS(19, 16)
374 #define HW_DIGCTL_OCRAM_STATUS12_RSVD1		__BITS(15, 12)
375 #define HW_DIGCTL_OCRAM_STATUS12_FAILSTATE01	__BITS(11, 8)
376 #define HW_DIGCTL_OCRAM_STATUS12_RSVD0		__BITS(7, 4)
377 #define HW_DIGCTL_OCRAM_STATUS12_FAILSTATE00	__BITS(3, 0)
378 
379 /*
380  * SRAM Status Register 13.
381  */
382 #define HW_DIGCTL_OCRAM_STATUS13	0x1E0
383 #define HW_DIGCTL_OCRAM_STATUS13_SET	0x1E4
384 #define HW_DIGCTL_OCRAM_STATUS13_CLR	0x1E8
385 #define HW_DIGCTL_OCRAM_STATUS13_TOG	0x1EC
386 
387 #define HW_DIGCTL_OCRAM_STATUS13_RSVD3		__BITS(31, 28)
388 #define HW_DIGCTL_OCRAM_STATUS13_FAILSTATE31	__BITS(27, 24)
389 #define HW_DIGCTL_OCRAM_STATUS13_RSVD2		__BITS(23, 20)
390 #define HW_DIGCTL_OCRAM_STATUS13_FAILSTATE30	__BITS(19, 16)
391 #define HW_DIGCTL_OCRAM_STATUS13_RSVD1		__BITS(15, 12)
392 #define HW_DIGCTL_OCRAM_STATUS13_FAILSTATE21	__BITS(11, 8)
393 #define HW_DIGCTL_OCRAM_STATUS13_RSVD0		__BITS(7, 4)
394 #define HW_DIGCTL_OCRAM_STATUS13_FAILSTATE20	__BITS(3, 0)
395 
396 /*
397  * Digital Control Scratch Register 0.
398  */
399 #define HW_DIGCTL_SCRATCH0	0x290
400 
401 #define HW_DIGCTL_SCRATCH0_PTR	__BITS(31, 0)
402 
403 /*
404  * Digital Control Scratch Register 1.
405  */
406 #define HW_DIGCTL_SCRATCH1	0x2A0
407 
408 #define HW_DIGCTL_SCRATCH1_PTR	__BITS(31, 0)
409 
410 /*
411  * Digital Control ARM Cache Register.
412  */
413 #define HW_DIGCTL_ARMCACHE	0x2B0
414 
415 #define HW_DIGCTL_ARMCACHE_RSVD4	__BITS(31, 18)
416 #define HW_DIGCTL_ARMCACHE_VALID_SS	__BITS(17, 16)
417 #define HW_DIGCTL_ARMCACHE_RSVD3	__BITS(15, 14)
418 #define HW_DIGCTL_ARMCACHE_DRTY_SS	__BITS(13, 12)
419 #define HW_DIGCTL_ARMCACHE_RSVD2	__BITS(11, 10)
420 #define HW_DIGCTL_ARMCACHE_CACHE_SS	__BITS(9, 8)
421 #define HW_DIGCTL_ARMCACHE_RSVD1	__BITS(7, 6)
422 #define HW_DIGCTL_ARMCACHE_DTAG_SS	__BITS(5, 4)
423 #define HW_DIGCTL_ARMCACHE_RSVD0	__BITS(3, 2)
424 #define HW_DIGCTL_ARMCACHE_ITAG_SS	__BITS(1, 0)
425 
426 /*
427  * Debug Trap Range Low Address.
428  */
429 #define HW_DIGCTL_DEBUG_TRAP_ADDR_LOW	0x2C0
430 
431 #define HW_DIGCTL_DEBUG_TRAP_ADDR_LOW_ADDR	__BITS(31, 0)
432 
433 /*
434  * Debug Trap Range High Address.
435  */
436 #define HW_DIGCTL_DEBUG_TRAP_ADDR_HIGH	0x2D0
437 
438 #define HW_DIGCTL_DEBUG_TRAP_ADDR_HIGH_ADDR	__BITS(31, 0)
439 
440 /*
441  * Freescale Copyright Identifier Register.
442  */
443 #define HW_DIGCTL_SGTL	0x300
444 
445 #define HW_DIGCTL_SGTL_COPYRIGHT	__BITS(31, 0)
446 
447 /*
448  * Digital Control Chip Revision Register.
449  */
450 #define HW_DIGCTL_CHIPID	0x310
451 
452 #define HW_DIGCTL_CHIPID_PRODUCT_CODE	__BITS(31, 16)
453 #define HW_DIGCTL_CHIPID_RSVD0		__BITS(16, 8)
454 #define HW_DIGCTL_CHIPID_REVISION	__BITS(7, 0)
455 
456 /*
457  * AHB Statistics Control Register.
458  */
459 #define HW_DIGCTL_AHB_STATS_SELECT	0x330
460 
461 #define HW_DIGCTL_AHB_STATS_SELECT_RSVD3		__BITS(31, 28)
462 #define HW_DIGCTL_AHB_STATS_SELECT_L3_MASTER_SELECT	__BITS(27, 24)
463 #define HW_DIGCTL_AHB_STATS_SELECT_RSVD2		__BITS(23, 20)
464 #define HW_DIGCTL_AHB_STATS_SELECT_L2_MASTER_SELECT	__BITS(19, 16)
465 #define HW_DIGCTL_AHB_STATS_SELECT_RSVD1		__BITS(15, 12)
466 #define HW_DIGCTL_AHB_STATS_SELECT_L1_MASTER_SELECT	__BITS(11, 8)
467 #define HW_DIGCTL_AHB_STATS_SELECT_RSVD0		__BITS(7, 4)
468 #define HW_DIGCTL_AHB_STATS_SELECT_L0_MASTER_SELECT	__BITS(3, 0)
469 
470 /*
471  * AHB Layer 0 Transfer Count Register.
472  */
473 #define HW_DIGCTL_L0_AHB_ACTIVE_CYCLES	0x340
474 
475 #define HW_DIGCTL_L0_AHB_ACTIVE_CYCLES_COUNT	__BITS(31, 0)
476 
477 /*
478  * AHB Layer 0 Performance Metric for Stalled Bus Cycles Register.
479  */
480 #define HW_DIGCTL_L0_AHB_DATA_STALLED	0x350
481 
482 #define HW_DIGCTL_L0_AHB_DATA_STALLED_COUNT	__BITS(31, 0)
483 
484 /*
485  * AHB Layer 0 Performance Metric for Valid Bus Cycles Register.
486  */
487 #define HW_DIGCTL_L0_AHB_DATA_CYCLES	0x360
488 
489 #define HW_DIGCTL_L0_AHB_DATA_CYCLES_COUNT	__BITS(31, 0)
490 
491 /*
492  * AHB Layer 1 Transfer Count Register.
493  */
494 #define HW_DIGCTL_L1_AHB_ACTIVE_CYCLES	0x370
495 
496 #define HW_DIGCTL_L1_AHB_ACTIVE_CYCLES_COUNT	__BITS(31, 0)
497 
498 /*
499  * AHB Layer 1 Performance Metric for Stalled Bus Cycles Register.
500  */
501 #define HW_DIGCTL_L1_AHB_DATA_STALLED	0x380
502 
503 #define HW_DIGCTL_L1_AHB_DATA_STALLED_COUNT	__BITS(31, 0)
504 
505 /*
506  * AHB Layer 1 Performance Metric for Stalled Bus Cycles Register.
507  */
508 #define HW_DIGCTL_L1_AHB_DATA_STALLED	0x380
509 
510 #define HW_DIGCTL_L1_AHB_DATA_STALLED_COUNT	__BITS(31, 0)
511 
512 /*
513  * AHB Layer 1 Performance Metric for Valid Bus Cycles Register.
514  */
515 #define HW_DIGCTL_L1_AHB_DATA_CYCLES	0x390
516 
517 #define HW_DIGCTL_L1_AHB_DATA_CYCLES_COUNT	__BITS(31, 0)
518 
519 /*
520  * AHB Layer 2 Transfer Count Register.
521  */
522 #define HW_DIGCTL_L2_AHB_ACTIVE_CYCLES	0x3A0
523 
524 #define HW_DIGCTL_L2_AHB_ACTIVE_CYCLES_COUNT	__BITS(31, 0)
525 
526 /*
527  * AHB Layer 2 Performance Metric for Stalled Bus Cycles Register.
528  */
529 #define HW_DIGCTL_L2_AHB_DATA_STALLED	0x3B0
530 
531 #define HW_DIGCTL_L2_AHB_DATA_STALLED_COUNT	__BITS(31, 0)
532 
533 /*
534  * AHB Layer 2 Performance Metric for Valid Bus Cycles Register.
535  */
536 #define HW_DIGCTL_L2_AHB_DATA_CYCLES	0x3C0
537 
538 #define HW_DIGCTL_L2_AHB_DATA_CYCLES_COUNT	__BITS(31, 0)
539 
540 /*
541  * AHB Layer 3 Transfer Count Register.
542  */
543 #define HW_DIGCTL_L3_AHB_ACTIVE_CYCLES	0x3D0
544 
545 #define HW_DIGCTL_L3_AHB_ACTIVE_CYCLES_COUNT	__BITS(31, 0)
546 
547 /*
548  * AHB Layer 3 Performance Metric for Stalled Bus Cycles Register.
549  */
550 #define HW_DIGCTL_L3_AHB_DATA_STALLED	0x3E0
551 
552 #define HW_DIGCTL_L3_AHB_DATA_STALLED_COUNT	__BITS(31, 0)
553 
554 /*
555  * AHB Layer 3 Performance Metric for Valid Bus Cycles Register.
556  */
557 #define HW_DIGCTL_L3_AHB_DATA_CYCLES	0x3F0
558 
559 #define HW_DIGCTL_L3_AHB_DATA_CYCLES_COUNT	__BITS(31, 0)
560 
561 /*
562  * EMI CLK/CLKN Delay Adjustment Register.
563  */
564 #define HW_DIGCTL_EMICLK_DELAY	0x500
565 
566 #define HW_DIGCTL_EMICLK_DELAY_RSVD0	__BITS(31, 5)
567 #define HW_DIGCTL_EMICLK_DELAY_NUM_TAPS	__BITS(4, 0)
568 
569 #endif /* !_ARM_IMX_IMX23_DIGCTLREG_H_ */
570