• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/staging/spectra/
1/*
2 * NAND Flash Controller Device Driver
3 * Copyright (c) 2009, Intel Corporation and its suppliers.
4 *
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms and conditions of the GNU General Public License,
7 * version 2, as published by the Free Software Foundation.
8 *
9 * This program is distributed in the hope it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12 * more details.
13 *
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
17 *
18 */
19
20#define DEVICE_RESET				0x0
21#define     DEVICE_RESET__BANK0				0x0001
22#define     DEVICE_RESET__BANK1				0x0002
23#define     DEVICE_RESET__BANK2				0x0004
24#define     DEVICE_RESET__BANK3				0x0008
25
26#define TRANSFER_SPARE_REG			0x10
27#define     TRANSFER_SPARE_REG__FLAG			0x0001
28
29#define LOAD_WAIT_CNT				0x20
30#define     LOAD_WAIT_CNT__VALUE				0xffff
31
32#define PROGRAM_WAIT_CNT			0x30
33#define     PROGRAM_WAIT_CNT__VALUE			0xffff
34
35#define ERASE_WAIT_CNT				0x40
36#define     ERASE_WAIT_CNT__VALUE			0xffff
37
38#define INT_MON_CYCCNT				0x50
39#define     INT_MON_CYCCNT__VALUE			0xffff
40
41#define RB_PIN_ENABLED				0x60
42#define     RB_PIN_ENABLED__BANK0			0x0001
43#define     RB_PIN_ENABLED__BANK1			0x0002
44#define     RB_PIN_ENABLED__BANK2			0x0004
45#define     RB_PIN_ENABLED__BANK3			0x0008
46
47#define MULTIPLANE_OPERATION			0x70
48#define     MULTIPLANE_OPERATION__FLAG			0x0001
49
50#define MULTIPLANE_READ_ENABLE			0x80
51#define     MULTIPLANE_READ_ENABLE__FLAG		0x0001
52
53#define COPYBACK_DISABLE			0x90
54#define     COPYBACK_DISABLE__FLAG			0x0001
55
56#define CACHE_WRITE_ENABLE			0xa0
57#define     CACHE_WRITE_ENABLE__FLAG			0x0001
58
59#define CACHE_READ_ENABLE			0xb0
60#define     CACHE_READ_ENABLE__FLAG			0x0001
61
62#define PREFETCH_MODE				0xc0
63#define     PREFETCH_MODE__PREFETCH_EN			0x0001
64#define     PREFETCH_MODE__PREFETCH_BURST_LENGTH	0xfff0
65
66#define CHIP_ENABLE_DONT_CARE			0xd0
67#define     CHIP_EN_DONT_CARE__FLAG			0x01
68
69#define ECC_ENABLE				0xe0
70#define     ECC_ENABLE__FLAG				0x0001
71
72#define GLOBAL_INT_ENABLE			0xf0
73#define     GLOBAL_INT_EN_FLAG				0x01
74
75#define WE_2_RE					0x100
76#define     WE_2_RE__VALUE				0x003f
77
78#define ADDR_2_DATA				0x110
79#define     ADDR_2_DATA__VALUE				0x003f
80
81#define RE_2_WE					0x120
82#define     RE_2_WE__VALUE				0x003f
83
84#define ACC_CLKS    				0x130
85#define     ACC_CLKS__VALUE				0x000f
86
87#define NUMBER_OF_PLANES			0x140
88#define     NUMBER_OF_PLANES__VALUE			0x0007
89
90#define PAGES_PER_BLOCK				0x150
91#define     PAGES_PER_BLOCK__VALUE			0xffff
92
93#define DEVICE_WIDTH				0x160
94#define     DEVICE_WIDTH__VALUE				0x0003
95
96#define DEVICE_MAIN_AREA_SIZE			0x170
97#define     DEVICE_MAIN_AREA_SIZE__VALUE		0xffff
98
99#define DEVICE_SPARE_AREA_SIZE			0x180
100#define     DEVICE_SPARE_AREA_SIZE__VALUE		0xffff
101
102#define TWO_ROW_ADDR_CYCLES			0x190
103#define     TWO_ROW_ADDR_CYCLES__FLAG			0x0001
104
105#define MULTIPLANE_ADDR_RESTRICT		0x1a0
106#define     MULTIPLANE_ADDR_RESTRICT__FLAG		0x0001
107
108#define ECC_CORRECTION				0x1b0
109#define     ECC_CORRECTION__VALUE			0x001f
110
111#define READ_MODE				0x1c0
112#define     READ_MODE__VALUE				0x000f
113
114#define WRITE_MODE				0x1d0
115#define     WRITE_MODE__VALUE				0x000f
116
117#define COPYBACK_MODE				0x1e0
118#define     COPYBACK_MODE__VALUE			0x000f
119
120#define RDWR_EN_LO_CNT				0x1f0
121#define     RDWR_EN_LO_CNT__VALUE			0x001f
122
123#define RDWR_EN_HI_CNT				0x200
124#define     RDWR_EN_HI_CNT__VALUE			0x001f
125
126#define MAX_RD_DELAY				0x210
127#define     MAX_RD_DELAY__VALUE				0x000f
128
129#define CS_SETUP_CNT				0x220
130#define     CS_SETUP_CNT__VALUE				0x001f
131
132#define SPARE_AREA_SKIP_BYTES			0x230
133#define     SPARE_AREA_SKIP_BYTES__VALUE		0x003f
134
135#define SPARE_AREA_MARKER			0x240
136#define     SPARE_AREA_MARKER__VALUE			0xffff
137
138#define DEVICES_CONNECTED			0x250
139#define     DEVICES_CONNECTED__VALUE			0x0007
140
141#define DIE_MASK					0x260
142#define     DIE_MASK__VALUE				0x00ff
143
144#define FIRST_BLOCK_OF_NEXT_PLANE		0x270
145#define     FIRST_BLOCK_OF_NEXT_PLANE__VALUE		0xffff
146
147#define WRITE_PROTECT				0x280
148#define     WRITE_PROTECT__FLAG				0x0001
149
150#define RE_2_RE					0x290
151#define     RE_2_RE__VALUE				0x003f
152
153#define MANUFACTURER_ID			0x300
154#define     MANUFACTURER_ID__VALUE			0x00ff
155
156#define DEVICE_ID				0x310
157#define     DEVICE_ID__VALUE				0x00ff
158
159#define DEVICE_PARAM_0				0x320
160#define     DEVICE_PARAM_0__VALUE			0x00ff
161
162#define DEVICE_PARAM_1				0x330
163#define     DEVICE_PARAM_1__VALUE			0x00ff
164
165#define DEVICE_PARAM_2				0x340
166#define     DEVICE_PARAM_2__VALUE			0x00ff
167
168#define LOGICAL_PAGE_DATA_SIZE			0x350
169#define     LOGICAL_PAGE_DATA_SIZE__VALUE		0xffff
170
171#define LOGICAL_PAGE_SPARE_SIZE			0x360
172#define     LOGICAL_PAGE_SPARE_SIZE__VALUE		0xffff
173
174#define REVISION					0x370
175#define     REVISION__VALUE				0xffff
176
177#define ONFI_DEVICE_FEATURES			0x380
178#define     ONFI_DEVICE_FEATURES__VALUE			0x003f
179
180#define ONFI_OPTIONAL_COMMANDS		0x390
181#define     ONFI_OPTIONAL_COMMANDS__VALUE		0x003f
182
183#define ONFI_TIMING_MODE			0x3a0
184#define     ONFI_TIMING_MODE__VALUE			0x003f
185
186#define ONFI_PGM_CACHE_TIMING_MODE		0x3b0
187#define     ONFI_PGM_CACHE_TIMING_MODE__VALUE		0x003f
188
189#define ONFI_DEVICE_NO_OF_LUNS			0x3c0
190#define     ONFI_DEVICE_NO_OF_LUNS__NO_OF_LUNS		0x00ff
191#define     ONFI_DEVICE_NO_OF_LUNS__ONFI_DEVICE		0x0100
192
193#define ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_L	0x3d0
194#define     ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_L__VALUE	0xffff
195
196#define ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_U	0x3e0
197#define     ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_U__VALUE	0xffff
198
199#define FEATURES					0x3f0
200#define     FEATURES__N_BANKS				0x0003
201#define     FEATURES__ECC_MAX_ERR			0x003c
202#define     FEATURES__DMA					0x0040
203#define     FEATURES__CMD_DMA				0x0080
204#define     FEATURES__PARTITION				0x0100
205#define     FEATURES__XDMA_SIDEBAND			0x0200
206#define     FEATURES__GPREG				0x0400
207#define     FEATURES__INDEX_ADDR				0x0800
208
209#define TRANSFER_MODE				0x400
210#define     TRANSFER_MODE__VALUE			0x0003
211
212#define INTR_STATUS0				0x410
213#define     INTR_STATUS0__ECC_TRANSACTION_DONE		0x0001
214#define     INTR_STATUS0__ECC_ERR			0x0002
215#define     INTR_STATUS0__DMA_CMD_COMP			0x0004
216#define     INTR_STATUS0__TIME_OUT			0x0008
217#define     INTR_STATUS0__PROGRAM_FAIL			0x0010
218#define     INTR_STATUS0__ERASE_FAIL			0x0020
219#define     INTR_STATUS0__LOAD_COMP			0x0040
220#define     INTR_STATUS0__PROGRAM_COMP			0x0080
221#define     INTR_STATUS0__ERASE_COMP			0x0100
222#define     INTR_STATUS0__PIPE_CPYBCK_CMD_COMP		0x0200
223#define     INTR_STATUS0__LOCKED_BLK			0x0400
224#define     INTR_STATUS0__UNSUP_CMD			0x0800
225#define     INTR_STATUS0__INT_ACT			0x1000
226#define     INTR_STATUS0__RST_COMP			0x2000
227#define     INTR_STATUS0__PIPE_CMD_ERR			0x4000
228#define     INTR_STATUS0__PAGE_XFER_INC			0x8000
229
230#define INTR_EN0					0x420
231#define     INTR_EN0__ECC_TRANSACTION_DONE		0x0001
232#define     INTR_EN0__ECC_ERR				0x0002
233#define     INTR_EN0__DMA_CMD_COMP			0x0004
234#define     INTR_EN0__TIME_OUT				0x0008
235#define     INTR_EN0__PROGRAM_FAIL			0x0010
236#define     INTR_EN0__ERASE_FAIL				0x0020
237#define     INTR_EN0__LOAD_COMP				0x0040
238#define     INTR_EN0__PROGRAM_COMP			0x0080
239#define     INTR_EN0__ERASE_COMP				0x0100
240#define     INTR_EN0__PIPE_CPYBCK_CMD_COMP		0x0200
241#define     INTR_EN0__LOCKED_BLK				0x0400
242#define     INTR_EN0__UNSUP_CMD				0x0800
243#define     INTR_EN0__INT_ACT				0x1000
244#define     INTR_EN0__RST_COMP				0x2000
245#define     INTR_EN0__PIPE_CMD_ERR			0x4000
246#define     INTR_EN0__PAGE_XFER_INC			0x8000
247
248#define PAGE_CNT0				0x430
249#define     PAGE_CNT0__VALUE				0x00ff
250
251#define ERR_PAGE_ADDR0				0x440
252#define     ERR_PAGE_ADDR0__VALUE			0xffff
253
254#define ERR_BLOCK_ADDR0			0x450
255#define     ERR_BLOCK_ADDR0__VALUE			0xffff
256
257#define INTR_STATUS1				0x460
258#define     INTR_STATUS1__ECC_TRANSACTION_DONE		0x0001
259#define     INTR_STATUS1__ECC_ERR			0x0002
260#define     INTR_STATUS1__DMA_CMD_COMP			0x0004
261#define     INTR_STATUS1__TIME_OUT			0x0008
262#define     INTR_STATUS1__PROGRAM_FAIL			0x0010
263#define     INTR_STATUS1__ERASE_FAIL			0x0020
264#define     INTR_STATUS1__LOAD_COMP			0x0040
265#define     INTR_STATUS1__PROGRAM_COMP			0x0080
266#define     INTR_STATUS1__ERASE_COMP			0x0100
267#define     INTR_STATUS1__PIPE_CPYBCK_CMD_COMP		0x0200
268#define     INTR_STATUS1__LOCKED_BLK			0x0400
269#define     INTR_STATUS1__UNSUP_CMD			0x0800
270#define     INTR_STATUS1__INT_ACT			0x1000
271#define     INTR_STATUS1__RST_COMP			0x2000
272#define     INTR_STATUS1__PIPE_CMD_ERR			0x4000
273#define     INTR_STATUS1__PAGE_XFER_INC			0x8000
274
275#define INTR_EN1					0x470
276#define     INTR_EN1__ECC_TRANSACTION_DONE		0x0001
277#define     INTR_EN1__ECC_ERR				0x0002
278#define     INTR_EN1__DMA_CMD_COMP			0x0004
279#define     INTR_EN1__TIME_OUT				0x0008
280#define     INTR_EN1__PROGRAM_FAIL			0x0010
281#define     INTR_EN1__ERASE_FAIL				0x0020
282#define     INTR_EN1__LOAD_COMP				0x0040
283#define     INTR_EN1__PROGRAM_COMP			0x0080
284#define     INTR_EN1__ERASE_COMP				0x0100
285#define     INTR_EN1__PIPE_CPYBCK_CMD_COMP		0x0200
286#define     INTR_EN1__LOCKED_BLK				0x0400
287#define     INTR_EN1__UNSUP_CMD				0x0800
288#define     INTR_EN1__INT_ACT				0x1000
289#define     INTR_EN1__RST_COMP				0x2000
290#define     INTR_EN1__PIPE_CMD_ERR			0x4000
291#define     INTR_EN1__PAGE_XFER_INC			0x8000
292
293#define PAGE_CNT1				0x480
294#define     PAGE_CNT1__VALUE				0x00ff
295
296#define ERR_PAGE_ADDR1				0x490
297#define     ERR_PAGE_ADDR1__VALUE			0xffff
298
299#define ERR_BLOCK_ADDR1			0x4a0
300#define     ERR_BLOCK_ADDR1__VALUE			0xffff
301
302#define INTR_STATUS2				0x4b0
303#define     INTR_STATUS2__ECC_TRANSACTION_DONE		0x0001
304#define     INTR_STATUS2__ECC_ERR			0x0002
305#define     INTR_STATUS2__DMA_CMD_COMP			0x0004
306#define     INTR_STATUS2__TIME_OUT			0x0008
307#define     INTR_STATUS2__PROGRAM_FAIL			0x0010
308#define     INTR_STATUS2__ERASE_FAIL			0x0020
309#define     INTR_STATUS2__LOAD_COMP			0x0040
310#define     INTR_STATUS2__PROGRAM_COMP			0x0080
311#define     INTR_STATUS2__ERASE_COMP			0x0100
312#define     INTR_STATUS2__PIPE_CPYBCK_CMD_COMP		0x0200
313#define     INTR_STATUS2__LOCKED_BLK			0x0400
314#define     INTR_STATUS2__UNSUP_CMD			0x0800
315#define     INTR_STATUS2__INT_ACT			0x1000
316#define     INTR_STATUS2__RST_COMP			0x2000
317#define     INTR_STATUS2__PIPE_CMD_ERR			0x4000
318#define     INTR_STATUS2__PAGE_XFER_INC			0x8000
319
320#define INTR_EN2					0x4c0
321#define     INTR_EN2__ECC_TRANSACTION_DONE		0x0001
322#define     INTR_EN2__ECC_ERR				0x0002
323#define     INTR_EN2__DMA_CMD_COMP			0x0004
324#define     INTR_EN2__TIME_OUT				0x0008
325#define     INTR_EN2__PROGRAM_FAIL			0x0010
326#define     INTR_EN2__ERASE_FAIL				0x0020
327#define     INTR_EN2__LOAD_COMP				0x0040
328#define     INTR_EN2__PROGRAM_COMP			0x0080
329#define     INTR_EN2__ERASE_COMP				0x0100
330#define     INTR_EN2__PIPE_CPYBCK_CMD_COMP		0x0200
331#define     INTR_EN2__LOCKED_BLK				0x0400
332#define     INTR_EN2__UNSUP_CMD				0x0800
333#define     INTR_EN2__INT_ACT				0x1000
334#define     INTR_EN2__RST_COMP				0x2000
335#define     INTR_EN2__PIPE_CMD_ERR			0x4000
336#define     INTR_EN2__PAGE_XFER_INC			0x8000
337
338#define PAGE_CNT2				0x4d0
339#define     PAGE_CNT2__VALUE				0x00ff
340
341#define ERR_PAGE_ADDR2				0x4e0
342#define     ERR_PAGE_ADDR2__VALUE			0xffff
343
344#define ERR_BLOCK_ADDR2			0x4f0
345#define     ERR_BLOCK_ADDR2__VALUE			0xffff
346
347#define INTR_STATUS3				0x500
348#define     INTR_STATUS3__ECC_TRANSACTION_DONE		0x0001
349#define     INTR_STATUS3__ECC_ERR			0x0002
350#define     INTR_STATUS3__DMA_CMD_COMP			0x0004
351#define     INTR_STATUS3__TIME_OUT			0x0008
352#define     INTR_STATUS3__PROGRAM_FAIL			0x0010
353#define     INTR_STATUS3__ERASE_FAIL			0x0020
354#define     INTR_STATUS3__LOAD_COMP			0x0040
355#define     INTR_STATUS3__PROGRAM_COMP			0x0080
356#define     INTR_STATUS3__ERASE_COMP			0x0100
357#define     INTR_STATUS3__PIPE_CPYBCK_CMD_COMP		0x0200
358#define     INTR_STATUS3__LOCKED_BLK			0x0400
359#define     INTR_STATUS3__UNSUP_CMD			0x0800
360#define     INTR_STATUS3__INT_ACT			0x1000
361#define     INTR_STATUS3__RST_COMP			0x2000
362#define     INTR_STATUS3__PIPE_CMD_ERR			0x4000
363#define     INTR_STATUS3__PAGE_XFER_INC			0x8000
364
365#define INTR_EN3					0x510
366#define     INTR_EN3__ECC_TRANSACTION_DONE		0x0001
367#define     INTR_EN3__ECC_ERR				0x0002
368#define     INTR_EN3__DMA_CMD_COMP			0x0004
369#define     INTR_EN3__TIME_OUT				0x0008
370#define     INTR_EN3__PROGRAM_FAIL			0x0010
371#define     INTR_EN3__ERASE_FAIL				0x0020
372#define     INTR_EN3__LOAD_COMP				0x0040
373#define     INTR_EN3__PROGRAM_COMP			0x0080
374#define     INTR_EN3__ERASE_COMP				0x0100
375#define     INTR_EN3__PIPE_CPYBCK_CMD_COMP		0x0200
376#define     INTR_EN3__LOCKED_BLK				0x0400
377#define     INTR_EN3__UNSUP_CMD				0x0800
378#define     INTR_EN3__INT_ACT				0x1000
379#define     INTR_EN3__RST_COMP				0x2000
380#define     INTR_EN3__PIPE_CMD_ERR			0x4000
381#define     INTR_EN3__PAGE_XFER_INC			0x8000
382
383#define PAGE_CNT3				0x520
384#define     PAGE_CNT3__VALUE				0x00ff
385
386#define ERR_PAGE_ADDR3				0x530
387#define     ERR_PAGE_ADDR3__VALUE			0xffff
388
389#define ERR_BLOCK_ADDR3			0x540
390#define     ERR_BLOCK_ADDR3__VALUE			0xffff
391
392#define DATA_INTR				0x550
393#define     DATA_INTR__WRITE_SPACE_AV			0x0001
394#define     DATA_INTR__READ_DATA_AV			0x0002
395
396#define DATA_INTR_EN				0x560
397#define     DATA_INTR_EN__WRITE_SPACE_AV		0x0001
398#define     DATA_INTR_EN__READ_DATA_AV			0x0002
399
400#define GPREG_0					0x570
401#define     GPREG_0__VALUE				0xffff
402
403#define GPREG_1					0x580
404#define     GPREG_1__VALUE				0xffff
405
406#define GPREG_2					0x590
407#define     GPREG_2__VALUE				0xffff
408
409#define GPREG_3					0x5a0
410#define     GPREG_3__VALUE				0xffff
411
412#define ECC_THRESHOLD				0x600
413#define     ECC_THRESHOLD__VALUE				0x03ff
414
415#define ECC_ERROR_BLOCK_ADDRESS		0x610
416#define     ECC_ERROR_BLOCK_ADDRESS__VALUE		0xffff
417
418#define ECC_ERROR_PAGE_ADDRESS			0x620
419#define     ECC_ERROR_PAGE_ADDRESS__VALUE		0x0fff
420#define     ECC_ERROR_PAGE_ADDRESS__BANK		0xf000
421
422#define ECC_ERROR_ADDRESS			0x630
423#define     ECC_ERROR_ADDRESS__OFFSET			0x0fff
424#define     ECC_ERROR_ADDRESS__SECTOR_NR		0xf000
425
426#define ERR_CORRECTION_INFO			0x640
427#define     ERR_CORRECTION_INFO__BYTEMASK		0x00ff
428#define     ERR_CORRECTION_INFO__DEVICE_NR		0x0f00
429#define     ERR_CORRECTION_INFO__ERROR_TYPE		0x4000
430#define     ERR_CORRECTION_INFO__LAST_ERR_INFO		0x8000
431
432#define DMA_ENABLE				0x700
433#define     DMA_ENABLE__FLAG				0x0001
434
435#define IGNORE_ECC_DONE				0x710
436#define     IGNORE_ECC_DONE__FLAG			0x0001
437
438#define DMA_INTR				0x720
439#define     DMA_INTR__TARGET_ERROR			0x0001
440#define     DMA_INTR__DESC_COMP_CHANNEL0		0x0002
441#define     DMA_INTR__DESC_COMP_CHANNEL1		0x0004
442#define     DMA_INTR__DESC_COMP_CHANNEL2		0x0008
443#define     DMA_INTR__DESC_COMP_CHANNEL3		0x0010
444#define     DMA_INTR__MEMCOPY_DESC_COMP		0x0020
445
446#define DMA_INTR_EN				0x730
447#define     DMA_INTR_EN__TARGET_ERROR			0x0001
448#define     DMA_INTR_EN__DESC_COMP_CHANNEL0		0x0002
449#define     DMA_INTR_EN__DESC_COMP_CHANNEL1		0x0004
450#define     DMA_INTR_EN__DESC_COMP_CHANNEL2		0x0008
451#define     DMA_INTR_EN__DESC_COMP_CHANNEL3		0x0010
452#define     DMA_INTR_EN__MEMCOPY_DESC_COMP		0x0020
453
454#define TARGET_ERR_ADDR_LO			0x740
455#define     TARGET_ERR_ADDR_LO__VALUE			0xffff
456
457#define TARGET_ERR_ADDR_HI			0x750
458#define     TARGET_ERR_ADDR_HI__VALUE			0xffff
459
460#define CHNL_ACTIVE				0x760
461#define     CHNL_ACTIVE__CHANNEL0			0x0001
462#define     CHNL_ACTIVE__CHANNEL1			0x0002
463#define     CHNL_ACTIVE__CHANNEL2			0x0004
464#define     CHNL_ACTIVE__CHANNEL3			0x0008
465
466#define ACTIVE_SRC_ID				0x800
467#define     ACTIVE_SRC_ID__VALUE				0x00ff
468
469#define PTN_INTR					0x810
470#define     PTN_INTR__CONFIG_ERROR			0x0001
471#define     PTN_INTR__ACCESS_ERROR_BANK0		0x0002
472#define     PTN_INTR__ACCESS_ERROR_BANK1		0x0004
473#define     PTN_INTR__ACCESS_ERROR_BANK2		0x0008
474#define     PTN_INTR__ACCESS_ERROR_BANK3		0x0010
475#define     PTN_INTR__REG_ACCESS_ERROR			0x0020
476
477#define PTN_INTR_EN				0x820
478#define     PTN_INTR_EN__CONFIG_ERROR			0x0001
479#define     PTN_INTR_EN__ACCESS_ERROR_BANK0		0x0002
480#define     PTN_INTR_EN__ACCESS_ERROR_BANK1		0x0004
481#define     PTN_INTR_EN__ACCESS_ERROR_BANK2		0x0008
482#define     PTN_INTR_EN__ACCESS_ERROR_BANK3		0x0010
483#define     PTN_INTR_EN__REG_ACCESS_ERROR		0x0020
484
485#define PERM_SRC_ID_0				0x830
486#define     PERM_SRC_ID_0__SRCID				0x00ff
487#define     PERM_SRC_ID_0__DIRECT_ACCESS_ACTIVE		0x0800
488#define     PERM_SRC_ID_0__WRITE_ACTIVE			0x2000
489#define     PERM_SRC_ID_0__READ_ACTIVE			0x4000
490#define     PERM_SRC_ID_0__PARTITION_VALID		0x8000
491
492#define MIN_BLK_ADDR_0				0x840
493#define     MIN_BLK_ADDR_0__VALUE			0xffff
494
495#define MAX_BLK_ADDR_0				0x850
496#define     MAX_BLK_ADDR_0__VALUE			0xffff
497
498#define MIN_MAX_BANK_0				0x860
499#define     MIN_MAX_BANK_0__MIN_VALUE			0x0003
500#define     MIN_MAX_BANK_0__MAX_VALUE			0x000c
501
502#define PERM_SRC_ID_1				0x870
503#define     PERM_SRC_ID_1__SRCID				0x00ff
504#define     PERM_SRC_ID_1__DIRECT_ACCESS_ACTIVE		0x0800
505#define     PERM_SRC_ID_1__WRITE_ACTIVE			0x2000
506#define     PERM_SRC_ID_1__READ_ACTIVE			0x4000
507#define     PERM_SRC_ID_1__PARTITION_VALID		0x8000
508
509#define MIN_BLK_ADDR_1				0x880
510#define     MIN_BLK_ADDR_1__VALUE			0xffff
511
512#define MAX_BLK_ADDR_1				0x890
513#define     MAX_BLK_ADDR_1__VALUE			0xffff
514
515#define MIN_MAX_BANK_1				0x8a0
516#define     MIN_MAX_BANK_1__MIN_VALUE			0x0003
517#define     MIN_MAX_BANK_1__MAX_VALUE			0x000c
518
519#define PERM_SRC_ID_2				0x8b0
520#define     PERM_SRC_ID_2__SRCID				0x00ff
521#define     PERM_SRC_ID_2__DIRECT_ACCESS_ACTIVE		0x0800
522#define     PERM_SRC_ID_2__WRITE_ACTIVE			0x2000
523#define     PERM_SRC_ID_2__READ_ACTIVE			0x4000
524#define     PERM_SRC_ID_2__PARTITION_VALID		0x8000
525
526#define MIN_BLK_ADDR_2				0x8c0
527#define     MIN_BLK_ADDR_2__VALUE			0xffff
528
529#define MAX_BLK_ADDR_2				0x8d0
530#define     MAX_BLK_ADDR_2__VALUE			0xffff
531
532#define MIN_MAX_BANK_2				0x8e0
533#define     MIN_MAX_BANK_2__MIN_VALUE			0x0003
534#define     MIN_MAX_BANK_2__MAX_VALUE			0x000c
535
536#define PERM_SRC_ID_3				0x8f0
537#define     PERM_SRC_ID_3__SRCID				0x00ff
538#define     PERM_SRC_ID_3__DIRECT_ACCESS_ACTIVE		0x0800
539#define     PERM_SRC_ID_3__WRITE_ACTIVE			0x2000
540#define     PERM_SRC_ID_3__READ_ACTIVE			0x4000
541#define     PERM_SRC_ID_3__PARTITION_VALID		0x8000
542
543#define MIN_BLK_ADDR_3				0x900
544#define     MIN_BLK_ADDR_3__VALUE			0xffff
545
546#define MAX_BLK_ADDR_3				0x910
547#define     MAX_BLK_ADDR_3__VALUE			0xffff
548
549#define MIN_MAX_BANK_3				0x920
550#define     MIN_MAX_BANK_3__MIN_VALUE			0x0003
551#define     MIN_MAX_BANK_3__MAX_VALUE			0x000c
552
553#define PERM_SRC_ID_4				0x930
554#define     PERM_SRC_ID_4__SRCID				0x00ff
555#define     PERM_SRC_ID_4__DIRECT_ACCESS_ACTIVE		0x0800
556#define     PERM_SRC_ID_4__WRITE_ACTIVE			0x2000
557#define     PERM_SRC_ID_4__READ_ACTIVE			0x4000
558#define     PERM_SRC_ID_4__PARTITION_VALID		0x8000
559
560#define MIN_BLK_ADDR_4				0x940
561#define     MIN_BLK_ADDR_4__VALUE			0xffff
562
563#define MAX_BLK_ADDR_4				0x950
564#define     MAX_BLK_ADDR_4__VALUE			0xffff
565
566#define MIN_MAX_BANK_4				0x960
567#define     MIN_MAX_BANK_4__MIN_VALUE			0x0003
568#define     MIN_MAX_BANK_4__MAX_VALUE			0x000c
569
570#define PERM_SRC_ID_5				0x970
571#define     PERM_SRC_ID_5__SRCID				0x00ff
572#define     PERM_SRC_ID_5__DIRECT_ACCESS_ACTIVE		0x0800
573#define     PERM_SRC_ID_5__WRITE_ACTIVE			0x2000
574#define     PERM_SRC_ID_5__READ_ACTIVE			0x4000
575#define     PERM_SRC_ID_5__PARTITION_VALID		0x8000
576
577#define MIN_BLK_ADDR_5				0x980
578#define     MIN_BLK_ADDR_5__VALUE			0xffff
579
580#define MAX_BLK_ADDR_5				0x990
581#define     MAX_BLK_ADDR_5__VALUE			0xffff
582
583#define MIN_MAX_BANK_5				0x9a0
584#define     MIN_MAX_BANK_5__MIN_VALUE			0x0003
585#define     MIN_MAX_BANK_5__MAX_VALUE			0x000c
586
587#define PERM_SRC_ID_6				0x9b0
588#define     PERM_SRC_ID_6__SRCID				0x00ff
589#define     PERM_SRC_ID_6__DIRECT_ACCESS_ACTIVE		0x0800
590#define     PERM_SRC_ID_6__WRITE_ACTIVE			0x2000
591#define     PERM_SRC_ID_6__READ_ACTIVE			0x4000
592#define     PERM_SRC_ID_6__PARTITION_VALID		0x8000
593
594#define MIN_BLK_ADDR_6				0x9c0
595#define     MIN_BLK_ADDR_6__VALUE			0xffff
596
597#define MAX_BLK_ADDR_6				0x9d0
598#define     MAX_BLK_ADDR_6__VALUE			0xffff
599
600#define MIN_MAX_BANK_6				0x9e0
601#define     MIN_MAX_BANK_6__MIN_VALUE			0x0003
602#define     MIN_MAX_BANK_6__MAX_VALUE			0x000c
603
604#define PERM_SRC_ID_7				0x9f0
605#define     PERM_SRC_ID_7__SRCID				0x00ff
606#define     PERM_SRC_ID_7__DIRECT_ACCESS_ACTIVE		0x0800
607#define     PERM_SRC_ID_7__WRITE_ACTIVE			0x2000
608#define     PERM_SRC_ID_7__READ_ACTIVE			0x4000
609#define     PERM_SRC_ID_7__PARTITION_VALID		0x8000
610
611#define MIN_BLK_ADDR_7				0xa00
612#define     MIN_BLK_ADDR_7__VALUE			0xffff
613
614#define MAX_BLK_ADDR_7				0xa10
615#define     MAX_BLK_ADDR_7__VALUE			0xffff
616
617#define MIN_MAX_BANK_7				0xa20
618#define     MIN_MAX_BANK_7__MIN_VALUE			0x0003
619#define     MIN_MAX_BANK_7__MAX_VALUE			0x000c
620