summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/include
diff options
context:
space:
mode:
authorGary King <gking@nvidia.com>2010-05-16 18:22:24 -0700
committerGary King <gking@nvidia.com>2010-05-16 20:11:12 -0700
commit56f969abc37376f950fc743dab47239c9b773507 (patch)
tree687983cc2de102211fc196c643c31eefc634203d /arch/arm/mach-tegra/include
parent7b415930da2505d4d2c0b76329215298ff3e6189 (diff)
[mtd] add NAND device MTD block driver for Tegra SoCs
Change-Id: Id38598e0a63b3f723cc07933c54bf5a99781ad0a
Diffstat (limited to 'arch/arm/mach-tegra/include')
-rw-r--r--arch/arm/mach-tegra/include/ap20/arnandflash.h4245
-rw-r--r--arch/arm/mach-tegra/include/mach/nand.h31
-rw-r--r--arch/arm/mach-tegra/include/nvddk_nand.h599
3 files changed, 4875 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/include/ap20/arnandflash.h b/arch/arm/mach-tegra/include/ap20/arnandflash.h
new file mode 100644
index 000000000000..73075f5f8760
--- /dev/null
+++ b/arch/arm/mach-tegra/include/ap20/arnandflash.h
@@ -0,0 +1,4245 @@
+/*
+ * Copyright (c) 2009 NVIDIA Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of the NVIDIA Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+//
+// DO NOT EDIT - generated by simspec!
+//
+
+#ifndef ___ARNANDFLASH_H_INC_
+#define ___ARNANDFLASH_H_INC_
+#define NDFLASH_CMDQ_FIFO_WIDTH 32
+#define NDFLASH_CMDQ_FIFO_DEPTH 8
+#define NDFLASH_ECC_FIFO_WIDTH 32
+#define NDFLASH_ECC_FIFO_DEPTH 128
+#define NDFLASH_AFIFO_WIDTH 32
+#define NDFLASH_AFIFO_DEPTH 1024
+#define NDFLASH_BFIFO_WIDTH 32
+#define NDFLASH_BFIFO_DEPTH 128
+#define NDFLASH_CS_MAX 8
+#define NDFLASH_DMA_MAX_BYTES 65536
+#define NDFLASH_DMA_PTR_ALIGN 4
+#define NDFLASH_CMDQ_MAX_PKT_LENGTH 15
+#define NDFLASH_PARITY_SZ_RS_T1_256 4
+#define NDFLASH_PARITY_SZ_RS_T4_512 12
+#define NDFLASH_PARITY_SZ_RS_T4_1024 20
+#define NDFLASH_PARITY_SZ_RS_T4_2048 36
+#define NDFLASH_PARITY_SZ_RS_T4_4096 72
+#define NDFLASH_PARITY_SZ_RS_T6_512 16
+#define NDFLASH_PARITY_SZ_RS_T6_1024 28
+#define NDFLASH_PARITY_SZ_RS_T6_2048 56
+#define NDFLASH_PARITY_SZ_RS_T6_4096 108
+#define NDFLASH_PARITY_SZ_RS_T8_512 20
+#define NDFLASH_PARITY_SZ_RS_T8_1024 36
+#define NDFLASH_PARITY_SZ_RS_T8_2048 72
+#define NDFLASH_PARITY_SZ_RS_T8_4096 144
+#define NDFLASH_PARITY_SZ_HAMMING_256 4
+#define NDFLASH_PARITY_SZ_HAMMING_512 4
+#define NDFLASH_PARITY_SZ_HAMMING_1024 8
+#define NDFLASH_PARITY_SZ_HAMMING_2048 16
+#define NDFLASH_PARITY_SZ_HAMMING_4096 32
+#define NDFLASH_PARITY_SZ_HAMMING_SPARE 4
+#define NDFLASH_PARITY_SZ_BCH_T4_512 7
+#define NDFLASH_PARITY_SZ_BCH_T8_512 13
+#define NDFLASH_PARITY_SZ_BCH_T14_512 23
+#define NDFLASH_PARITY_SZ_BCH_T16_512 26
+
+// Register NAND_COMMAND_0
+#define NAND_COMMAND_0 _MK_ADDR_CONST(0x0)
+#define NAND_COMMAND_0_SECURE 0x0
+#define NAND_COMMAND_0_WORD_COUNT 0x1
+#define NAND_COMMAND_0_RESET_VAL _MK_MASK_CONST(0x800004)
+#define NAND_COMMAND_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_COMMAND_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_COMMAND_0_WRITE_MASK _MK_MASK_CONST(0x7fffffff)
+// 0 = HW clears when programmed nand IO
+// operation is completed.
+#define NAND_COMMAND_0_GO_SHIFT _MK_SHIFT_CONST(31)
+#define NAND_COMMAND_0_GO_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_GO_SHIFT)
+#define NAND_COMMAND_0_GO_RANGE 31:31
+#define NAND_COMMAND_0_GO_WOFFSET 0x0
+#define NAND_COMMAND_0_GO_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_GO_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_GO_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_GO_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_GO_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_GO_ENABLE _MK_ENUM_CONST(1)
+
+// CLE enable
+// 1 = Flash sequence has Command Cycle(CLE) enabled
+// 0 = Flash sequence has Command Cycle(CLE) disabled
+#define NAND_COMMAND_0_CLE_SHIFT _MK_SHIFT_CONST(30)
+#define NAND_COMMAND_0_CLE_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CLE_SHIFT)
+#define NAND_COMMAND_0_CLE_RANGE 30:30
+#define NAND_COMMAND_0_CLE_WOFFSET 0x0
+#define NAND_COMMAND_0_CLE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CLE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CLE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CLE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CLE_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CLE_ENABLE _MK_ENUM_CONST(1)
+
+// ALE enable
+// 1 = Flash sequence has Address Cycle(CLE) enabled
+// 0 = Flash sequence has Address Cycle(CLE) disabled
+#define NAND_COMMAND_0_ALE_SHIFT _MK_SHIFT_CONST(29)
+#define NAND_COMMAND_0_ALE_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_ALE_SHIFT)
+#define NAND_COMMAND_0_ALE_RANGE 29:29
+#define NAND_COMMAND_0_ALE_WOFFSET 0x0
+#define NAND_COMMAND_0_ALE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_ALE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_ALE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_ALE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_ALE_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_ALE_ENABLE _MK_ENUM_CONST(1)
+
+// PIO mode of operation enable
+// 1 = Dataout is from NAND_RESP register
+// and Datain is to NAND_RESP register
+// 0 = Dataout is from FIFO buffer
+// and Datain to FIFO buffer
+#define NAND_COMMAND_0_PIO_SHIFT _MK_SHIFT_CONST(28)
+#define NAND_COMMAND_0_PIO_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_PIO_SHIFT)
+#define NAND_COMMAND_0_PIO_RANGE 28:28
+#define NAND_COMMAND_0_PIO_WOFFSET 0x0
+#define NAND_COMMAND_0_PIO_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_PIO_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_PIO_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_PIO_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_PIO_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_PIO_ENABLE _MK_ENUM_CONST(1)
+
+// write data transfer enable - required for FLASH program
+// 1 = Write data transfers to flash is enabled
+// 0 = Write data transfers to flash is disabled
+#define NAND_COMMAND_0_TX_SHIFT _MK_SHIFT_CONST(27)
+#define NAND_COMMAND_0_TX_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_TX_SHIFT)
+#define NAND_COMMAND_0_TX_RANGE 27:27
+#define NAND_COMMAND_0_TX_WOFFSET 0x0
+#define NAND_COMMAND_0_TX_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_TX_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_TX_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_TX_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_TX_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_TX_ENABLE _MK_ENUM_CONST(1)
+
+// read data transfer enabled - required for FLASH read
+// 1 = Read data transfers from flash is enabled
+// 0 = Read data transfers from flash is disabled
+#define NAND_COMMAND_0_RX_SHIFT _MK_SHIFT_CONST(26)
+#define NAND_COMMAND_0_RX_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_RX_SHIFT)
+#define NAND_COMMAND_0_RX_RANGE 26:26
+#define NAND_COMMAND_0_RX_WOFFSET 0x0
+#define NAND_COMMAND_0_RX_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RX_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_RX_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RX_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RX_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_RX_ENABLE _MK_ENUM_CONST(1)
+
+// CMD2 sequence to flash enable
+// 1 = NAND command sequence have a second command(CLE)
+// cycle
+// 0 = NAND command sequence doesnt have second CLE cycle
+#define NAND_COMMAND_0_SEC_CMD_SHIFT _MK_SHIFT_CONST(25)
+#define NAND_COMMAND_0_SEC_CMD_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_SEC_CMD_SHIFT)
+#define NAND_COMMAND_0_SEC_CMD_RANGE 25:25
+#define NAND_COMMAND_0_SEC_CMD_WOFFSET 0x0
+#define NAND_COMMAND_0_SEC_CMD_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_SEC_CMD_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_SEC_CMD_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_SEC_CMD_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_SEC_CMD_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_SEC_CMD_ENABLE _MK_ENUM_CONST(1)
+
+// CMD2 placement control
+// 1 - CMD2 CLE cycle is issued after data transfer cycles.
+// this is the typical usage during FLASH program
+// 0 - CMD2 CLE cycle is issued right after Address transfer
+// cycles, typical usage during FLASH read
+#define NAND_COMMAND_0_AFT_DAT_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_COMMAND_0_AFT_DAT_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_AFT_DAT_SHIFT)
+#define NAND_COMMAND_0_AFT_DAT_RANGE 24:24
+#define NAND_COMMAND_0_AFT_DAT_WOFFSET 0x0
+#define NAND_COMMAND_0_AFT_DAT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_AFT_DAT_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_AFT_DAT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_AFT_DAT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_AFT_DAT_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_AFT_DAT_ENABLE _MK_ENUM_CONST(1)
+
+// Transfer size of bytes Depends on PAGE_SIZE_SEL field of CONFIG register
+#define NAND_COMMAND_0_TRANS_SIZE_SHIFT _MK_SHIFT_CONST(20)
+#define NAND_COMMAND_0_TRANS_SIZE_FIELD (_MK_MASK_CONST(0xf) << NAND_COMMAND_0_TRANS_SIZE_SHIFT)
+#define NAND_COMMAND_0_TRANS_SIZE_RANGE 23:20
+#define NAND_COMMAND_0_TRANS_SIZE_WOFFSET 0x0
+#define NAND_COMMAND_0_TRANS_SIZE_DEFAULT _MK_MASK_CONST(0x8)
+#define NAND_COMMAND_0_TRANS_SIZE_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_COMMAND_0_TRANS_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_TRANS_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES1 _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES2 _MK_ENUM_CONST(1)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES3 _MK_ENUM_CONST(2)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES4 _MK_ENUM_CONST(3)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES5 _MK_ENUM_CONST(4)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES6 _MK_ENUM_CONST(5)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES7 _MK_ENUM_CONST(6)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES8 _MK_ENUM_CONST(7)
+#define NAND_COMMAND_0_TRANS_SIZE_BYTES_PAGE_SIZE_SEL _MK_ENUM_CONST(8)
+
+// Main data region transer enable
+// 1 = Involves Main area data transfer in flash sequence
+// 0 = Doesnt involve Main area data transfer
+#define NAND_COMMAND_0_A_VALID_SHIFT _MK_SHIFT_CONST(19)
+#define NAND_COMMAND_0_A_VALID_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_A_VALID_SHIFT)
+#define NAND_COMMAND_0_A_VALID_RANGE 19:19
+#define NAND_COMMAND_0_A_VALID_WOFFSET 0x0
+#define NAND_COMMAND_0_A_VALID_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_A_VALID_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_A_VALID_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_A_VALID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_A_VALID_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_A_VALID_ENABLE _MK_ENUM_CONST(1)
+
+// Spare region (aka TAG) transfer enable
+// 1 = Involves spare area data transfer in flash sequence
+// 0 = Doesnt involve spare area data transfer
+#define NAND_COMMAND_0_B_VALID_SHIFT _MK_SHIFT_CONST(18)
+#define NAND_COMMAND_0_B_VALID_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_B_VALID_SHIFT)
+#define NAND_COMMAND_0_B_VALID_RANGE 18:18
+#define NAND_COMMAND_0_B_VALID_WOFFSET 0x0
+#define NAND_COMMAND_0_B_VALID_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_B_VALID_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_B_VALID_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_B_VALID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_B_VALID_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_B_VALID_ENABLE _MK_ENUM_CONST(1)
+
+// H/W assisted read status check enable
+// 1 = Indicates to controller that current IO sequence
+// need RD STATUS check condition to be qualified.
+// 0 = auto read status check is disabled
+// notes: please refer to NAND_HWSTATUS_CMD register for
+// qualifier conditon
+#define NAND_COMMAND_0_RD_STATUS_CHK_SHIFT _MK_SHIFT_CONST(17)
+#define NAND_COMMAND_0_RD_STATUS_CHK_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_RD_STATUS_CHK_SHIFT)
+#define NAND_COMMAND_0_RD_STATUS_CHK_RANGE 17:17
+#define NAND_COMMAND_0_RD_STATUS_CHK_WOFFSET 0x0
+#define NAND_COMMAND_0_RD_STATUS_CHK_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RD_STATUS_CHK_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_RD_STATUS_CHK_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RD_STATUS_CHK_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RD_STATUS_CHK_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_RD_STATUS_CHK_ENABLE _MK_ENUM_CONST(1)
+
+// H/W assited rbsy check enable
+// 1 = Indicates to controller that current IO sequence
+// need RBSY check condition to be qualified.
+// 0 = auto RBSY check is disabled
+// notes: please refer to NAND_HWSTATUS_CMD register for
+// qualifier conditon
+#define NAND_COMMAND_0_RBSY_CHK_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_COMMAND_0_RBSY_CHK_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_RBSY_CHK_SHIFT)
+#define NAND_COMMAND_0_RBSY_CHK_RANGE 16:16
+#define NAND_COMMAND_0_RBSY_CHK_WOFFSET 0x0
+#define NAND_COMMAND_0_RBSY_CHK_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RBSY_CHK_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_RBSY_CHK_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RBSY_CHK_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RBSY_CHK_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_RBSY_CHK_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 7
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE7_SHIFT _MK_SHIFT_CONST(15)
+#define NAND_COMMAND_0_CE7_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE7_SHIFT)
+#define NAND_COMMAND_0_CE7_RANGE 15:15
+#define NAND_COMMAND_0_CE7_WOFFSET 0x0
+#define NAND_COMMAND_0_CE7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE7_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE7_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE7_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 6
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE6_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_COMMAND_0_CE6_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE6_SHIFT)
+#define NAND_COMMAND_0_CE6_RANGE 14:14
+#define NAND_COMMAND_0_CE6_WOFFSET 0x0
+#define NAND_COMMAND_0_CE6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE6_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE6_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE6_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 5
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE5_SHIFT _MK_SHIFT_CONST(13)
+#define NAND_COMMAND_0_CE5_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE5_SHIFT)
+#define NAND_COMMAND_0_CE5_RANGE 13:13
+#define NAND_COMMAND_0_CE5_WOFFSET 0x0
+#define NAND_COMMAND_0_CE5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE5_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE5_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE5_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 4
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE4_SHIFT _MK_SHIFT_CONST(12)
+#define NAND_COMMAND_0_CE4_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE4_SHIFT)
+#define NAND_COMMAND_0_CE4_RANGE 12:12
+#define NAND_COMMAND_0_CE4_WOFFSET 0x0
+#define NAND_COMMAND_0_CE4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE4_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE4_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE4_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 3
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE3_SHIFT _MK_SHIFT_CONST(11)
+#define NAND_COMMAND_0_CE3_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE3_SHIFT)
+#define NAND_COMMAND_0_CE3_RANGE 11:11
+#define NAND_COMMAND_0_CE3_WOFFSET 0x0
+#define NAND_COMMAND_0_CE3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE3_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE3_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE3_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 2
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE2_SHIFT _MK_SHIFT_CONST(10)
+#define NAND_COMMAND_0_CE2_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE2_SHIFT)
+#define NAND_COMMAND_0_CE2_RANGE 10:10
+#define NAND_COMMAND_0_CE2_WOFFSET 0x0
+#define NAND_COMMAND_0_CE2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE2_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE2_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE2_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 1
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE1_SHIFT _MK_SHIFT_CONST(9)
+#define NAND_COMMAND_0_CE1_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE1_SHIFT)
+#define NAND_COMMAND_0_CE1_RANGE 9:9
+#define NAND_COMMAND_0_CE1_WOFFSET 0x0
+#define NAND_COMMAND_0_CE1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE1_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE1_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE1_ENABLE _MK_ENUM_CONST(1)
+
+// Chip select enable for Flash Card 0
+// 0 = Disable 1 = Enable
+#define NAND_COMMAND_0_CE0_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_COMMAND_0_CE0_FIELD (_MK_MASK_CONST(0x1) << NAND_COMMAND_0_CE0_SHIFT)
+#define NAND_COMMAND_0_CE0_RANGE 8:8
+#define NAND_COMMAND_0_CE0_WOFFSET 0x0
+#define NAND_COMMAND_0_CE0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_COMMAND_0_CE0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CE0_DISABLE _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CE0_ENABLE _MK_ENUM_CONST(1)
+
+#define NAND_COMMAND_0_RSVD_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_COMMAND_0_RSVD_FIELD (_MK_MASK_CONST(0x3) << NAND_COMMAND_0_RSVD_SHIFT)
+#define NAND_COMMAND_0_RSVD_RANGE 7:6
+#define NAND_COMMAND_0_RSVD_WOFFSET 0x0
+#define NAND_COMMAND_0_RSVD_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RSVD_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_COMMAND_0_RSVD_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_RSVD_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command cycle byte count
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_FIELD (_MK_MASK_CONST(0x3) << NAND_COMMAND_0_CLE_BYTE_SIZE_SHIFT)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_RANGE 5:4
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_WOFFSET 0x0
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_CLE_BYTES1 _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_CLE_BYTES2 _MK_ENUM_CONST(1)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_CLE_BYTES3 _MK_ENUM_CONST(2)
+#define NAND_COMMAND_0_CLE_BYTE_SIZE_CLE_BYTES4 _MK_ENUM_CONST(3)
+
+// Address cycle byte count Reserved
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_FIELD (_MK_MASK_CONST(0xf) << NAND_COMMAND_0_ALE_BYTE_SIZE_SHIFT)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_RANGE 3:0
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_WOFFSET 0x0
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_DEFAULT _MK_MASK_CONST(0x4)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES1 _MK_ENUM_CONST(0)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES2 _MK_ENUM_CONST(1)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES3 _MK_ENUM_CONST(2)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES4 _MK_ENUM_CONST(3)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES5 _MK_ENUM_CONST(4)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES6 _MK_ENUM_CONST(5)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES7 _MK_ENUM_CONST(6)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES8 _MK_ENUM_CONST(7)
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES9 _MK_ENUM_CONST(8) // // Reserved
+
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES10 _MK_ENUM_CONST(9) // // Reserved
+
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES11 _MK_ENUM_CONST(10) // // Reserved
+
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES12 _MK_ENUM_CONST(11) // // Reserved
+
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES13 _MK_ENUM_CONST(12) // // Reserved
+
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES14 _MK_ENUM_CONST(13) // // Reserved
+
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES15 _MK_ENUM_CONST(14) // // Reserved
+
+#define NAND_COMMAND_0_ALE_BYTE_SIZE_ALE_BYTES16 _MK_ENUM_CONST(15)
+
+
+// Register NAND_STATUS_0
+#define NAND_STATUS_0 _MK_ADDR_CONST(0x4)
+#define NAND_STATUS_0_SECURE 0x0
+#define NAND_STATUS_0_WORD_COUNT 0x1
+#define NAND_STATUS_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RESET_MASK _MK_MASK_CONST(0xffffffc1)
+#define NAND_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_READ_MASK _MK_MASK_CONST(0xffffffc1)
+#define NAND_STATUS_0_WRITE_MASK _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_NA2_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_STATUS_0_NA2_FIELD (_MK_MASK_CONST(0xffff) << NAND_STATUS_0_NA2_SHIFT)
+#define NAND_STATUS_0_NA2_RANGE 31:16
+#define NAND_STATUS_0_NA2_WOFFSET 0x0
+#define NAND_STATUS_0_NA2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_NA2_DEFAULT_MASK _MK_MASK_CONST(0xffff)
+#define NAND_STATUS_0_NA2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_NA2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash7 is RDY
+#define NAND_STATUS_0_RBSY7_SHIFT _MK_SHIFT_CONST(15)
+#define NAND_STATUS_0_RBSY7_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY7_SHIFT)
+#define NAND_STATUS_0_RBSY7_RANGE 15:15
+#define NAND_STATUS_0_RBSY7_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY7_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash6 is RDY
+#define NAND_STATUS_0_RBSY6_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_STATUS_0_RBSY6_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY6_SHIFT)
+#define NAND_STATUS_0_RBSY6_RANGE 14:14
+#define NAND_STATUS_0_RBSY6_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY6_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash5 is RDY
+#define NAND_STATUS_0_RBSY5_SHIFT _MK_SHIFT_CONST(13)
+#define NAND_STATUS_0_RBSY5_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY5_SHIFT)
+#define NAND_STATUS_0_RBSY5_RANGE 13:13
+#define NAND_STATUS_0_RBSY5_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY5_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash4 is RDY
+#define NAND_STATUS_0_RBSY4_SHIFT _MK_SHIFT_CONST(12)
+#define NAND_STATUS_0_RBSY4_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY4_SHIFT)
+#define NAND_STATUS_0_RBSY4_RANGE 12:12
+#define NAND_STATUS_0_RBSY4_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY4_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash3 is RDY
+#define NAND_STATUS_0_RBSY3_SHIFT _MK_SHIFT_CONST(11)
+#define NAND_STATUS_0_RBSY3_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY3_SHIFT)
+#define NAND_STATUS_0_RBSY3_RANGE 11:11
+#define NAND_STATUS_0_RBSY3_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY3_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash2 is RDY
+#define NAND_STATUS_0_RBSY2_SHIFT _MK_SHIFT_CONST(10)
+#define NAND_STATUS_0_RBSY2_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY2_SHIFT)
+#define NAND_STATUS_0_RBSY2_RANGE 10:10
+#define NAND_STATUS_0_RBSY2_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY2_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash1 is RDY
+#define NAND_STATUS_0_RBSY1_SHIFT _MK_SHIFT_CONST(9)
+#define NAND_STATUS_0_RBSY1_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY1_SHIFT)
+#define NAND_STATUS_0_RBSY1_RANGE 9:9
+#define NAND_STATUS_0_RBSY1_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY1_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates flash0 is RDY
+#define NAND_STATUS_0_RBSY0_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_STATUS_0_RBSY0_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RBSY0_SHIFT)
+#define NAND_STATUS_0_RBSY0_RANGE 8:8
+#define NAND_STATUS_0_RBSY0_WOFFSET 0x0
+#define NAND_STATUS_0_RBSY0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RBSY0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RBSY0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates write cycles to flash are in progress
+#define NAND_STATUS_0_WR_ACT_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_STATUS_0_WR_ACT_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_WR_ACT_SHIFT)
+#define NAND_STATUS_0_WR_ACT_RANGE 7:7
+#define NAND_STATUS_0_WR_ACT_WOFFSET 0x0
+#define NAND_STATUS_0_WR_ACT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_WR_ACT_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_WR_ACT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_WR_ACT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates read cycles to flash are in progress
+#define NAND_STATUS_0_RD_ACT_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_STATUS_0_RD_ACT_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_RD_ACT_SHIFT)
+#define NAND_STATUS_0_RD_ACT_RANGE 6:6
+#define NAND_STATUS_0_RD_ACT_WOFFSET 0x0
+#define NAND_STATUS_0_RD_ACT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RD_ACT_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_RD_ACT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_RD_ACT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates NAND controller is in IDLE state of operation,
+// and there are no flash/DMA transactions are pending.
+#define NAND_STATUS_0_ISEMPTY_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_STATUS_0_ISEMPTY_FIELD (_MK_MASK_CONST(0x1) << NAND_STATUS_0_ISEMPTY_SHIFT)
+#define NAND_STATUS_0_ISEMPTY_RANGE 0:0
+#define NAND_STATUS_0_ISEMPTY_WOFFSET 0x0
+#define NAND_STATUS_0_ISEMPTY_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_ISEMPTY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_STATUS_0_ISEMPTY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_STATUS_0_ISEMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_ISR_0
+#define NAND_ISR_0 _MK_ADDR_CONST(0x8)
+#define NAND_ISR_0_SECURE 0x0
+#define NAND_ISR_0_WORD_COUNT 0x1
+#define NAND_ISR_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_RESET_MASK _MK_MASK_CONST(0xfffc)
+#define NAND_ISR_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_READ_MASK _MK_MASK_CONST(0x100fffc)
+#define NAND_ISR_0_WRITE_MASK _MK_MASK_CONST(0xfffc)
+// 1 = Correctable OR Un-correctable errors occurred in the DMA transfer
+// without regard to HW_ERR_CORRECTION feature is enabled or not.
+// Use extended decode results in NAND_DEC_RESULT and NAND_DEC_STATUS_EXT
+// to figure out further action for block replacement/wear leveling during
+// file system management for s/w.
+// Covers all ECC selection: RS/Hamming/BCH modes
+#define NAND_ISR_0_CORRFAIL_ERR_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_ISR_0_CORRFAIL_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_CORRFAIL_ERR_SHIFT)
+#define NAND_ISR_0_CORRFAIL_ERR_RANGE 24:24
+#define NAND_ISR_0_CORRFAIL_ERR_WOFFSET 0x0
+#define NAND_ISR_0_CORRFAIL_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_CORRFAIL_ERR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_CORRFAIL_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_CORRFAIL_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash7 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY7_SHIFT _MK_SHIFT_CONST(15)
+#define NAND_ISR_0_IS_RBSY7_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY7_SHIFT)
+#define NAND_ISR_0_IS_RBSY7_RANGE 15:15
+#define NAND_ISR_0_IS_RBSY7_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY7_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash6 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY6_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_ISR_0_IS_RBSY6_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY6_SHIFT)
+#define NAND_ISR_0_IS_RBSY6_RANGE 14:14
+#define NAND_ISR_0_IS_RBSY6_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY6_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash5 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY5_SHIFT _MK_SHIFT_CONST(13)
+#define NAND_ISR_0_IS_RBSY5_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY5_SHIFT)
+#define NAND_ISR_0_IS_RBSY5_RANGE 13:13
+#define NAND_ISR_0_IS_RBSY5_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY5_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash4 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY4_SHIFT _MK_SHIFT_CONST(12)
+#define NAND_ISR_0_IS_RBSY4_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY4_SHIFT)
+#define NAND_ISR_0_IS_RBSY4_RANGE 12:12
+#define NAND_ISR_0_IS_RBSY4_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY4_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash3 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY3_SHIFT _MK_SHIFT_CONST(11)
+#define NAND_ISR_0_IS_RBSY3_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY3_SHIFT)
+#define NAND_ISR_0_IS_RBSY3_RANGE 11:11
+#define NAND_ISR_0_IS_RBSY3_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY3_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash2 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY2_SHIFT _MK_SHIFT_CONST(10)
+#define NAND_ISR_0_IS_RBSY2_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY2_SHIFT)
+#define NAND_ISR_0_IS_RBSY2_RANGE 10:10
+#define NAND_ISR_0_IS_RBSY2_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY2_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash1 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY1_SHIFT _MK_SHIFT_CONST(9)
+#define NAND_ISR_0_IS_RBSY1_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY1_SHIFT)
+#define NAND_ISR_0_IS_RBSY1_RANGE 9:9
+#define NAND_ISR_0_IS_RBSY1_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY1_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Flash0 is Ready interrupt occured
+// This is SET only when NOT running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_RBSY0_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_ISR_0_IS_RBSY0_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_RBSY0_SHIFT)
+#define NAND_ISR_0_IS_RBSY0_RANGE 8:8
+#define NAND_ISR_0_IS_RBSY0_WOFFSET 0x0
+#define NAND_ISR_0_IS_RBSY0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_RBSY0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_RBSY0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = FIFO under run interrupt occured
+// this should not happen in general usage, if it happens
+// there is a potential h/w issue.
+#define NAND_ISR_0_IS_UND_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_ISR_0_IS_UND_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_UND_SHIFT)
+#define NAND_ISR_0_IS_UND_RANGE 7:7
+#define NAND_ISR_0_IS_UND_WOFFSET 0x0
+#define NAND_ISR_0_IS_UND_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_UND_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_UND_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_UND_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = FIFO is Overrun
+// this should not happen in general usage, if it happens
+// there is potential h/w issue.
+#define NAND_ISR_0_IS_OVR_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_ISR_0_IS_OVR_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_OVR_SHIFT)
+#define NAND_ISR_0_IS_OVR_RANGE 6:6
+#define NAND_ISR_0_IS_OVR_WOFFSET 0x0
+#define NAND_ISR_0_IS_OVR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_OVR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_OVR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_OVR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Command operations are completed as per NAND
+// command register settings.
+// This is set ONLY when not running in COMMAND QUEUE MODE
+#define NAND_ISR_0_IS_CMD_DONE_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_ISR_0_IS_CMD_DONE_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_CMD_DONE_SHIFT)
+#define NAND_ISR_0_IS_CMD_DONE_RANGE 5:5
+#define NAND_ISR_0_IS_CMD_DONE_WOFFSET 0x0
+#define NAND_ISR_0_IS_CMD_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_CMD_DONE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_CMD_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_CMD_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = ECC error generated for following reasons.
+// ->ecc decode resulted in uncorrectable errors in one of
+// sector(sub-page)
+// ->ecc decode resulted in correctable errors more than
+// trigger level as defined in TRIG_LVL in NAND_CONFIG
+// register
+// Bit is set for legacy mode of ECC selection with HW_ECC & ECC_TAG_EN only.
+// i.e. for RS/Hamming selection. Will not be set for BCH selection
+//
+#define NAND_ISR_0_IS_ECC_ERR_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_ISR_0_IS_ECC_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_ECC_ERR_SHIFT)
+#define NAND_ISR_0_IS_ECC_ERR_RANGE 4:4
+#define NAND_ISR_0_IS_ECC_ERR_WOFFSET 0x0
+#define NAND_ISR_0_IS_ECC_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_ECC_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_ECC_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_ECC_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Command queue execution completed
+#define NAND_ISR_0_IS_LL_DONE_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_ISR_0_IS_LL_DONE_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_LL_DONE_SHIFT)
+#define NAND_ISR_0_IS_LL_DONE_RANGE 3:3
+#define NAND_ISR_0_IS_LL_DONE_WOFFSET 0x0
+#define NAND_ISR_0_IS_LL_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_LL_DONE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_LL_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_LL_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = One of the Command queue packet execution returned ERROR
+#define NAND_ISR_0_IS_LL_ERR_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_ISR_0_IS_LL_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_ISR_0_IS_LL_ERR_SHIFT)
+#define NAND_ISR_0_IS_LL_ERR_RANGE 2:2
+#define NAND_ISR_0_IS_LL_ERR_WOFFSET 0x0
+#define NAND_ISR_0_IS_LL_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_LL_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_ISR_0_IS_LL_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ISR_0_IS_LL_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_IER_0
+#define NAND_IER_0 _MK_ADDR_CONST(0xc)
+#define NAND_IER_0_SECURE 0x0
+#define NAND_IER_0_WORD_COUNT 0x1
+#define NAND_IER_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_IER_0_RESET_MASK _MK_MASK_CONST(0xffffd)
+#define NAND_IER_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_IER_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_READ_MASK _MK_MASK_CONST(0xffffd)
+#define NAND_IER_0_WRITE_MASK _MK_MASK_CONST(0xffffd)
+// Trigger for correctable error Interrupts by main ECC RS decoder, if
+// HW_ERR_CORRECTION feature is enabled. Mechansim for SW to get an idea
+// on error pattern development over a period of usage. NAND controller
+// will trigger interrupt if the current main page read transfer resulted
+// in correctable errors reached this trigger value for Reed-Solomon selection.
+// For example, of ECC_ERROR interrupt for t=4, with ERR_TRIG_VAL=3 could
+// imply only one of the following.
+// a) If DEC_FAIL = 1, one of the sub-page decode returned failure because no.
+// of symbol errors are more than 4.
+// b) If DEC_FAIL = 0, one of the sub-page decode returned 3 correctable errors.
+#define NAND_IER_0_ERR_TRIG_VAL_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_IER_0_ERR_TRIG_VAL_FIELD (_MK_MASK_CONST(0xf) << NAND_IER_0_ERR_TRIG_VAL_SHIFT)
+#define NAND_IER_0_ERR_TRIG_VAL_RANGE 19:16
+#define NAND_IER_0_ERR_TRIG_VAL_WOFFSET 0x0
+#define NAND_IER_0_ERR_TRIG_VAL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_ERR_TRIG_VAL_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_IER_0_ERR_TRIG_VAL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_ERR_TRIG_VAL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_0 _MK_ENUM_CONST(0) // // Reports for every single error, equivalent to ECC_ERROR interrupt without
+// HW_ERR_CORRECTION feature.
+
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_1 _MK_ENUM_CONST(1)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_2 _MK_ENUM_CONST(2)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_3 _MK_ENUM_CONST(3)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_4 _MK_ENUM_CONST(4)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_5 _MK_ENUM_CONST(5)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_6 _MK_ENUM_CONST(6)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_7 _MK_ENUM_CONST(7)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_8 _MK_ENUM_CONST(8)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_9 _MK_ENUM_CONST(9)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_10 _MK_ENUM_CONST(10)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_11 _MK_ENUM_CONST(11)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_12 _MK_ENUM_CONST(12)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_13 _MK_ENUM_CONST(13)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_14 _MK_ENUM_CONST(14)
+#define NAND_IER_0_ERR_TRIG_VAL_CORR_ERRS_15 _MK_ENUM_CONST(15)
+
+// 1 = flash7 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY7_SHIFT _MK_SHIFT_CONST(15)
+#define NAND_IER_0_IE_RBSY7_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY7_SHIFT)
+#define NAND_IER_0_IE_RBSY7_RANGE 15:15
+#define NAND_IER_0_IE_RBSY7_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY7_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY7_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY7_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = flash6 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY6_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_IER_0_IE_RBSY6_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY6_SHIFT)
+#define NAND_IER_0_IE_RBSY6_RANGE 14:14
+#define NAND_IER_0_IE_RBSY6_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY6_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY6_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY6_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = flash5 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY5_SHIFT _MK_SHIFT_CONST(13)
+#define NAND_IER_0_IE_RBSY5_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY5_SHIFT)
+#define NAND_IER_0_IE_RBSY5_RANGE 13:13
+#define NAND_IER_0_IE_RBSY5_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY5_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY5_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY5_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = flash4 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY4_SHIFT _MK_SHIFT_CONST(12)
+#define NAND_IER_0_IE_RBSY4_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY4_SHIFT)
+#define NAND_IER_0_IE_RBSY4_RANGE 12:12
+#define NAND_IER_0_IE_RBSY4_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY4_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY4_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY4_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = flash3 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY3_SHIFT _MK_SHIFT_CONST(11)
+#define NAND_IER_0_IE_RBSY3_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY3_SHIFT)
+#define NAND_IER_0_IE_RBSY3_RANGE 11:11
+#define NAND_IER_0_IE_RBSY3_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY3_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY3_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY3_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = flash2 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY2_SHIFT _MK_SHIFT_CONST(10)
+#define NAND_IER_0_IE_RBSY2_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY2_SHIFT)
+#define NAND_IER_0_IE_RBSY2_RANGE 10:10
+#define NAND_IER_0_IE_RBSY2_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY2_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY2_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY2_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = flash1 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY1_SHIFT _MK_SHIFT_CONST(9)
+#define NAND_IER_0_IE_RBSY1_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY1_SHIFT)
+#define NAND_IER_0_IE_RBSY1_RANGE 9:9
+#define NAND_IER_0_IE_RBSY1_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY1_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY1_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY1_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = flash0 RBSY line High interrupt
+#define NAND_IER_0_IE_RBSY0_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_IER_0_IE_RBSY0_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_RBSY0_SHIFT)
+#define NAND_IER_0_IE_RBSY0_RANGE 8:8
+#define NAND_IER_0_IE_RBSY0_WOFFSET 0x0
+#define NAND_IER_0_IE_RBSY0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_RBSY0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_RBSY0_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_RBSY0_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = FIFO underrun interrupt
+#define NAND_IER_0_IE_UND_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_IER_0_IE_UND_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_UND_SHIFT)
+#define NAND_IER_0_IE_UND_RANGE 7:7
+#define NAND_IER_0_IE_UND_WOFFSET 0x0
+#define NAND_IER_0_IE_UND_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_UND_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_UND_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_UND_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_UND_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_UND_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = FIFO overrun interupt
+#define NAND_IER_0_IE_OVR_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_IER_0_IE_OVR_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_OVR_SHIFT)
+#define NAND_IER_0_IE_OVR_RANGE 6:6
+#define NAND_IER_0_IE_OVR_WOFFSET 0x0
+#define NAND_IER_0_IE_OVR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_OVR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_OVR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_OVR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_OVR_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_OVR_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = Command operations are completed as per NAND
+// command register settings.
+#define NAND_IER_0_IE_CMD_DONE_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_IER_0_IE_CMD_DONE_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_CMD_DONE_SHIFT)
+#define NAND_IER_0_IE_CMD_DONE_RANGE 5:5
+#define NAND_IER_0_IE_CMD_DONE_WOFFSET 0x0
+#define NAND_IER_0_IE_CMD_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_CMD_DONE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_CMD_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_CMD_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_CMD_DONE_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_CMD_DONE_ENABLE _MK_ENUM_CONST(1)
+
+// 1 = ECC error interrupt
+// please refer to IS_ECC_ERR above for interrupt event
+// details
+#define NAND_IER_0_IE_ECC_ERR_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_IER_0_IE_ECC_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_ECC_ERR_SHIFT)
+#define NAND_IER_0_IE_ECC_ERR_RANGE 4:4
+#define NAND_IER_0_IE_ECC_ERR_WOFFSET 0x0
+#define NAND_IER_0_IE_ECC_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_ECC_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_ECC_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_ECC_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_ECC_ERR_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_ECC_ERR_ENABLE _MK_ENUM_CONST(1)
+
+// Command queue execution completion interrupt
+#define NAND_IER_0_IE_LL_DONE_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_IER_0_IE_LL_DONE_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_LL_DONE_SHIFT)
+#define NAND_IER_0_IE_LL_DONE_RANGE 3:3
+#define NAND_IER_0_IE_LL_DONE_WOFFSET 0x0
+#define NAND_IER_0_IE_LL_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_LL_DONE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_LL_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_LL_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_LL_DONE_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_LL_DONE_ENABLE _MK_ENUM_CONST(1)
+
+// Flash errors in Command queue execution interrupt
+#define NAND_IER_0_IE_LL_ERR_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_IER_0_IE_LL_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_IE_LL_ERR_SHIFT)
+#define NAND_IER_0_IE_LL_ERR_RANGE 2:2
+#define NAND_IER_0_IE_LL_ERR_WOFFSET 0x0
+#define NAND_IER_0_IE_LL_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_LL_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_IE_LL_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_LL_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_IE_LL_ERR_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_IE_LL_ERR_ENABLE _MK_ENUM_CONST(1)
+
+// 0 = Masks all of the interrupts, and interrupt to
+// signal to cpu is disabled.
+#define NAND_IER_0_GIE_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_IER_0_GIE_FIELD (_MK_MASK_CONST(0x1) << NAND_IER_0_GIE_SHIFT)
+#define NAND_IER_0_GIE_RANGE 0:0
+#define NAND_IER_0_GIE_WOFFSET 0x0
+#define NAND_IER_0_GIE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_GIE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_IER_0_GIE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_IER_0_GIE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_IER_0_GIE_DISABLE _MK_ENUM_CONST(0)
+#define NAND_IER_0_GIE_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_CONFIG_0
+#define NAND_CONFIG_0 _MK_ADDR_CONST(0x10)
+#define NAND_CONFIG_0_SECURE 0x0
+#define NAND_CONFIG_0_WORD_COUNT 0x1
+#define NAND_CONFIG_0_RESET_VAL _MK_MASK_CONST(0x10030000)
+#define NAND_CONFIG_0_RESET_MASK _MK_MASK_CONST(0xfbffffff)
+#define NAND_CONFIG_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_READ_MASK _MK_MASK_CONST(0xfbffffff)
+#define NAND_CONFIG_0_WRITE_MASK _MK_MASK_CONST(0xfbffffff)
+// HW Error detection enable for Main page read data
+#define NAND_CONFIG_0_HW_ECC_SHIFT _MK_SHIFT_CONST(31)
+#define NAND_CONFIG_0_HW_ECC_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_HW_ECC_SHIFT)
+#define NAND_CONFIG_0_HW_ECC_RANGE 31:31
+#define NAND_CONFIG_0_HW_ECC_WOFFSET 0x0
+#define NAND_CONFIG_0_HW_ECC_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_HW_ECC_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_HW_ECC_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_HW_ECC_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_HW_ECC_DISABLE _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_HW_ECC_ENABLE _MK_ENUM_CONST(1)
+
+// HE Error detection algorithm selection
+#define NAND_CONFIG_0_ECC_SEL_SHIFT _MK_SHIFT_CONST(30)
+#define NAND_CONFIG_0_ECC_SEL_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_ECC_SEL_SHIFT)
+#define NAND_CONFIG_0_ECC_SEL_RANGE 30:30
+#define NAND_CONFIG_0_ECC_SEL_WOFFSET 0x0
+#define NAND_CONFIG_0_ECC_SEL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_ECC_SEL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_ECC_SEL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_ECC_SEL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_ECC_SEL_HAMMING _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_ECC_SEL_RS _MK_ENUM_CONST(1)
+
+// Enable Auto HW correction. Emulates SW behavior of reading the error
+// vectors from system buffer as pointed in the error vector address register,
+// applies correction and updates the memory word with corrected data.
+// This is done on page basis as soon as the decode information is avialable
+// as the flash read is placed in memory.
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_SHIFT _MK_SHIFT_CONST(29)
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_HW_ERR_CORRECTION_SHIFT)
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_RANGE 29:29
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_WOFFSET 0x0
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_DISABLE _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_HW_ERR_CORRECTION_ENABLE _MK_ENUM_CONST(1)
+
+// Enable next page flash READ data transfer even before current page ECC
+// Decode is completed. If disabled, new page READ is started only
+// after the previous page flash read, ECC decode(detection) are completed.
+#define NAND_CONFIG_0_PIPELINE_EN_SHIFT _MK_SHIFT_CONST(28)
+#define NAND_CONFIG_0_PIPELINE_EN_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_PIPELINE_EN_SHIFT)
+#define NAND_CONFIG_0_PIPELINE_EN_RANGE 28:28
+#define NAND_CONFIG_0_PIPELINE_EN_WOFFSET 0x0
+#define NAND_CONFIG_0_PIPELINE_EN_DEFAULT _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_PIPELINE_EN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_PIPELINE_EN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_PIPELINE_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_PIPELINE_EN_DISABLE _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_PIPELINE_EN_ENABLE _MK_ENUM_CONST(1)
+
+// HW Error detection enable for Spare read data
+#define NAND_CONFIG_0_ECC_EN_TAG_SHIFT _MK_SHIFT_CONST(27)
+#define NAND_CONFIG_0_ECC_EN_TAG_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_ECC_EN_TAG_SHIFT)
+#define NAND_CONFIG_0_ECC_EN_TAG_RANGE 27:27
+#define NAND_CONFIG_0_ECC_EN_TAG_WOFFSET 0x0
+#define NAND_CONFIG_0_ECC_EN_TAG_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_ECC_EN_TAG_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_ECC_EN_TAG_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_ECC_EN_TAG_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_ECC_EN_TAG_DISABLE _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_ECC_EN_TAG_ENABLE _MK_ENUM_CONST(1)
+
+// HW Error correction algorithm tValue for RS EDC selction 11 = Rsvd
+#define NAND_CONFIG_0_TVALUE_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_CONFIG_0_TVALUE_FIELD (_MK_MASK_CONST(0x3) << NAND_CONFIG_0_TVALUE_SHIFT)
+#define NAND_CONFIG_0_TVALUE_RANGE 25:24
+#define NAND_CONFIG_0_TVALUE_WOFFSET 0x0
+#define NAND_CONFIG_0_TVALUE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_TVALUE_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_CONFIG_0_TVALUE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_TVALUE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_TVALUE_TVAL4 _MK_ENUM_CONST(0) // // (t=4) 4 bit error correction per each 512 bytes of data
+
+#define NAND_CONFIG_0_TVALUE_TVAL6 _MK_ENUM_CONST(1) // // (t=6) 6 bit error correction per each 512 bytes of data
+
+#define NAND_CONFIG_0_TVALUE_TVAL8 _MK_ENUM_CONST(2) // // (t=8) 8 bit error correction per each 512 bytes of data
+
+#define NAND_CONFIG_0_TVALUE_TVAL_RSVD _MK_ENUM_CONST(3)
+
+// Skip spare region in flash to start read/write bytes after
+// completing the main area transfer.
+// SKIP_SPAE_SEL below indicates how many bytes in spare
+// area of flash to be skipped over either for reading/writing
+// all spare access will offset to this.
+#define NAND_CONFIG_0_SKIP_SPARE_SHIFT _MK_SHIFT_CONST(23)
+#define NAND_CONFIG_0_SKIP_SPARE_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_SKIP_SPARE_SHIFT)
+#define NAND_CONFIG_0_SKIP_SPARE_RANGE 23:23
+#define NAND_CONFIG_0_SKIP_SPARE_WOFFSET 0x0
+#define NAND_CONFIG_0_SKIP_SPARE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_SKIP_SPARE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_SKIP_SPARE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_SKIP_SPARE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_SKIP_SPARE_DISABLE _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_SKIP_SPARE_ENABLE _MK_ENUM_CONST(1)
+
+// RBSY0 is from Flash card 0
+#define NAND_CONFIG_0_COM_BSY_SHIFT _MK_SHIFT_CONST(22)
+#define NAND_CONFIG_0_COM_BSY_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_COM_BSY_SHIFT)
+#define NAND_CONFIG_0_COM_BSY_RANGE 22:22
+#define NAND_CONFIG_0_COM_BSY_WOFFSET 0x0
+#define NAND_CONFIG_0_COM_BSY_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_COM_BSY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_COM_BSY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_COM_BSY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_COM_BSY_DISABLE _MK_ENUM_CONST(0) // // RBSY0 seen by HW is wired AND of all flash cards connected
+
+#define NAND_CONFIG_0_COM_BSY_ENABLE _MK_ENUM_CONST(1)
+
+//Flash read/write databus width selection Datsbus width 8-bit
+#define NAND_CONFIG_0_BUS_WIDTH_SHIFT _MK_SHIFT_CONST(21)
+#define NAND_CONFIG_0_BUS_WIDTH_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_BUS_WIDTH_SHIFT)
+#define NAND_CONFIG_0_BUS_WIDTH_RANGE 21:21
+#define NAND_CONFIG_0_BUS_WIDTH_WOFFSET 0x0
+#define NAND_CONFIG_0_BUS_WIDTH_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_BUS_WIDTH_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_BUS_WIDTH_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_BUS_WIDTH_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_BUS_WIDTH_BUS_WIDTH_8 _MK_ENUM_CONST(0) // // Databus width 16-bit
+
+#define NAND_CONFIG_0_BUS_WIDTH_BUS_WIDTH_16 _MK_ENUM_CONST(1)
+
+// LPDDR1 mode of pin ordering Pin ordering to be package friendly with LPDDR1
+#define NAND_CONFIG_0_LPDDR1_MODE_SHIFT _MK_SHIFT_CONST(20)
+#define NAND_CONFIG_0_LPDDR1_MODE_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_LPDDR1_MODE_SHIFT)
+#define NAND_CONFIG_0_LPDDR1_MODE_RANGE 20:20
+#define NAND_CONFIG_0_LPDDR1_MODE_WOFFSET 0x0
+#define NAND_CONFIG_0_LPDDR1_MODE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_LPDDR1_MODE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_LPDDR1_MODE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_LPDDR1_MODE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_LPDDR1_MODE_DISABLE _MK_ENUM_CONST(0) // // Standard mode of pin ordering
+
+#define NAND_CONFIG_0_LPDDR1_MODE_ENABLE _MK_ENUM_CONST(1)
+
+// EDO mode of flash read data sampling sampled on posedge of REN
+#define NAND_CONFIG_0_EDO_MODE_SHIFT _MK_SHIFT_CONST(19)
+#define NAND_CONFIG_0_EDO_MODE_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_EDO_MODE_SHIFT)
+#define NAND_CONFIG_0_EDO_MODE_RANGE 19:19
+#define NAND_CONFIG_0_EDO_MODE_WOFFSET 0x0
+#define NAND_CONFIG_0_EDO_MODE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_EDO_MODE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_EDO_MODE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_EDO_MODE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_EDO_MODE_DISABLE _MK_ENUM_CONST(0) // // sampled on completion of read cycle time
+
+#define NAND_CONFIG_0_EDO_MODE_ENABLE _MK_ENUM_CONST(1)
+
+// Page size selection - depends on Flash used.
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_FIELD (_MK_MASK_CONST(0x7) << NAND_CONFIG_0_PAGE_SIZE_SEL_SHIFT)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_RANGE 18:16
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_WOFFSET 0x0
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_DEFAULT _MK_MASK_CONST(0x3)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_DEFAULT_MASK _MK_MASK_CONST(0x7)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_256 _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_512 _MK_ENUM_CONST(1)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_1024 _MK_ENUM_CONST(2)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_2048 _MK_ENUM_CONST(3)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_4096 _MK_ENUM_CONST(4)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_RSVD1 _MK_ENUM_CONST(5)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_RSVD2 _MK_ENUM_CONST(6)
+#define NAND_CONFIG_0_PAGE_SIZE_SEL_PAGE_SIZE_RSVD3 _MK_ENUM_CONST(7)
+
+// Size in granularity of 4 bytes to skippedd for spare access
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_FIELD (_MK_MASK_CONST(0x3) << NAND_CONFIG_0_SKIP_SPARE_SEL_SHIFT)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_RANGE 15:14
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_WOFFSET 0x0
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_SKIP_SPARE_SIZE_4 _MK_ENUM_CONST(0)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_SKIP_SPARE_SIZE_8 _MK_ENUM_CONST(1)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_SKIP_SPARE_SIZE_12 _MK_ENUM_CONST(2)
+#define NAND_CONFIG_0_SKIP_SPARE_SEL_SKIP_SPARE_SIZE_16 _MK_ENUM_CONST(3)
+
+// Debug mode selection for HW debug
+#define NAND_CONFIG_0_DEBUG_MODE_SHIFT _MK_SHIFT_CONST(13)
+#define NAND_CONFIG_0_DEBUG_MODE_FIELD (_MK_MASK_CONST(0x1) << NAND_CONFIG_0_DEBUG_MODE_SHIFT)
+#define NAND_CONFIG_0_DEBUG_MODE_RANGE 13:13
+#define NAND_CONFIG_0_DEBUG_MODE_WOFFSET 0x0
+#define NAND_CONFIG_0_DEBUG_MODE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_DEBUG_MODE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_CONFIG_0_DEBUG_MODE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_DEBUG_MODE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Debug selection for HW debug
+#define NAND_CONFIG_0_DEBUG_SEL_SHIFT _MK_SHIFT_CONST(9)
+#define NAND_CONFIG_0_DEBUG_SEL_FIELD (_MK_MASK_CONST(0xf) << NAND_CONFIG_0_DEBUG_SEL_SHIFT)
+#define NAND_CONFIG_0_DEBUG_SEL_RANGE 12:9
+#define NAND_CONFIG_0_DEBUG_SEL_WOFFSET 0x0
+#define NAND_CONFIG_0_DEBUG_SEL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_DEBUG_SEL_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_CONFIG_0_DEBUG_SEL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_DEBUG_SEL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Block Size in Bytes for TAG data from spare area of flash.
+// This is used for specifying the size of the TAG Block data byets
+// to be move/from to spare area. Used when B_VALID is true.
+// Specified in Bytes (n-1 encoding)
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_FIELD (_MK_MASK_CONST(0x1ff) << NAND_CONFIG_0_TAG_BYTE_SIZE_SHIFT)
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_RANGE 8:0
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_WOFFSET 0x0
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_DEFAULT_MASK _MK_MASK_CONST(0x1ff)
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CONFIG_0_TAG_BYTE_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_TIMING_0
+#define NAND_TIMING_0 _MK_ADDR_CONST(0x14)
+#define NAND_TIMING_0_SECURE 0x0
+#define NAND_TIMING_0_WORD_COUNT 0x1
+#define NAND_TIMING_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_TIMING_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_TIMING_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Read pulse width(RE Low time)timing for status read cycles
+// Generated timing = (n+1) * NAND_CLK_PERIOD ns,
+//
+// -----------------------------------------------------------------------------
+// GUIDELINE: for tRP_RESP/tRP timing
+// -----------------------------------------------------------------------------
+//
+// non-EDO mode: Max(tRP, tREA) timing + 6ns (round trip delay)
+// EDO mode: tRP timing from flash datasheet
+//
+// Notes:
+// (1)"round trip delay" to account for - REN out PAD delay + REN out board delay
+// + DATA driven OUT from flash to chip input + DATA INPUT pad delay.
+//
+// Based on AP15 timings, PAD delays attribute to 4ns and rest
+// 2ns is estimated for board delays. If it's more than one need to
+// increase the "round trip delay" number to come up
+// with "tRP/TRP_RESP" timing requirement.
+// (2)For EDO modes - since controller latches data without regard
+// to `nRE' (REN) posedge tREA, round trip delay factors need not
+// be considered.
+#define NAND_TIMING_0_TRP_RESP_CNT_SHIFT _MK_SHIFT_CONST(28)
+#define NAND_TIMING_0_TRP_RESP_CNT_FIELD (_MK_MASK_CONST(0xf) << NAND_TIMING_0_TRP_RESP_CNT_SHIFT)
+#define NAND_TIMING_0_TRP_RESP_CNT_RANGE 31:28
+#define NAND_TIMING_0_TRP_RESP_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TRP_RESP_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TRP_RESP_CNT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_TIMING_0_TRP_RESP_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TRP_RESP_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// WE High to RBSY low asserted (by flash) timing
+// Generated timing = (n+1) * NAND_CLK_PERIOD ns.
+// -----------------------------------------------------------------------------
+// GUIDELINE: Refer to tWB timing from flash datasheet
+// -----------------------------------------------------------------------------
+#define NAND_TIMING_0_TWB_CNT_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_TIMING_0_TWB_CNT_FIELD (_MK_MASK_CONST(0xf) << NAND_TIMING_0_TWB_CNT_SHIFT)
+#define NAND_TIMING_0_TWB_CNT_RANGE 27:24
+#define NAND_TIMING_0_TWB_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TWB_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWB_CNT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_TIMING_0_TWB_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWB_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// RBSY High to RE low timing
+// Generated timing = (n+3) * NAND_CLK_PERIOD ns.
+// -----------------------------------------------------------------------------
+// GUIDELINE: Program Max(tCR, tAR, tRR) timings from flash data sheet
+// -----------------------------------------------------------------------------
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_SHIFT _MK_SHIFT_CONST(20)
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_FIELD (_MK_MASK_CONST(0xf) << NAND_TIMING_0_TCR_TAR_TRR_CNT_SHIFT)
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_RANGE 23:20
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TCR_TAR_TRR_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// WE High to RE Low timing - Status Read Cycles
+// Generated timing = (n+1) * NAND_CLK_PERIOD ns.
+// -----------------------------------------------------------------------------
+// GUIDELINE: Refer to tWHR timing from flash data sheet
+// -----------------------------------------------------------------------------
+#define NAND_TIMING_0_TWHR_CNT_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_TIMING_0_TWHR_CNT_FIELD (_MK_MASK_CONST(0xf) << NAND_TIMING_0_TWHR_CNT_SHIFT)
+#define NAND_TIMING_0_TWHR_CNT_RANGE 19:16
+#define NAND_TIMING_0_TWHR_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TWHR_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWHR_CNT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_TIMING_0_TWHR_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWHR_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// CS/CLE/ALE Setup/Hold time.
+// Generated timing:
+// tCLS/tALS/tCS [for setup timing] = [tCS_CNT + tWP CNT + 2 ] * NAND_CLK_PERIOD
+// tCLH/tALH/tCH [for hold timing] = [tCS_CNT + tWH CNT + 3 ] * NAND_CLK_PERIO
+// -----------------------------------------------------------------------------
+// GUIDELINE: Program for Max(tCS, tCH, tALS, tALH, tCLS, TCLH) timings from
+// flash datasheet
+// -----------------------------------------------------------------------------
+// This timing is met timing requirements.
+// 1. from CE Low -> WE posedge of CLE/ALE.
+// 2. from WE posedge of CLE to-> WE posedge of ALE.
+#define NAND_TIMING_0_TCS_CNT_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_TIMING_0_TCS_CNT_FIELD (_MK_MASK_CONST(0x3) << NAND_TIMING_0_TCS_CNT_SHIFT)
+#define NAND_TIMING_0_TCS_CNT_RANGE 15:14
+#define NAND_TIMING_0_TCS_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TCS_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TCS_CNT_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_TIMING_0_TCS_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TCS_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Write pulse HOLD time
+// Generated timing = (n+1) * NAND_CLK_PERIOD ns.
+// -----------------------------------------------------------------------------
+// GUIDELINE: Refer to tWH timing from flash datasheet
+// -----------------------------------------------------------------------------
+#define NAND_TIMING_0_TWH_CNT_SHIFT _MK_SHIFT_CONST(12)
+#define NAND_TIMING_0_TWH_CNT_FIELD (_MK_MASK_CONST(0x3) << NAND_TIMING_0_TWH_CNT_SHIFT)
+#define NAND_TIMING_0_TWH_CNT_RANGE 13:12
+#define NAND_TIMING_0_TWH_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TWH_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWH_CNT_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_TIMING_0_TWH_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWH_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Write pulse width time
+// Generated timing = (n+1) * NAND_CLK_PERIOD ns.
+// -----------------------------------------------------------------------------
+// GUIDELINE: Refer to tWP timing from flash datasheet
+// -----------------------------------------------------------------------------
+#define NAND_TIMING_0_TWP_CNT_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_TIMING_0_TWP_CNT_FIELD (_MK_MASK_CONST(0xf) << NAND_TIMING_0_TWP_CNT_SHIFT)
+#define NAND_TIMING_0_TWP_CNT_RANGE 11:8
+#define NAND_TIMING_0_TWP_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TWP_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWP_CNT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_TIMING_0_TWP_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TWP_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+#define NAND_TIMING_0_NA1_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_TIMING_0_NA1_FIELD (_MK_MASK_CONST(0x3) << NAND_TIMING_0_NA1_SHIFT)
+#define NAND_TIMING_0_NA1_RANGE 7:6
+#define NAND_TIMING_0_NA1_WOFFSET 0x0
+#define NAND_TIMING_0_NA1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_NA1_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_TIMING_0_NA1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_NA1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Read pulse HOLD time
+// Generated timing = (n+1) * NAND_CLK_PERIOD ns.
+// -----------------------------------------------------------------------------
+// GUIDELINE: Refer to tRH timing from flash datasheet
+// -----------------------------------------------------------------------------
+#define NAND_TIMING_0_TRH_CNT_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_TIMING_0_TRH_CNT_FIELD (_MK_MASK_CONST(0x3) << NAND_TIMING_0_TRH_CNT_SHIFT)
+#define NAND_TIMING_0_TRH_CNT_RANGE 5:4
+#define NAND_TIMING_0_TRH_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TRH_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TRH_CNT_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_TIMING_0_TRH_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TRH_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Read pulse width(RE Low time)timing for Data read cycles
+// Generated timing = (n+1) * NAND_CLKS,
+//
+// where n - value programmed in the tRP_RESP_CNT field of timing register.
+//
+// -----------------------------------------------------------------------------
+// GUIDELINE: tRP_RESP/tRP timing register programming
+// -----------------------------------------------------------------------------
+// non-EDO mode: Max(tRP, tREA) timing + 6ns (round trip delay)
+// EDO mode: tRP timing
+//Notes:
+// (1) "round trip delay" to account for - REN out PAD delay + REN out board delay
+// + DATA driven OUT from flash to chip input + DATA INPUT pad delay.
+// Based on AP15 timings, PAD delays attribute to 4ns and rest
+// 2ns is estimated for board delays. If it's more than one need to
+// increase the "round trip delay" number to come up
+// with "tRP/TRP_RESP" timing requirement.
+// (2) For EDO modes - since controller latches data without regard
+// to `nRE' (REN) posedge tREA, round trip delay factors need not
+// be considered.
+#define NAND_TIMING_0_TRP_CNT_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_TIMING_0_TRP_CNT_FIELD (_MK_MASK_CONST(0xf) << NAND_TIMING_0_TRP_CNT_SHIFT)
+#define NAND_TIMING_0_TRP_CNT_RANGE 3:0
+#define NAND_TIMING_0_TRP_CNT_WOFFSET 0x0
+#define NAND_TIMING_0_TRP_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TRP_CNT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_TIMING_0_TRP_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING_0_TRP_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_RESP_0
+#define NAND_RESP_0 _MK_ADDR_CONST(0x18)
+#define NAND_RESP_0_SECURE 0x0
+#define NAND_RESP_0_WORD_COUNT 0x1
+#define NAND_RESP_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_RESP_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_RESP_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Write/Response data byte 3 (MSB)
+#define NAND_RESP_0_BYTE3_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_RESP_0_BYTE3_FIELD (_MK_MASK_CONST(0xff) << NAND_RESP_0_BYTE3_SHIFT)
+#define NAND_RESP_0_BYTE3_RANGE 31:24
+#define NAND_RESP_0_BYTE3_WOFFSET 0x0
+#define NAND_RESP_0_BYTE3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE3_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_RESP_0_BYTE3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Write/Response data byte 2
+#define NAND_RESP_0_BYTE2_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_RESP_0_BYTE2_FIELD (_MK_MASK_CONST(0xff) << NAND_RESP_0_BYTE2_SHIFT)
+#define NAND_RESP_0_BYTE2_RANGE 23:16
+#define NAND_RESP_0_BYTE2_WOFFSET 0x0
+#define NAND_RESP_0_BYTE2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE2_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_RESP_0_BYTE2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Write/Response data byte 1
+#define NAND_RESP_0_BYTE1_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_RESP_0_BYTE1_FIELD (_MK_MASK_CONST(0xff) << NAND_RESP_0_BYTE1_SHIFT)
+#define NAND_RESP_0_BYTE1_RANGE 15:8
+#define NAND_RESP_0_BYTE1_WOFFSET 0x0
+#define NAND_RESP_0_BYTE1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE1_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_RESP_0_BYTE1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Write/Response data byte 0 (LSB)
+#define NAND_RESP_0_BYTE0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_RESP_0_BYTE0_FIELD (_MK_MASK_CONST(0xff) << NAND_RESP_0_BYTE0_SHIFT)
+#define NAND_RESP_0_BYTE0_RANGE 7:0
+#define NAND_RESP_0_BYTE0_WOFFSET 0x0
+#define NAND_RESP_0_BYTE0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE0_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_RESP_0_BYTE0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_RESP_0_BYTE0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_TIMING2_0
+#define NAND_TIMING2_0 _MK_ADDR_CONST(0x1c)
+#define NAND_TIMING2_0_SECURE 0x0
+#define NAND_TIMING2_0_WORD_COUNT 0x1
+#define NAND_TIMING2_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_TIMING2_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_TIMING2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_TIMING2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_TIMING2_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_TIMING2_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_TIMING2_0_NA1_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_TIMING2_0_NA1_FIELD (_MK_MASK_CONST(0xfffffff) << NAND_TIMING2_0_NA1_SHIFT)
+#define NAND_TIMING2_0_NA1_RANGE 31:4
+#define NAND_TIMING2_0_NA1_WOFFSET 0x0
+#define NAND_TIMING2_0_NA1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING2_0_NA1_DEFAULT_MASK _MK_MASK_CONST(0xfffffff)
+#define NAND_TIMING2_0_NA1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING2_0_NA1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// WE posedge of address cycle to WE posedge of data cycle
+//
+// Generated timing = (n+3) * NAND_CLK_PERIOD ns.
+// -----------------------------------------------------------------------------
+// GUIDELINE: Refer to tADL timing from flash datasheet
+// -----------------------------------------------------------------------------
+//
+// Please note that timing generated from controller is for the duration from
+// ALE low to WP low. In the convention of flash vendor tADL timing
+// this amounts to = (n+3)*NAND_CLK_PERIOD + tWH(previous address cycle)
+// + tWP(following data cycle).
+//
+#define NAND_TIMING2_0_TADL_CNT_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_TIMING2_0_TADL_CNT_FIELD (_MK_MASK_CONST(0xf) << NAND_TIMING2_0_TADL_CNT_SHIFT)
+#define NAND_TIMING2_0_TADL_CNT_RANGE 3:0
+#define NAND_TIMING2_0_TADL_CNT_WOFFSET 0x0
+#define NAND_TIMING2_0_TADL_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING2_0_TADL_CNT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_TIMING2_0_TADL_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TIMING2_0_TADL_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_CMD_REG1_0 // Commmand cycle generation use these during COMMAND1 time
+#define NAND_CMD_REG1_0 _MK_ADDR_CONST(0x20)
+#define NAND_CMD_REG1_0_SECURE 0x0
+#define NAND_CMD_REG1_0_WORD_COUNT 0x1
+#define NAND_CMD_REG1_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_CMD_REG1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_CMD_REG1_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Command byte 3(MSB)
+#define NAND_CMD_REG1_0_CMD_BYTE3_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_CMD_REG1_0_CMD_BYTE3_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG1_0_CMD_BYTE3_SHIFT)
+#define NAND_CMD_REG1_0_CMD_BYTE3_RANGE 31:24
+#define NAND_CMD_REG1_0_CMD_BYTE3_WOFFSET 0x0
+#define NAND_CMD_REG1_0_CMD_BYTE3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE3_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG1_0_CMD_BYTE3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command byte 2
+#define NAND_CMD_REG1_0_CMD_BYTE2_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_CMD_REG1_0_CMD_BYTE2_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG1_0_CMD_BYTE2_SHIFT)
+#define NAND_CMD_REG1_0_CMD_BYTE2_RANGE 23:16
+#define NAND_CMD_REG1_0_CMD_BYTE2_WOFFSET 0x0
+#define NAND_CMD_REG1_0_CMD_BYTE2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE2_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG1_0_CMD_BYTE2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command byte 1
+#define NAND_CMD_REG1_0_CMD_BYTE1_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_CMD_REG1_0_CMD_BYTE1_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG1_0_CMD_BYTE1_SHIFT)
+#define NAND_CMD_REG1_0_CMD_BYTE1_RANGE 15:8
+#define NAND_CMD_REG1_0_CMD_BYTE1_WOFFSET 0x0
+#define NAND_CMD_REG1_0_CMD_BYTE1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE1_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG1_0_CMD_BYTE1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command byte 0(LSB)
+#define NAND_CMD_REG1_0_CMD_BYTE0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_CMD_REG1_0_CMD_BYTE0_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG1_0_CMD_BYTE0_SHIFT)
+#define NAND_CMD_REG1_0_CMD_BYTE0_RANGE 7:0
+#define NAND_CMD_REG1_0_CMD_BYTE0_WOFFSET 0x0
+#define NAND_CMD_REG1_0_CMD_BYTE0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE0_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG1_0_CMD_BYTE0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG1_0_CMD_BYTE0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_CMD_REG2_0 // Commmand cycle generation use these during COMMAND2 time
+#define NAND_CMD_REG2_0 _MK_ADDR_CONST(0x24)
+#define NAND_CMD_REG2_0_SECURE 0x0
+#define NAND_CMD_REG2_0_WORD_COUNT 0x1
+#define NAND_CMD_REG2_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_CMD_REG2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_CMD_REG2_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Command byte 3(MSB)
+#define NAND_CMD_REG2_0_CMD_BYTE3_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_CMD_REG2_0_CMD_BYTE3_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG2_0_CMD_BYTE3_SHIFT)
+#define NAND_CMD_REG2_0_CMD_BYTE3_RANGE 31:24
+#define NAND_CMD_REG2_0_CMD_BYTE3_WOFFSET 0x0
+#define NAND_CMD_REG2_0_CMD_BYTE3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE3_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG2_0_CMD_BYTE3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command byte 2
+#define NAND_CMD_REG2_0_CMD_BYTE2_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_CMD_REG2_0_CMD_BYTE2_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG2_0_CMD_BYTE2_SHIFT)
+#define NAND_CMD_REG2_0_CMD_BYTE2_RANGE 23:16
+#define NAND_CMD_REG2_0_CMD_BYTE2_WOFFSET 0x0
+#define NAND_CMD_REG2_0_CMD_BYTE2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE2_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG2_0_CMD_BYTE2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command byte 1
+#define NAND_CMD_REG2_0_CMD_BYTE1_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_CMD_REG2_0_CMD_BYTE1_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG2_0_CMD_BYTE1_SHIFT)
+#define NAND_CMD_REG2_0_CMD_BYTE1_RANGE 15:8
+#define NAND_CMD_REG2_0_CMD_BYTE1_WOFFSET 0x0
+#define NAND_CMD_REG2_0_CMD_BYTE1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE1_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG2_0_CMD_BYTE1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command byte 0(LSB)
+#define NAND_CMD_REG2_0_CMD_BYTE0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_CMD_REG2_0_CMD_BYTE0_FIELD (_MK_MASK_CONST(0xff) << NAND_CMD_REG2_0_CMD_BYTE0_SHIFT)
+#define NAND_CMD_REG2_0_CMD_BYTE0_RANGE 7:0
+#define NAND_CMD_REG2_0_CMD_BYTE0_WOFFSET 0x0
+#define NAND_CMD_REG2_0_CMD_BYTE0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE0_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_CMD_REG2_0_CMD_BYTE0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_CMD_REG2_0_CMD_BYTE0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_ADDR_REG1_0 // Adderss cycle generation use these bytes
+#define NAND_ADDR_REG1_0 _MK_ADDR_CONST(0x28)
+#define NAND_ADDR_REG1_0_SECURE 0x0
+#define NAND_ADDR_REG1_0_WORD_COUNT 0x1
+#define NAND_ADDR_REG1_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_ADDR_REG1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_ADDR_REG1_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Address byte 3
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG1_0_ADDR_BYTE3_SHIFT)
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_RANGE 31:24
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_WOFFSET 0x0
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Address byte 2
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG1_0_ADDR_BYTE2_SHIFT)
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_RANGE 23:16
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_WOFFSET 0x0
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Address byte 1
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG1_0_ADDR_BYTE1_SHIFT)
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_RANGE 15:8
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_WOFFSET 0x0
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Address byte 0 (LSB)
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG1_0_ADDR_BYTE0_SHIFT)
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_RANGE 7:0
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_WOFFSET 0x0
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG1_0_ADDR_BYTE0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_ADDR_REG2_0 // Adderss cycle generation use these bytes
+#define NAND_ADDR_REG2_0 _MK_ADDR_CONST(0x2c)
+#define NAND_ADDR_REG2_0_SECURE 0x0
+#define NAND_ADDR_REG2_0_WORD_COUNT 0x1
+#define NAND_ADDR_REG2_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_ADDR_REG2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_ADDR_REG2_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// Address byte 3
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG2_0_ADDR_BYTE7_SHIFT)
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_RANGE 31:24
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_WOFFSET 0x0
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Address byte 2
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG2_0_ADDR_BYTE6_SHIFT)
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_RANGE 23:16
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_WOFFSET 0x0
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Address byte 1
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG2_0_ADDR_BYTE5_SHIFT)
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_RANGE 15:8
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_WOFFSET 0x0
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Address byte 0 (LSB)
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_FIELD (_MK_MASK_CONST(0xff) << NAND_ADDR_REG2_0_ADDR_BYTE4_SHIFT)
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_RANGE 7:0
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_WOFFSET 0x0
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ADDR_REG2_0_ADDR_BYTE4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_DMA_MST_CTRL_0
+#define NAND_DMA_MST_CTRL_0 _MK_ADDR_CONST(0x30)
+#define NAND_DMA_MST_CTRL_0_SECURE 0x0
+#define NAND_DMA_MST_CTRL_0_WORD_COUNT 0x1
+#define NAND_DMA_MST_CTRL_0_RESET_VAL _MK_MASK_CONST(0x24000000)
+#define NAND_DMA_MST_CTRL_0_RESET_MASK _MK_MASK_CONST(0xff100006)
+#define NAND_DMA_MST_CTRL_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_READ_MASK _MK_MASK_CONST(0xff100006)
+#define NAND_DMA_MST_CTRL_0_WRITE_MASK _MK_MASK_CONST(0x7f100006)
+// Enable NAND DMA interface for data transfers. Auto clear type.
+// HW clears when programmed length of data transfer is completed.
+#define NAND_DMA_MST_CTRL_0_DMA_GO_SHIFT _MK_SHIFT_CONST(31)
+#define NAND_DMA_MST_CTRL_0_DMA_GO_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_DMA_GO_SHIFT)
+#define NAND_DMA_MST_CTRL_0_DMA_GO_RANGE 31:31
+#define NAND_DMA_MST_CTRL_0_DMA_GO_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_DMA_GO_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_GO_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_DMA_GO_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_GO_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_GO_DISABLE _MK_ENUM_CONST(0)
+#define NAND_DMA_MST_CTRL_0_DMA_GO_ENABLE _MK_ENUM_CONST(1)
+
+// DMA data transfer direction Read from system and write to flash
+#define NAND_DMA_MST_CTRL_0_DIR_SHIFT _MK_SHIFT_CONST(30)
+#define NAND_DMA_MST_CTRL_0_DIR_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_DIR_SHIFT)
+#define NAND_DMA_MST_CTRL_0_DIR_RANGE 30:30
+#define NAND_DMA_MST_CTRL_0_DIR_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_DIR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DIR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_DIR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DIR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DIR_DMA_RD _MK_ENUM_CONST(0) // // Write to system and read from flash
+
+#define NAND_DMA_MST_CTRL_0_DIR_DMA_WR _MK_ENUM_CONST(1)
+
+// DMA peformace feature enable. as soon as the Error vectors equal to BURST SIZE programmed
+// received DMA suspends current data transfers and moves to
+// Error vector transfer and waits till that page decode is completed.
+// Potentially if Error vectors are received around each 512 sub-page
+// boundary this could cause stall of next page READ data transfers
+// causing performance degradation. To take advantage of
+// PIPELINE_EN ECC decoder pipeline capability this should be enabled.
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_SHIFT _MK_SHIFT_CONST(29)
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_DMA_PERF_EN_SHIFT)
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_RANGE 29:29
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_DEFAULT _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_DISABLE _MK_ENUM_CONST(0) // //
+
+#define NAND_DMA_MST_CTRL_0_DMA_PERF_EN_ENABLE _MK_ENUM_CONST(1)
+
+// Enable interrupt on DMA transfer completion
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_SHIFT _MK_SHIFT_CONST(28)
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_IE_DMA_DONE_SHIFT)
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_RANGE 28:28
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_DISABLE _MK_ENUM_CONST(0)
+#define NAND_DMA_MST_CTRL_0_IE_DMA_DONE_ENABLE _MK_ENUM_CONST(1)
+
+// increments the Error Vector destination address continuously
+// till the total DMA transfer size is done
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_SHIFT _MK_SHIFT_CONST(27)
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_REUSE_BUFFER_SHIFT)
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_RANGE 27:27
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_DISABLE _MK_ENUM_CONST(0)
+#define NAND_DMA_MST_CTRL_0_REUSE_BUFFER_ENABLE _MK_ENUM_CONST(1)
+
+// DMA burst size
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_FIELD (_MK_MASK_CONST(0x7) << NAND_DMA_MST_CTRL_0_BURST_SIZE_SHIFT)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_RANGE 26:24
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_DEFAULT _MK_MASK_CONST(0x4)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_DEFAULT_MASK _MK_MASK_CONST(0x7)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_RSVD1 _MK_ENUM_CONST(0)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_RSVD2 _MK_ENUM_CONST(1)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_1WORDS _MK_ENUM_CONST(2)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_4WORDS _MK_ENUM_CONST(3)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_8WORDS _MK_ENUM_CONST(4)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_16WORDS _MK_ENUM_CONST(5)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_RSVD3 _MK_ENUM_CONST(6)
+#define NAND_DMA_MST_CTRL_0_BURST_SIZE_BURST_RSVD4 _MK_ENUM_CONST(7)
+
+// 1 = DMA transfer completed interrupt.
+// This is set ONLY when not running in COMMAND QUEUE MODE
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_SHIFT _MK_SHIFT_CONST(20)
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_IS_DMA_DONE_SHIFT)
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_RANGE 20:20
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_IS_DMA_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Enable DMA transfer for Data (A)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_DMA_EN_A_SHIFT)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_RANGE 2:2
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_DISABLE _MK_ENUM_CONST(0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_A_ENABLE _MK_ENUM_CONST(1)
+
+// Enable DMA transfer for TAG/Spare (B)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_FIELD (_MK_MASK_CONST(0x1) << NAND_DMA_MST_CTRL_0_DMA_EN_B_SHIFT)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_RANGE 1:1
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_WOFFSET 0x0
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_DISABLE _MK_ENUM_CONST(0)
+#define NAND_DMA_MST_CTRL_0_DMA_EN_B_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_DMA_CFG_A_0
+#define NAND_DMA_CFG_A_0 _MK_ADDR_CONST(0x34)
+#define NAND_DMA_CFG_A_0_SECURE 0x0
+#define NAND_DMA_CFG_A_0_WORD_COUNT 0x1
+#define NAND_DMA_CFG_A_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_A_0_RESET_MASK _MK_MASK_CONST(0xffff)
+#define NAND_DMA_CFG_A_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_A_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_A_0_READ_MASK _MK_MASK_CONST(0xffff)
+#define NAND_DMA_CFG_A_0_WRITE_MASK _MK_MASK_CONST(0xffff)
+// DMA Data Block size in Bytes(N-1) value
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_FIELD (_MK_MASK_CONST(0xffff) << NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_SHIFT)
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_RANGE 15:0
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_WOFFSET 0x0
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_DEFAULT_MASK _MK_MASK_CONST(0xffff)
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_A_0_DMA_BLOCK_SIZE_A_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_DMA_CFG_B_0
+#define NAND_DMA_CFG_B_0 _MK_ADDR_CONST(0x38)
+#define NAND_DMA_CFG_B_0_SECURE 0x0
+#define NAND_DMA_CFG_B_0_WORD_COUNT 0x1
+#define NAND_DMA_CFG_B_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_B_0_RESET_MASK _MK_MASK_CONST(0xffff)
+#define NAND_DMA_CFG_B_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_B_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_B_0_READ_MASK _MK_MASK_CONST(0xffff)
+#define NAND_DMA_CFG_B_0_WRITE_MASK _MK_MASK_CONST(0xffff)
+// DMA TAG Block size in Bytes(N-1) value
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_FIELD (_MK_MASK_CONST(0xffff) << NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_SHIFT)
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_RANGE 15:0
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_WOFFSET 0x0
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_DEFAULT_MASK _MK_MASK_CONST(0xffff)
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DMA_CFG_B_0_DMA_BLOCK_SIZE_B_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_FIFO_CTRL_0
+#define NAND_FIFO_CTRL_0 _MK_ADDR_CONST(0x3c)
+#define NAND_FIFO_CTRL_0_SECURE 0x0
+#define NAND_FIFO_CTRL_0_WORD_COUNT 0x1
+#define NAND_FIFO_CTRL_0_RESET_VAL _MK_MASK_CONST(0xaa00)
+#define NAND_FIFO_CTRL_0_RESET_MASK _MK_MASK_CONST(0xff0f)
+#define NAND_FIFO_CTRL_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_READ_MASK _MK_MASK_CONST(0xff0f)
+#define NAND_FIFO_CTRL_0_WRITE_MASK _MK_MASK_CONST(0xf)
+// 1 = Indicates Command queue FIFO Empty
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_SHIFT _MK_SHIFT_CONST(15)
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_LL_BUF_EMPTY_SHIFT)
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_RANGE 15:15
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_LL_BUF_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates Command queue FIFO Full
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_LL_BUF_FULL_SHIFT)
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_RANGE 14:14
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_LL_BUF_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates Data FIFO Empty
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_SHIFT _MK_SHIFT_CONST(13)
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_A_EMPTY_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_RANGE 13:13
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_A_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates Data FIFO Full
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_SHIFT _MK_SHIFT_CONST(12)
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_A_FULL_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_RANGE 12:12
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_A_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates TAG FIFO Empty
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_SHIFT _MK_SHIFT_CONST(11)
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_B_EMPTY_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_RANGE 11:11
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_B_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates TAG FIFO Full
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_SHIFT _MK_SHIFT_CONST(10)
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_B_FULL_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_RANGE 10:10
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_B_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates ECC FIFO Empty
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_SHIFT _MK_SHIFT_CONST(9)
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_C_EMPTY_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_RANGE 9:9
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_DEFAULT _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_C_EMPTY_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 1 = Indicates ECC FIFO Full
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_C_FULL_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_RANGE 8:8
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_C_FULL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// field set to "CLEAR_ALL_FIFO" flushs all the buffers(i.e.,LL_BUF,FIFO_A,FIFO_B,FIFO_C)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_LL_BUF_CLR_SHIFT)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_RANGE 3:3
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_CLEAR_NO_FIFO _MK_ENUM_CONST(0)
+#define NAND_FIFO_CTRL_0_LL_BUF_CLR_CLEAR_ALL_FIFO _MK_ENUM_CONST(1)
+
+// Flush the DATA FIFO contents
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_A_CLR_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_RANGE 2:2
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_A_CLR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Flush the TAG FIFO contents
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_B_CLR_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_RANGE 1:1
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_B_CLR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Flush the ECC FIFO contents
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_FIELD (_MK_MASK_CONST(0x1) << NAND_FIFO_CTRL_0_FIFO_C_CLR_SHIFT)
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_RANGE 0:0
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_WOFFSET 0x0
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_FIFO_CTRL_0_FIFO_C_CLR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_DATA_BLOCK_PTR_0
+#define NAND_DATA_BLOCK_PTR_0 _MK_ADDR_CONST(0x40)
+#define NAND_DATA_BLOCK_PTR_0_SECURE 0x0
+#define NAND_DATA_BLOCK_PTR_0_WORD_COUNT 0x1
+#define NAND_DATA_BLOCK_PTR_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_DATA_BLOCK_PTR_0_RESET_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_DATA_BLOCK_PTR_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_DATA_BLOCK_PTR_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DATA_BLOCK_PTR_0_READ_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_DATA_BLOCK_PTR_0_WRITE_MASK _MK_MASK_CONST(0xfffffffc)
+// DMA data block source/destination address pointer
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_FIELD (_MK_MASK_CONST(0x3fffffff) << NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_SHIFT)
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_RANGE 31:2
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_WOFFSET 0x0
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_DEFAULT_MASK _MK_MASK_CONST(0x3fffffff)
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DATA_BLOCK_PTR_0_DMA_DATA_BLOCK_PTR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_TAG_PTR_0
+#define NAND_TAG_PTR_0 _MK_ADDR_CONST(0x44)
+#define NAND_TAG_PTR_0_SECURE 0x0
+#define NAND_TAG_PTR_0_WORD_COUNT 0x1
+#define NAND_TAG_PTR_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_TAG_PTR_0_RESET_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_TAG_PTR_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_TAG_PTR_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_TAG_PTR_0_READ_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_TAG_PTR_0_WRITE_MASK _MK_MASK_CONST(0xfffffffc)
+// DMA TAG block source/destination address pointer
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_FIELD (_MK_MASK_CONST(0x3fffffff) << NAND_TAG_PTR_0_DMA_TAG_PTR_SHIFT)
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_RANGE 31:2
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_WOFFSET 0x0
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_DEFAULT_MASK _MK_MASK_CONST(0x3fffffff)
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_TAG_PTR_0_DMA_TAG_PTR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_ECC_PTR_0
+#define NAND_ECC_PTR_0 _MK_ADDR_CONST(0x48)
+#define NAND_ECC_PTR_0_SECURE 0x0
+#define NAND_ECC_PTR_0_WORD_COUNT 0x1
+#define NAND_ECC_PTR_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_ECC_PTR_0_RESET_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_ECC_PTR_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_ECC_PTR_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_ECC_PTR_0_READ_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_ECC_PTR_0_WRITE_MASK _MK_MASK_CONST(0xfffffffc)
+// DMA Error vector destination address pointer
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_FIELD (_MK_MASK_CONST(0x3fffffff) << NAND_ECC_PTR_0_DMA_ECC_PTR_SHIFT)
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_RANGE 31:2
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_WOFFSET 0x0
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_DEFAULT_MASK _MK_MASK_CONST(0x3fffffff)
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_ECC_PTR_0_DMA_ECC_PTR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_DEC_STATUS_0
+#define NAND_DEC_STATUS_0 _MK_ADDR_CONST(0x4c)
+#define NAND_DEC_STATUS_0_SECURE 0x0
+#define NAND_DEC_STATUS_0_WORD_COUNT 0x1
+#define NAND_DEC_STATUS_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_RESET_MASK _MK_MASK_CONST(0xffffff03)
+#define NAND_DEC_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_READ_MASK _MK_MASK_CONST(0xffffff03)
+#define NAND_DEC_STATUS_0_WRITE_MASK _MK_MASK_CONST(0x0)
+// Indicates the reference to the PAGE for Error Correction
+// to be applied. Valid when IS_ECC_ERROR is generated
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_FIELD (_MK_MASK_CONST(0xff) << NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_SHIFT)
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_RANGE 31:24
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_WOFFSET 0x0
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_ERR_PAGE_NUMBER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// No. of Errors occurred in main block READ data plus TAG read
+// data when corresponding features are enabled.
+#define NAND_DEC_STATUS_0_ERR_COUNT_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_DEC_STATUS_0_ERR_COUNT_FIELD (_MK_MASK_CONST(0xff) << NAND_DEC_STATUS_0_ERR_COUNT_SHIFT)
+#define NAND_DEC_STATUS_0_ERR_COUNT_RANGE 23:16
+#define NAND_DEC_STATUS_0_ERR_COUNT_WOFFSET 0x0
+#define NAND_DEC_STATUS_0_ERR_COUNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_ERR_COUNT_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_DEC_STATUS_0_ERR_COUNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_ERR_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Indicates sub-page decode failure within a page size.
+// When decode failure is observed SW can use to figure
+// out which sub-page (512 byte) decode failure.
+// for ex: of 2K page size selection,
+// bit 0 - first sub-page
+// bit 1 - second sub-page
+// bit 2 - third sub-page
+// bit 3 - fourth sub-page
+// and so on as applicable
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_FIELD (_MK_MASK_CONST(0xff) << NAND_DEC_STATUS_0_SUB_PAGE_FAIL_SHIFT)
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_RANGE 15:8
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_WOFFSET 0x0
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_SUB_PAGE_FAIL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 0 = Main block data decode without decode fail
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_FIELD (_MK_MASK_CONST(0x1) << NAND_DEC_STATUS_0_A_ECC_FAIL_SHIFT)
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_RANGE 1:1
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_WOFFSET 0x0
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_A_ECC_FAIL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 0 = Tag block data decode without decode fail
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_FIELD (_MK_MASK_CONST(0x1) << NAND_DEC_STATUS_0_B_ECC_FAIL_SHIFT)
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_RANGE 0:0
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_WOFFSET 0x0
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_DEC_STATUS_0_B_ECC_FAIL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_HWSTATUS_CMD_0
+#define NAND_HWSTATUS_CMD_0 _MK_ADDR_CONST(0x50)
+#define NAND_HWSTATUS_CMD_0_SECURE 0x0
+#define NAND_HWSTATUS_CMD_0_WORD_COUNT 0x1
+#define NAND_HWSTATUS_CMD_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_CMD_0_RESET_MASK _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_CMD_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_CMD_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_CMD_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_CMD_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Command byte value used for READ STATUS commands when
+// automatic HW RBSY_CHK or RD_STATUS_CHK are enabled.
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_FIELD (_MK_MASK_CONST(0xff) << NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_SHIFT)
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_RANGE 7:0
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_WOFFSET 0x0
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_CMD_0_HWSTATUS_CMD_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_HWSTATUS_MASK_0
+#define NAND_HWSTATUS_MASK_0 _MK_ADDR_CONST(0x54)
+#define NAND_HWSTATUS_MASK_0_SECURE 0x0
+#define NAND_HWSTATUS_MASK_0_WORD_COUNT 0x1
+#define NAND_HWSTATUS_MASK_0_RESET_VAL _MK_MASK_CONST(0xffe04040)
+#define NAND_HWSTATUS_MASK_0_RESET_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_HWSTATUS_MASK_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_MASK_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_MASK_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_HWSTATUS_MASK_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+// 8 bit Mask value to extract the correct bit fields
+// from READ STATUS information for RD_STATUS_CHK
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_FIELD (_MK_MASK_CONST(0xff) << NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_SHIFT)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_RANGE 31:24
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_WOFFSET 0x0
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_DEFAULT _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_MASK_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 8 bit expected RD STATUS VALUE for RD_STATUS_CHK
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_FIELD (_MK_MASK_CONST(0xff) << NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_SHIFT)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_RANGE 23:16
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_WOFFSET 0x0
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_DEFAULT _MK_MASK_CONST(0xe0)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_MASK_0_RDSTATUS_EXP_VAL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 8 bit Mask value to extract the correct bit fields
+// from READ STATUS information for RBSY_CHK
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_FIELD (_MK_MASK_CONST(0xff) << NAND_HWSTATUS_MASK_0_RBSY_MASK_SHIFT)
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_RANGE 15:8
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_WOFFSET 0x0
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_DEFAULT _MK_MASK_CONST(0x40)
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_MASK_0_RBSY_MASK_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// 8 bit expected RD STATUS VALUE for RBSY_CHK
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_FIELD (_MK_MASK_CONST(0xff) << NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_SHIFT)
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_RANGE 7:0
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_WOFFSET 0x0
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_DEFAULT _MK_MASK_CONST(0x40)
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_HWSTATUS_MASK_0_RBSY_EXP_VAL_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LL_CONFIG_0
+#define NAND_LL_CONFIG_0 _MK_ADDR_CONST(0x58)
+#define NAND_LL_CONFIG_0_SECURE 0x0
+#define NAND_LL_CONFIG_0_WORD_COUNT 0x1
+#define NAND_LL_CONFIG_0_RESET_VAL _MK_MASK_CONST(0xc0000)
+#define NAND_LL_CONFIG_0_RESET_MASK _MK_MASK_CONST(0x800f0fff)
+#define NAND_LL_CONFIG_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_READ_MASK _MK_MASK_CONST(0x800f0fff)
+#define NAND_LL_CONFIG_0_WRITE_MASK _MK_MASK_CONST(0xf0fff)
+// HW clears when command queue data and flash operations
+// are completed.
+#define NAND_LL_CONFIG_0_LL_START_SHIFT _MK_SHIFT_CONST(31)
+#define NAND_LL_CONFIG_0_LL_START_FIELD (_MK_MASK_CONST(0x1) << NAND_LL_CONFIG_0_LL_START_SHIFT)
+#define NAND_LL_CONFIG_0_LL_START_RANGE 31:31
+#define NAND_LL_CONFIG_0_LL_START_WOFFSET 0x0
+#define NAND_LL_CONFIG_0_LL_START_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_LL_START_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LL_CONFIG_0_LL_START_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_LL_START_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_LL_START_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LL_CONFIG_0_LL_START_ENABLE _MK_ENUM_CONST(1)
+
+// Enable word count status update in LL_STATUS register
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_SHIFT _MK_SHIFT_CONST(19)
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_FIELD (_MK_MASK_CONST(0x1) << NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_SHIFT)
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_RANGE 19:19
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_WOFFSET 0x0
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_DEFAULT _MK_MASK_CONST(0x1)
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LL_CONFIG_0_WORD_CNT_STATUS_EN_ENABLE _MK_ENUM_CONST(1)
+
+//DMA burst size for Command Queue data requests
+#define NAND_LL_CONFIG_0_BURST_SIZE_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_LL_CONFIG_0_BURST_SIZE_FIELD (_MK_MASK_CONST(0x7) << NAND_LL_CONFIG_0_BURST_SIZE_SHIFT)
+#define NAND_LL_CONFIG_0_BURST_SIZE_RANGE 18:16
+#define NAND_LL_CONFIG_0_BURST_SIZE_WOFFSET 0x0
+#define NAND_LL_CONFIG_0_BURST_SIZE_DEFAULT _MK_MASK_CONST(0x4)
+#define NAND_LL_CONFIG_0_BURST_SIZE_DEFAULT_MASK _MK_MASK_CONST(0x7)
+#define NAND_LL_CONFIG_0_BURST_SIZE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_BURST_SIZE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_RSVD1 _MK_ENUM_CONST(0)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_RSVD2 _MK_ENUM_CONST(1)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_1WORDS _MK_ENUM_CONST(2)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_4WORDS _MK_ENUM_CONST(3)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_8WORDS _MK_ENUM_CONST(4)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_16WORDS _MK_ENUM_CONST(5)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_RSVD3 _MK_ENUM_CONST(6)
+#define NAND_LL_CONFIG_0_BURST_SIZE_BURST_RSVD4 _MK_ENUM_CONST(7)
+
+// Command queue up word length programmed is parsed and `START is
+// done when the execution is complete. However for when errors are
+// detected for any case of the flash operation failure command queue
+// execution is aborted immediately before this length.
+#define NAND_LL_CONFIG_0_LL_LENGTH_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LL_CONFIG_0_LL_LENGTH_FIELD (_MK_MASK_CONST(0xfff) << NAND_LL_CONFIG_0_LL_LENGTH_SHIFT)
+#define NAND_LL_CONFIG_0_LL_LENGTH_RANGE 11:0
+#define NAND_LL_CONFIG_0_LL_LENGTH_WOFFSET 0x0
+#define NAND_LL_CONFIG_0_LL_LENGTH_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_LL_LENGTH_DEFAULT_MASK _MK_MASK_CONST(0xfff)
+#define NAND_LL_CONFIG_0_LL_LENGTH_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_CONFIG_0_LL_LENGTH_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LL_PTR_0
+#define NAND_LL_PTR_0 _MK_ADDR_CONST(0x5c)
+#define NAND_LL_PTR_0_SECURE 0x0
+#define NAND_LL_PTR_0_WORD_COUNT 0x1
+#define NAND_LL_PTR_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LL_PTR_0_RESET_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_LL_PTR_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LL_PTR_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LL_PTR_0_READ_MASK _MK_MASK_CONST(0xfffffffc)
+#define NAND_LL_PTR_0_WRITE_MASK _MK_MASK_CONST(0xfffffffc)
+// Command queue data pointer Register
+#define NAND_LL_PTR_0_LL_PTR_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LL_PTR_0_LL_PTR_FIELD (_MK_MASK_CONST(0x3fffffff) << NAND_LL_PTR_0_LL_PTR_SHIFT)
+#define NAND_LL_PTR_0_LL_PTR_RANGE 31:2
+#define NAND_LL_PTR_0_LL_PTR_WOFFSET 0x0
+#define NAND_LL_PTR_0_LL_PTR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_PTR_0_LL_PTR_DEFAULT_MASK _MK_MASK_CONST(0x3fffffff)
+#define NAND_LL_PTR_0_LL_PTR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_PTR_0_LL_PTR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LL_STATUS_0
+#define NAND_LL_STATUS_0 _MK_ADDR_CONST(0x60)
+#define NAND_LL_STATUS_0_SECURE 0x0
+#define NAND_LL_STATUS_0_WORD_COUNT 0x1
+#define NAND_LL_STATUS_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_RESET_MASK _MK_MASK_CONST(0xffcf0fff)
+#define NAND_LL_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_READ_MASK _MK_MASK_CONST(0xffcf0fff)
+#define NAND_LL_STATUS_0_WRITE_MASK _MK_MASK_CONST(0xc00000)
+// Command queue PACKET ID completed at this time. S/W has write
+// access to this bit field position so that any time S/W can clear
+// this field. Also NAND controller reset will reset this status.
+#define NAND_LL_STATUS_0_LL_PKT_ID_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_LL_STATUS_0_LL_PKT_ID_FIELD (_MK_MASK_CONST(0xff) << NAND_LL_STATUS_0_LL_PKT_ID_SHIFT)
+#define NAND_LL_STATUS_0_LL_PKT_ID_RANGE 31:24
+#define NAND_LL_STATUS_0_LL_PKT_ID_WOFFSET 0x0
+#define NAND_LL_STATUS_0_LL_PKT_ID_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_LL_PKT_ID_DEFAULT_MASK _MK_MASK_CONST(0xff)
+#define NAND_LL_STATUS_0_LL_PKT_ID_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_LL_PKT_ID_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Interrupt status of LL_DONE { Read Only}
+#define NAND_LL_STATUS_0_IS_LL_DONE_SHIFT _MK_SHIFT_CONST(23)
+#define NAND_LL_STATUS_0_IS_LL_DONE_FIELD (_MK_MASK_CONST(0x1) << NAND_LL_STATUS_0_IS_LL_DONE_SHIFT)
+#define NAND_LL_STATUS_0_IS_LL_DONE_RANGE 23:23
+#define NAND_LL_STATUS_0_IS_LL_DONE_WOFFSET 0x0
+#define NAND_LL_STATUS_0_IS_LL_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_IS_LL_DONE_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LL_STATUS_0_IS_LL_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_IS_LL_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Interrupt status of LL_ERR { Read Only}
+#define NAND_LL_STATUS_0_IS_LL_ERR_SHIFT _MK_SHIFT_CONST(22)
+#define NAND_LL_STATUS_0_IS_LL_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_LL_STATUS_0_IS_LL_ERR_SHIFT)
+#define NAND_LL_STATUS_0_IS_LL_ERR_RANGE 22:22
+#define NAND_LL_STATUS_0_IS_LL_ERR_WOFFSET 0x0
+#define NAND_LL_STATUS_0_IS_LL_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_IS_LL_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LL_STATUS_0_IS_LL_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_IS_LL_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command queue Word length of last packet executed in the queue.
+// Please note that WORD_CNT_STATUS_EN in LL_CONFIG should be enabled
+// for this status update
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_FIELD (_MK_MASK_CONST(0xf) << NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_SHIFT)
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_RANGE 19:16
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_WOFFSET 0x0
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_DEFAULT_MASK _MK_MASK_CONST(0xf)
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_LL_LENGTH_LAST_PKT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Command queue Word length(32-bit) completed till this time.
+// Please note that WORD_CNT_STATUS_EN in LL_CONFIG should be enabled
+// for this status update
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_FIELD (_MK_MASK_CONST(0xfff) << NAND_LL_STATUS_0_LL_LENGTH_DONE_SHIFT)
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_RANGE 11:0
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_WOFFSET 0x0
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_DEFAULT_MASK _MK_MASK_CONST(0xfff)
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LL_STATUS_0_LL_LENGTH_DONE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_CONTROL_0
+#define NAND_LOCK_CONTROL_0 _MK_ADDR_CONST(0x64)
+#define NAND_LOCK_CONTROL_0_SECURE 0x0
+#define NAND_LOCK_CONTROL_0_WORD_COUNT 0x1
+#define NAND_LOCK_CONTROL_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_RESET_MASK _MK_MASK_CONST(0x1ff)
+#define NAND_LOCK_CONTROL_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_READ_MASK _MK_MASK_CONST(0x1ff)
+#define NAND_LOCK_CONTROL_0_WRITE_MASK _MK_MASK_CONST(0x1ff)
+// Intterrupt enable on memory range match.
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_IE_LOCK_ERR_SHIFT)
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_RANGE 8:8
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_IE_LOCK_ERR_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 7 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START7, LOCK_APER_END7, LOCK_APER_CHIPID7 cant be
+// programmed once this SET
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN7_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_RANGE 7:7
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN7_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 6 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START6, LOCK_APER_END6, LOCK_APER_CHIPID6 cant be
+// programmed once this SET
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN6_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_RANGE 6:6
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN6_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 5 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START5, LOCK_APER_END5, LOCK_APER_CHIPID5 cant be
+// programmed once this SET
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN5_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_RANGE 5:5
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN5_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 4 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START4, LOCK_APER_END4, LOCK_APER_CHIPID4 cant be
+// programmed once this SET
+//
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN4_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_RANGE 4:4
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN4_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 3 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START3, LOCK_APER_END3, LOCK_APER_CHIPID3 cant be
+// programmed once this SET
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN3_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_RANGE 3:3
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN3_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 2 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START2, LOCK_APER_END2, LOCK_APER_CHIPID2 cant be
+// programmed once this SET
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN2_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_RANGE 2:2
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN2_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 1 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START1, LOCK_APER_END1, LOCK_APER_CHIPID1 cant be
+// programmed once this SET
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN1_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_RANGE 1:1
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN1_ENABLE _MK_ENUM_CONST(1)
+
+// Enable lock feature for selected apertures 0 Can be set only once register field, h/w reset OR controller reset ONLY
+// can disable this feature.
+// LOCK_APER_START0, LOCK_APER_END0, LOCK_APER_CHIPID0 cant be
+// programmed once this SET
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_CONTROL_0_LOCK_APER_EN0_SHIFT)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_RANGE 0:0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_WOFFSET 0x0
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_DISABLE _MK_ENUM_CONST(0)
+#define NAND_LOCK_CONTROL_0_LOCK_APER_EN0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_STATUS_0
+#define NAND_LOCK_STATUS_0 _MK_ADDR_CONST(0x68)
+#define NAND_LOCK_STATUS_0_SECURE 0x0
+#define NAND_LOCK_STATUS_0_WORD_COUNT 0x1
+#define NAND_LOCK_STATUS_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_RESET_MASK _MK_MASK_CONST(0x1ff)
+#define NAND_LOCK_STATUS_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_READ_MASK _MK_MASK_CONST(0x1ff)
+#define NAND_LOCK_STATUS_0_WRITE_MASK _MK_MASK_CONST(0x1ff)
+// 1 = Memory protection error detected
+// check LOCK_STATUS register to identify
+// which aperture matched.
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_IS_LOCK_ERR_SHIFT)
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_RANGE 8:8
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_IS_LOCK_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_RANGE 7:7
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_RANGE 6:6
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_RANGE 5:5
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_RANGE 4:4
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_RANGE 3:3
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_RANGE 2:2
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_RANGE 1:1
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Respective bit is set by HW on protection range detection.
+// Write 1 to clear IS.LOCK_ERR will clear this status information
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_SHIFT)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_RANGE 0:0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_WOFFSET 0x0
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_STATUS_0_LOCK_APER_STATUS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START0_0
+#define NAND_LOCK_APER_START0_0 _MK_ADDR_CONST(0x6c)
+#define NAND_LOCK_APER_START0_0_SECURE 0x0
+#define NAND_LOCK_APER_START0_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START0_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START0_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START0_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START0_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START0_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START0_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START0_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START0_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START0_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START0_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START0_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START0_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START0_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START0_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START0_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START1_0
+#define NAND_LOCK_APER_START1_0 _MK_ADDR_CONST(0x70)
+#define NAND_LOCK_APER_START1_0_SECURE 0x0
+#define NAND_LOCK_APER_START1_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START1_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START1_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START1_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START1_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START1_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START1_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START1_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START1_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START1_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START1_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START1_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START1_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START1_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START2_0
+#define NAND_LOCK_APER_START2_0 _MK_ADDR_CONST(0x74)
+#define NAND_LOCK_APER_START2_0_SECURE 0x0
+#define NAND_LOCK_APER_START2_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START2_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START2_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START2_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START2_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START2_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START2_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START2_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START2_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START2_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START2_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START2_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START2_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START2_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START3_0
+#define NAND_LOCK_APER_START3_0 _MK_ADDR_CONST(0x78)
+#define NAND_LOCK_APER_START3_0_SECURE 0x0
+#define NAND_LOCK_APER_START3_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START3_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START3_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START3_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START3_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START3_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START3_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START3_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START3_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START3_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START3_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START3_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START3_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START3_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START3_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START3_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START4_0
+#define NAND_LOCK_APER_START4_0 _MK_ADDR_CONST(0x7c)
+#define NAND_LOCK_APER_START4_0_SECURE 0x0
+#define NAND_LOCK_APER_START4_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START4_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START4_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START4_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START4_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START4_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START4_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START4_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START4_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START4_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START4_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START4_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START4_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START4_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START4_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START4_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START5_0
+#define NAND_LOCK_APER_START5_0 _MK_ADDR_CONST(0x80)
+#define NAND_LOCK_APER_START5_0_SECURE 0x0
+#define NAND_LOCK_APER_START5_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START5_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START5_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START5_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START5_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START5_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START5_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START5_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START5_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START5_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START5_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START5_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START5_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START5_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START5_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START5_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START6_0
+#define NAND_LOCK_APER_START6_0 _MK_ADDR_CONST(0x84)
+#define NAND_LOCK_APER_START6_0_SECURE 0x0
+#define NAND_LOCK_APER_START6_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START6_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START6_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START6_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START6_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START6_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START6_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START6_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START6_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START6_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START6_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START6_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START6_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START6_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START6_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START6_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_START7_0
+#define NAND_LOCK_APER_START7_0 _MK_ADDR_CONST(0x88)
+#define NAND_LOCK_APER_START7_0_SECURE 0x0
+#define NAND_LOCK_APER_START7_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_START7_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START7_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START7_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START7_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START7_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START7_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_START7_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_START7_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_START7_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_START7_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_START7_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_START7_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START7_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START7_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_START7_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END0_0
+#define NAND_LOCK_APER_END0_0 _MK_ADDR_CONST(0x8c)
+#define NAND_LOCK_APER_END0_0_SECURE 0x0
+#define NAND_LOCK_APER_END0_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END0_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END0_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END0_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END0_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END0_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END0_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END0_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END0_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END0_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END0_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END0_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END0_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END0_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END0_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END0_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END1_0
+#define NAND_LOCK_APER_END1_0 _MK_ADDR_CONST(0x90)
+#define NAND_LOCK_APER_END1_0_SECURE 0x0
+#define NAND_LOCK_APER_END1_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END1_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END1_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END1_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END1_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END1_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END1_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END1_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END1_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END1_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END1_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END1_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END1_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END1_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END2_0
+#define NAND_LOCK_APER_END2_0 _MK_ADDR_CONST(0x94)
+#define NAND_LOCK_APER_END2_0_SECURE 0x0
+#define NAND_LOCK_APER_END2_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END2_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END2_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END2_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END2_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END2_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END2_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END2_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END2_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END2_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END2_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END2_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END2_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END2_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END3_0
+#define NAND_LOCK_APER_END3_0 _MK_ADDR_CONST(0x98)
+#define NAND_LOCK_APER_END3_0_SECURE 0x0
+#define NAND_LOCK_APER_END3_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END3_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END3_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END3_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END3_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END3_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END3_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END3_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END3_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END3_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END3_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END3_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END3_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END3_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END3_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END3_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END4_0
+#define NAND_LOCK_APER_END4_0 _MK_ADDR_CONST(0x9c)
+#define NAND_LOCK_APER_END4_0_SECURE 0x0
+#define NAND_LOCK_APER_END4_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END4_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END4_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END4_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END4_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END4_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END4_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END4_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END4_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END4_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END4_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END4_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END4_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END4_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END4_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END4_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END5_0
+#define NAND_LOCK_APER_END5_0 _MK_ADDR_CONST(0xa0)
+#define NAND_LOCK_APER_END5_0_SECURE 0x0
+#define NAND_LOCK_APER_END5_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END5_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END5_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END5_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END5_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END5_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END5_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END5_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END5_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END5_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END5_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END5_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END5_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END5_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END5_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END5_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END6_0
+#define NAND_LOCK_APER_END6_0 _MK_ADDR_CONST(0xa4)
+#define NAND_LOCK_APER_END6_0_SECURE 0x0
+#define NAND_LOCK_APER_END6_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END6_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END6_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END6_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END6_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END6_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END6_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END6_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END6_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END6_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END6_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END6_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END6_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END6_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END6_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END6_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_END7_0
+#define NAND_LOCK_APER_END7_0 _MK_ADDR_CONST(0xa8)
+#define NAND_LOCK_APER_END7_0_SECURE 0x0
+#define NAND_LOCK_APER_END7_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_END7_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END7_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END7_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END7_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END7_0_READ_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END7_0_WRITE_MASK _MK_MASK_CONST(0xffffffff)
+#define NAND_LOCK_APER_END7_0_ADDR_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_END7_0_ADDR_FIELD (_MK_MASK_CONST(0xffffffff) << NAND_LOCK_APER_END7_0_ADDR_SHIFT)
+#define NAND_LOCK_APER_END7_0_ADDR_RANGE 31:0
+#define NAND_LOCK_APER_END7_0_ADDR_WOFFSET 0x0
+#define NAND_LOCK_APER_END7_0_ADDR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END7_0_ADDR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END7_0_ADDR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_END7_0_ADDR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_LOCK_APER_CHIPID0_0
+#define NAND_LOCK_APER_CHIPID0_0 _MK_ADDR_CONST(0xac)
+#define NAND_LOCK_APER_CHIPID0_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID0_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID0_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID0_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID0_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID0_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID0_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID0_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID0_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID0_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID0_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID0_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID0_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID0_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID0_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID0_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID0_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID0_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID0_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID0_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID0_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID0_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID0_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID0_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID0_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID0_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID0_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID0_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID0_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID0_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID0_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID0_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID0_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID0_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID0_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID0_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID0_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID0_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID0_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID0_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_APER_CHIPID1_0
+#define NAND_LOCK_APER_CHIPID1_0 _MK_ADDR_CONST(0xb0)
+#define NAND_LOCK_APER_CHIPID1_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID1_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID1_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID1_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID1_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID1_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID1_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID1_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID1_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID1_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID1_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID1_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID1_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID1_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID1_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID1_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID1_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID1_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID1_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID1_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID1_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID1_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID1_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID1_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID1_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID1_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID1_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID1_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID1_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID1_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID1_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID1_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID1_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID1_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID1_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID1_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID1_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID1_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID1_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID1_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_APER_CHIPID2_0
+#define NAND_LOCK_APER_CHIPID2_0 _MK_ADDR_CONST(0xb4)
+#define NAND_LOCK_APER_CHIPID2_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID2_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID2_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID2_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID2_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID2_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID2_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID2_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID2_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID2_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID2_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID2_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID2_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID2_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID2_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID2_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID2_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID2_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID2_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID2_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID2_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID2_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID2_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID2_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID2_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID2_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID2_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID2_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID2_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID2_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID2_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID2_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID2_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID2_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID2_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID2_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID2_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID2_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID2_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID2_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_APER_CHIPID3_0
+#define NAND_LOCK_APER_CHIPID3_0 _MK_ADDR_CONST(0xb8)
+#define NAND_LOCK_APER_CHIPID3_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID3_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID3_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID3_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID3_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID3_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID3_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID3_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID3_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID3_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID3_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID3_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID3_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID3_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID3_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID3_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID3_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID3_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID3_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID3_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID3_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID3_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID3_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID3_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID3_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID3_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID3_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID3_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID3_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID3_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID3_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID3_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID3_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID3_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID3_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID3_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID3_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID3_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID3_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID3_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_APER_CHIPID4_0
+#define NAND_LOCK_APER_CHIPID4_0 _MK_ADDR_CONST(0xbc)
+#define NAND_LOCK_APER_CHIPID4_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID4_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID4_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID4_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID4_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID4_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID4_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID4_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID4_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID4_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID4_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID4_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID4_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID4_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID4_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID4_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID4_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID4_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID4_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID4_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID4_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID4_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID4_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID4_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID4_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID4_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID4_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID4_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID4_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID4_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID4_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID4_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID4_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID4_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID4_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID4_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID4_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID4_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID4_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID4_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_APER_CHIPID5_0
+#define NAND_LOCK_APER_CHIPID5_0 _MK_ADDR_CONST(0xc0)
+#define NAND_LOCK_APER_CHIPID5_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID5_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID5_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID5_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID5_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID5_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID5_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID5_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID5_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID5_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID5_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID5_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID5_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID5_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID5_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID5_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID5_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID5_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID5_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID5_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID5_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID5_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID5_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID5_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID5_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID5_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID5_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID5_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID5_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID5_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID5_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID5_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID5_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID5_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID5_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID5_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID5_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID5_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID5_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID5_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_APER_CHIPID6_0
+#define NAND_LOCK_APER_CHIPID6_0 _MK_ADDR_CONST(0xc4)
+#define NAND_LOCK_APER_CHIPID6_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID6_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID6_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID6_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID6_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID6_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID6_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID6_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID6_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID6_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID6_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID6_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID6_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID6_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID6_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID6_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID6_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID6_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID6_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID6_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID6_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID6_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID6_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID6_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID6_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID6_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID6_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID6_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID6_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID6_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID6_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID6_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID6_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID6_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID6_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID6_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID6_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID6_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID6_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID6_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_LOCK_APER_CHIPID7_0
+#define NAND_LOCK_APER_CHIPID7_0 _MK_ADDR_CONST(0xc8)
+#define NAND_LOCK_APER_CHIPID7_0_SECURE 0x0
+#define NAND_LOCK_APER_CHIPID7_0_WORD_COUNT 0x1
+#define NAND_LOCK_APER_CHIPID7_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_READ_MASK _MK_MASK_CONST(0xff)
+#define NAND_LOCK_APER_CHIPID7_0_WRITE_MASK _MK_MASK_CONST(0xff)
+// Memory Protection of aperture[0-7] valid for Chip select7
+#define NAND_LOCK_APER_CHIPID7_0_CS7_SHIFT _MK_SHIFT_CONST(7)
+#define NAND_LOCK_APER_CHIPID7_0_CS7_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS7_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS7_RANGE 7:7
+#define NAND_LOCK_APER_CHIPID7_0_CS7_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS7_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS7_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS7_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS7_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS7_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select7
+
+#define NAND_LOCK_APER_CHIPID7_0_CS7_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select6
+#define NAND_LOCK_APER_CHIPID7_0_CS6_SHIFT _MK_SHIFT_CONST(6)
+#define NAND_LOCK_APER_CHIPID7_0_CS6_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS6_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS6_RANGE 6:6
+#define NAND_LOCK_APER_CHIPID7_0_CS6_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS6_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS6_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS6_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS6_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS6_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select6
+
+#define NAND_LOCK_APER_CHIPID7_0_CS6_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select5
+#define NAND_LOCK_APER_CHIPID7_0_CS5_SHIFT _MK_SHIFT_CONST(5)
+#define NAND_LOCK_APER_CHIPID7_0_CS5_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS5_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS5_RANGE 5:5
+#define NAND_LOCK_APER_CHIPID7_0_CS5_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS5_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS5_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS5_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS5_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS5_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select5
+
+#define NAND_LOCK_APER_CHIPID7_0_CS5_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select4
+#define NAND_LOCK_APER_CHIPID7_0_CS4_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_LOCK_APER_CHIPID7_0_CS4_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS4_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS4_RANGE 4:4
+#define NAND_LOCK_APER_CHIPID7_0_CS4_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS4_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS4_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS4_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS4_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS4_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select4
+
+#define NAND_LOCK_APER_CHIPID7_0_CS4_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select3
+#define NAND_LOCK_APER_CHIPID7_0_CS3_SHIFT _MK_SHIFT_CONST(3)
+#define NAND_LOCK_APER_CHIPID7_0_CS3_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS3_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS3_RANGE 3:3
+#define NAND_LOCK_APER_CHIPID7_0_CS3_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS3_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS3_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS3_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS3_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS3_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select3
+
+#define NAND_LOCK_APER_CHIPID7_0_CS3_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select2
+#define NAND_LOCK_APER_CHIPID7_0_CS2_SHIFT _MK_SHIFT_CONST(2)
+#define NAND_LOCK_APER_CHIPID7_0_CS2_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS2_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS2_RANGE 2:2
+#define NAND_LOCK_APER_CHIPID7_0_CS2_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS2_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS2_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS2_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS2_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS2_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select2
+
+#define NAND_LOCK_APER_CHIPID7_0_CS2_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select1
+#define NAND_LOCK_APER_CHIPID7_0_CS1_SHIFT _MK_SHIFT_CONST(1)
+#define NAND_LOCK_APER_CHIPID7_0_CS1_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS1_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS1_RANGE 1:1
+#define NAND_LOCK_APER_CHIPID7_0_CS1_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS1_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS1_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS1_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS1_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS1_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select1
+
+#define NAND_LOCK_APER_CHIPID7_0_CS1_ENABLE _MK_ENUM_CONST(1)
+
+// Memory Protection of aperture[0-7] valid for Chip select0
+#define NAND_LOCK_APER_CHIPID7_0_CS0_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_LOCK_APER_CHIPID7_0_CS0_FIELD (_MK_MASK_CONST(0x1) << NAND_LOCK_APER_CHIPID7_0_CS0_SHIFT)
+#define NAND_LOCK_APER_CHIPID7_0_CS0_RANGE 0:0
+#define NAND_LOCK_APER_CHIPID7_0_CS0_WOFFSET 0x0
+#define NAND_LOCK_APER_CHIPID7_0_CS0_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS0_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS0_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_LOCK_APER_CHIPID7_0_CS0_DISABLE _MK_ENUM_CONST(0) // // Memory Protection of aperture[0-7] not valid for Chip select0
+
+#define NAND_LOCK_APER_CHIPID7_0_CS0_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_BCH_CONFIG_0
+#define NAND_BCH_CONFIG_0 _MK_ADDR_CONST(0xcc)
+#define NAND_BCH_CONFIG_0_SECURE 0x0
+#define NAND_BCH_CONFIG_0_WORD_COUNT 0x1
+#define NAND_BCH_CONFIG_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_RESET_MASK _MK_MASK_CONST(0x31)
+#define NAND_BCH_CONFIG_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_READ_MASK _MK_MASK_CONST(0x31)
+#define NAND_BCH_CONFIG_0_WRITE_MASK _MK_MASK_CONST(0x31)
+// BCH error correction strength selection 16 single bit random errors per sector
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_SHIFT _MK_SHIFT_CONST(4)
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_FIELD (_MK_MASK_CONST(0x3) << NAND_BCH_CONFIG_0_BCH_TVALUE_SHIFT)
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_RANGE 5:4
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_WOFFSET 0x0
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_DEFAULT_MASK _MK_MASK_CONST(0x3)
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_BCH_TVAL4 _MK_ENUM_CONST(0) // // 4 single bit random errors per sector
+
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_BCH_TVAL8 _MK_ENUM_CONST(1) // // 8 single bit random errors per sector
+
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_BCH_TVAL14 _MK_ENUM_CONST(2) // // 14 single bit random errors per sector
+
+#define NAND_BCH_CONFIG_0_BCH_TVALUE_BCH_TVAL16 _MK_ENUM_CONST(3)
+
+// BCH encoder & decoder is enabled
+#define NAND_BCH_CONFIG_0_BCH_ECC_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_BCH_CONFIG_0_BCH_ECC_FIELD (_MK_MASK_CONST(0x1) << NAND_BCH_CONFIG_0_BCH_ECC_SHIFT)
+#define NAND_BCH_CONFIG_0_BCH_ECC_RANGE 0:0
+#define NAND_BCH_CONFIG_0_BCH_ECC_WOFFSET 0x0
+#define NAND_BCH_CONFIG_0_BCH_ECC_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_BCH_ECC_DEFAULT_MASK _MK_MASK_CONST(0x1)
+#define NAND_BCH_CONFIG_0_BCH_ECC_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_BCH_ECC_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_CONFIG_0_BCH_ECC_DISABLE _MK_ENUM_CONST(0) // // BCH encoder & decoder is not enabled
+
+#define NAND_BCH_CONFIG_0_BCH_ECC_ENABLE _MK_ENUM_CONST(1)
+
+
+// Register NAND_BCH_DEC_RESULT_0
+#define NAND_BCH_DEC_RESULT_0 _MK_ADDR_CONST(0xd0)
+#define NAND_BCH_DEC_RESULT_0_SECURE 0x0
+#define NAND_BCH_DEC_RESULT_0_WORD_COUNT 0x1
+#define NAND_BCH_DEC_RESULT_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_READ_MASK _MK_MASK_CONST(0x1ff)
+#define NAND_BCH_DEC_RESULT_0_WRITE_MASK _MK_MASK_CONST(0x0)
+// 1 = Correctable OR Un-correctable errors occurred in the DMA transfer
+// without regard to HW_ERR_CORRECTION feature is enabled or not.
+// Use extended decode results in NAND_DEC_RESULT and NAND_DEC_STATUS_EXT
+// to figure out further action for block replacement/wear leveling during
+// file system management for s/w.
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_FIELD (_MK_MASK_CONST(0x1) << NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_SHIFT)
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_RANGE 8:8
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_WOFFSET 0x0
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_CORRFAIL_ERR_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// No. of pages resulted either in un-correctable or correctable errors
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_FIELD (_MK_MASK_CONST(0xff) << NAND_BCH_DEC_RESULT_0_PAGE_COUNT_SHIFT)
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_RANGE 7:0
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_WOFFSET 0x0
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_RESULT_0_PAGE_COUNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Register NAND_BCH_DEC_STATUS_BUF_0
+#define NAND_BCH_DEC_STATUS_BUF_0 _MK_ADDR_CONST(0xd4)
+#define NAND_BCH_DEC_STATUS_BUF_0_SECURE 0x0
+#define NAND_BCH_DEC_STATUS_BUF_0_WORD_COUNT 0x1
+#define NAND_BCH_DEC_STATUS_BUF_0_RESET_VAL _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_RESET_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_SW_DEFAULT_VAL _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_READ_MASK _MK_MASK_CONST(0xffff7fff)
+#define NAND_BCH_DEC_STATUS_BUF_0_WRITE_MASK _MK_MASK_CONST(0x0)
+// Sector wise un-correctable error indicator
+// Bit 31 = 1, sector 7 has un-correctable errors
+// Bit 31 = 0, sector 7 has no un-correctable errors
+// ...
+// Bit 24 = 1, sector 0 has un-correctable errors
+// Bit 24 = 0, sector 0 has no un-correctable errors
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_SHIFT _MK_SHIFT_CONST(24)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_FIELD (_MK_MASK_CONST(0xff) << NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_SHIFT)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_RANGE 31:24
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_WOFFSET 0x0
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_SEC_FLAG_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Sector wise correctable error indicator
+// Bit 23 = 1, sector 7 has correctable errors
+// Bit 23 = 0, sector 7 has no correctable errors
+// ...
+// Bit 16 = 1, sector 0 has correctable errors
+// Bit 16 = 0, sector 0 has no correctable errors
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_SHIFT _MK_SHIFT_CONST(16)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_FIELD (_MK_MASK_CONST(0xff) << NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_SHIFT)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_RANGE 23:16
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_WOFFSET 0x0
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_SEC_FLAG_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Spare area error decode resulted in un-correctable errors
+// in case of RS/Hamming ECC selection.
+// For BCH this field is not applicable.
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_SHIFT _MK_SHIFT_CONST(14)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_FIELD (_MK_MASK_CONST(0x1) << NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_SHIFT)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_RANGE 14:14
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_WOFFSET 0x0
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_FAIL_TAG_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Spare area error decode resulted in correctable errors
+// in case of RS/Hamming ECC selection.
+// For BCH this field is not applicable.
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_SHIFT _MK_SHIFT_CONST(13)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_FIELD (_MK_MASK_CONST(0x1) << NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_SHIFT)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_RANGE 13:13
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_WOFFSET 0x0
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_CORR_TAG_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Maximum no. of correctable errors occurred out of all sectors.
+// For example of 2K page, if sector 0 has 2 correctable errors
+// and sector3 has 4 errors MAX_ERR_CNT will reflect as 4
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_SHIFT _MK_SHIFT_CONST(8)
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_FIELD (_MK_MASK_CONST(0x1f) << NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_SHIFT)
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_RANGE 12:8
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_WOFFSET 0x0
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_MAX_CORR_CNT_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+// Page number which resulted in either correctable/un-correctable errors
+// 0 to 63 indicattion for 64 pages of DMA transfer.
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_SHIFT _MK_SHIFT_CONST(0)
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_FIELD (_MK_MASK_CONST(0xff) << NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_SHIFT)
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_RANGE 7:0
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_WOFFSET 0x0
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_DEFAULT_MASK _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_SW_DEFAULT _MK_MASK_CONST(0x0)
+#define NAND_BCH_DEC_STATUS_BUF_0_PAGE_NUMBER_SW_DEFAULT_MASK _MK_MASK_CONST(0x0)
+
+
+// Packet CMDQ_CMD
+#define CMDQ_CMD_SIZE 32
+
+// Pakcet ID
+#define CMDQ_CMD_PKT_ID_SHIFT _MK_SHIFT_CONST(24)
+#define CMDQ_CMD_PKT_ID_FIELD (_MK_MASK_CONST(0xff) << CMDQ_CMD_PKT_ID_SHIFT)
+#define CMDQ_CMD_PKT_ID_RANGE _MK_SHIFT_CONST(31):_MK_SHIFT_CONST(24)
+#define CMDQ_CMD_PKT_ID_ROW 0
+
+// not used range
+#define CMDQ_CMD_RSVD_SHIFT _MK_SHIFT_CONST(14)
+#define CMDQ_CMD_RSVD_FIELD (_MK_MASK_CONST(0x3ff) << CMDQ_CMD_RSVD_SHIFT)
+#define CMDQ_CMD_RSVD_RANGE _MK_SHIFT_CONST(23):_MK_SHIFT_CONST(14)
+#define CMDQ_CMD_RSVD_ROW 0
+
+// ENABLE = NAND_COMMAND register requires update in this packet execution
+#define CMDQ_CMD_COMMAND_SHIFT _MK_SHIFT_CONST(13)
+#define CMDQ_CMD_COMMAND_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_COMMAND_SHIFT)
+#define CMDQ_CMD_COMMAND_RANGE _MK_SHIFT_CONST(13):_MK_SHIFT_CONST(13)
+#define CMDQ_CMD_COMMAND_ROW 0
+#define CMDQ_CMD_COMMAND_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_COMMAND_ENABLE _MK_ENUM_CONST(1)
+
+// ENABLE = NAND_HWSTATUS_MASK register requires update in this packet execution
+#define CMDQ_CMD_HWSTATUS_MASK_SHIFT _MK_SHIFT_CONST(12)
+#define CMDQ_CMD_HWSTATUS_MASK_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_HWSTATUS_MASK_SHIFT)
+#define CMDQ_CMD_HWSTATUS_MASK_RANGE _MK_SHIFT_CONST(12):_MK_SHIFT_CONST(12)
+#define CMDQ_CMD_HWSTATUS_MASK_ROW 0
+#define CMDQ_CMD_HWSTATUS_MASK_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_HWSTATUS_MASK_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_HWSTATUS_CMD_SHIFT _MK_SHIFT_CONST(11)
+#define CMDQ_CMD_HWSTATUS_CMD_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_HWSTATUS_CMD_SHIFT)
+#define CMDQ_CMD_HWSTATUS_CMD_RANGE _MK_SHIFT_CONST(11):_MK_SHIFT_CONST(11)
+#define CMDQ_CMD_HWSTATUS_CMD_ROW 0
+#define CMDQ_CMD_HWSTATUS_CMD_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_HWSTATUS_CMD_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_CMD_REG2_SHIFT _MK_SHIFT_CONST(10)
+#define CMDQ_CMD_CMD_REG2_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_CMD_REG2_SHIFT)
+#define CMDQ_CMD_CMD_REG2_RANGE _MK_SHIFT_CONST(10):_MK_SHIFT_CONST(10)
+#define CMDQ_CMD_CMD_REG2_ROW 0
+#define CMDQ_CMD_CMD_REG2_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_CMD_REG2_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_CMD_REG1_SHIFT _MK_SHIFT_CONST(9)
+#define CMDQ_CMD_CMD_REG1_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_CMD_REG1_SHIFT)
+#define CMDQ_CMD_CMD_REG1_RANGE _MK_SHIFT_CONST(9):_MK_SHIFT_CONST(9)
+#define CMDQ_CMD_CMD_REG1_ROW 0
+#define CMDQ_CMD_CMD_REG1_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_CMD_REG1_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_ADDR_REG2_SHIFT _MK_SHIFT_CONST(8)
+#define CMDQ_CMD_ADDR_REG2_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_ADDR_REG2_SHIFT)
+#define CMDQ_CMD_ADDR_REG2_RANGE _MK_SHIFT_CONST(8):_MK_SHIFT_CONST(8)
+#define CMDQ_CMD_ADDR_REG2_ROW 0
+#define CMDQ_CMD_ADDR_REG2_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_ADDR_REG2_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_ADDR_REG1_SHIFT _MK_SHIFT_CONST(7)
+#define CMDQ_CMD_ADDR_REG1_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_ADDR_REG1_SHIFT)
+#define CMDQ_CMD_ADDR_REG1_RANGE _MK_SHIFT_CONST(7):_MK_SHIFT_CONST(7)
+#define CMDQ_CMD_ADDR_REG1_ROW 0
+#define CMDQ_CMD_ADDR_REG1_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_ADDR_REG1_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_MST_CTRL_SHIFT _MK_SHIFT_CONST(6)
+#define CMDQ_CMD_MST_CTRL_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_MST_CTRL_SHIFT)
+#define CMDQ_CMD_MST_CTRL_RANGE _MK_SHIFT_CONST(6):_MK_SHIFT_CONST(6)
+#define CMDQ_CMD_MST_CTRL_ROW 0
+#define CMDQ_CMD_MST_CTRL_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_MST_CTRL_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_ECC_PTR_SHIFT _MK_SHIFT_CONST(5)
+#define CMDQ_CMD_ECC_PTR_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_ECC_PTR_SHIFT)
+#define CMDQ_CMD_ECC_PTR_RANGE _MK_SHIFT_CONST(5):_MK_SHIFT_CONST(5)
+#define CMDQ_CMD_ECC_PTR_ROW 0
+#define CMDQ_CMD_ECC_PTR_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_ECC_PTR_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_TAG_PTR_SHIFT _MK_SHIFT_CONST(4)
+#define CMDQ_CMD_TAG_PTR_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_TAG_PTR_SHIFT)
+#define CMDQ_CMD_TAG_PTR_RANGE _MK_SHIFT_CONST(4):_MK_SHIFT_CONST(4)
+#define CMDQ_CMD_TAG_PTR_ROW 0
+#define CMDQ_CMD_TAG_PTR_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_TAG_PTR_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_DATA_BLOCK_PTR_SHIFT _MK_SHIFT_CONST(3)
+#define CMDQ_CMD_DATA_BLOCK_PTR_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_DATA_BLOCK_PTR_SHIFT)
+#define CMDQ_CMD_DATA_BLOCK_PTR_RANGE _MK_SHIFT_CONST(3):_MK_SHIFT_CONST(3)
+#define CMDQ_CMD_DATA_BLOCK_PTR_ROW 0
+#define CMDQ_CMD_DATA_BLOCK_PTR_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_DATA_BLOCK_PTR_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_DMA_CNFGB_SHIFT _MK_SHIFT_CONST(2)
+#define CMDQ_CMD_DMA_CNFGB_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_DMA_CNFGB_SHIFT)
+#define CMDQ_CMD_DMA_CNFGB_RANGE _MK_SHIFT_CONST(2):_MK_SHIFT_CONST(2)
+#define CMDQ_CMD_DMA_CNFGB_ROW 0
+#define CMDQ_CMD_DMA_CNFGB_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_DMA_CNFGB_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_DMA_CNFGA_SHIFT _MK_SHIFT_CONST(1)
+#define CMDQ_CMD_DMA_CNFGA_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_DMA_CNFGA_SHIFT)
+#define CMDQ_CMD_DMA_CNFGA_RANGE _MK_SHIFT_CONST(1):_MK_SHIFT_CONST(1)
+#define CMDQ_CMD_DMA_CNFGA_ROW 0
+#define CMDQ_CMD_DMA_CNFGA_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_DMA_CNFGA_ENABLE _MK_ENUM_CONST(1)
+
+//
+#define CMDQ_CMD_CONFIG_SHIFT _MK_SHIFT_CONST(0)
+#define CMDQ_CMD_CONFIG_FIELD (_MK_MASK_CONST(0x1) << CMDQ_CMD_CONFIG_SHIFT)
+#define CMDQ_CMD_CONFIG_RANGE _MK_SHIFT_CONST(0):_MK_SHIFT_CONST(0)
+#define CMDQ_CMD_CONFIG_ROW 0
+#define CMDQ_CMD_CONFIG_DISABLE _MK_ENUM_CONST(0)
+#define CMDQ_CMD_CONFIG_ENABLE _MK_ENUM_CONST(1)
+
+
+//
+// REGISTER LIST
+//
+#define LIST_ARNANDFLASH_REGS(_op_) \
+_op_(NAND_COMMAND_0) \
+_op_(NAND_STATUS_0) \
+_op_(NAND_ISR_0) \
+_op_(NAND_IER_0) \
+_op_(NAND_CONFIG_0) \
+_op_(NAND_TIMING_0) \
+_op_(NAND_RESP_0) \
+_op_(NAND_TIMING2_0) \
+_op_(NAND_CMD_REG1_0) \
+_op_(NAND_CMD_REG2_0) \
+_op_(NAND_ADDR_REG1_0) \
+_op_(NAND_ADDR_REG2_0) \
+_op_(NAND_DMA_MST_CTRL_0) \
+_op_(NAND_DMA_CFG_A_0) \
+_op_(NAND_DMA_CFG_B_0) \
+_op_(NAND_FIFO_CTRL_0) \
+_op_(NAND_DATA_BLOCK_PTR_0) \
+_op_(NAND_TAG_PTR_0) \
+_op_(NAND_ECC_PTR_0) \
+_op_(NAND_DEC_STATUS_0) \
+_op_(NAND_HWSTATUS_CMD_0) \
+_op_(NAND_HWSTATUS_MASK_0) \
+_op_(NAND_LL_CONFIG_0) \
+_op_(NAND_LL_PTR_0) \
+_op_(NAND_LL_STATUS_0) \
+_op_(NAND_LOCK_CONTROL_0) \
+_op_(NAND_LOCK_STATUS_0) \
+_op_(NAND_LOCK_APER_START0_0) \
+_op_(NAND_LOCK_APER_START1_0) \
+_op_(NAND_LOCK_APER_START2_0) \
+_op_(NAND_LOCK_APER_START3_0) \
+_op_(NAND_LOCK_APER_START4_0) \
+_op_(NAND_LOCK_APER_START5_0) \
+_op_(NAND_LOCK_APER_START6_0) \
+_op_(NAND_LOCK_APER_START7_0) \
+_op_(NAND_LOCK_APER_END0_0) \
+_op_(NAND_LOCK_APER_END1_0) \
+_op_(NAND_LOCK_APER_END2_0) \
+_op_(NAND_LOCK_APER_END3_0) \
+_op_(NAND_LOCK_APER_END4_0) \
+_op_(NAND_LOCK_APER_END5_0) \
+_op_(NAND_LOCK_APER_END6_0) \
+_op_(NAND_LOCK_APER_END7_0) \
+_op_(NAND_LOCK_APER_CHIPID0_0) \
+_op_(NAND_LOCK_APER_CHIPID1_0) \
+_op_(NAND_LOCK_APER_CHIPID2_0) \
+_op_(NAND_LOCK_APER_CHIPID3_0) \
+_op_(NAND_LOCK_APER_CHIPID4_0) \
+_op_(NAND_LOCK_APER_CHIPID5_0) \
+_op_(NAND_LOCK_APER_CHIPID6_0) \
+_op_(NAND_LOCK_APER_CHIPID7_0) \
+_op_(NAND_BCH_CONFIG_0) \
+_op_(NAND_BCH_DEC_RESULT_0) \
+_op_(NAND_BCH_DEC_STATUS_BUF_0)
+
+
+//
+// ADDRESS SPACES
+//
+
+#define BASE_ADDRESS_NAND 0x00000000
+
+//
+// ARNANDFLASH REGISTER BANKS
+//
+
+#define NAND0_FIRST_REG 0x0000 // NAND_COMMAND_0
+#define NAND0_LAST_REG 0x00d4 // NAND_BCH_DEC_STATUS_BUF_0
+
+#ifndef _MK_SHIFT_CONST
+ #define _MK_SHIFT_CONST(_constant_) _constant_
+#endif
+#ifndef _MK_MASK_CONST
+ #define _MK_MASK_CONST(_constant_) _constant_
+#endif
+#ifndef _MK_ENUM_CONST
+ #define _MK_ENUM_CONST(_constant_) (_constant_ ## UL)
+#endif
+#ifndef _MK_ADDR_CONST
+ #define _MK_ADDR_CONST(_constant_) _constant_
+#endif
+
+#endif // ifndef ___ARNANDFLASH_H_INC_
diff --git a/arch/arm/mach-tegra/include/mach/nand.h b/arch/arm/mach-tegra/include/mach/nand.h
new file mode 100644
index 000000000000..6f0e95b13662
--- /dev/null
+++ b/arch/arm/mach-tegra/include/mach/nand.h
@@ -0,0 +1,31 @@
+/*
+ * arch/arm/mach-tegra/include/mach/nand.h
+ *
+ * Copyright (c) 2009, NVIDIA Corporation.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __MACH_TEGRA_NAND_H
+#define __MACH_TEGRA_NAND_H
+
+#include <linux/mtd/partitions.h>
+
+struct tegra_nand_platform {
+ struct mtd_partition *parts;
+ unsigned int nr_parts;
+};
+
+#endif
diff --git a/arch/arm/mach-tegra/include/nvddk_nand.h b/arch/arm/mach-tegra/include/nvddk_nand.h
new file mode 100644
index 000000000000..84d963b02d40
--- /dev/null
+++ b/arch/arm/mach-tegra/include/nvddk_nand.h
@@ -0,0 +1,599 @@
+/*
+ * Copyright (c) 2008-2009 NVIDIA Corporation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ *
+ * Neither the name of the NVIDIA Corporation nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+/**
+ * @file
+ * <b> NVIDIA Driver Development Kit: NAND Flash Controller Interface</b>
+ *
+ * @b Description: This file declares the interface for the NAND module.
+ */
+
+#ifndef INCLUDED_NVDDK_NAND_H
+#define INCLUDED_NVDDK_NAND_H
+
+/**
+ * @defgroup nvddk_nand NAND Flash Controller Interface
+ *
+ * This driver provides the interface to access external NAND flash devices
+ * that are interfaced to the SOC.
+ * It provides the APIs to access the NAND flash physically (in raw block number
+ * and page numbers) and logically (in logical block number through
+ * block device interface).
+ * It does not support any software ECC algorithms. It makes use of hardware ECC
+ * features supported by NAND Controller for validating the data.
+ * It supports accessing NAND flash devices in interleave mode.
+ *
+ * @ingroup nvddk_modules
+ * @{
+ */
+
+#include "nvcommon.h"
+#include "nvos.h"
+#include "nvrm_init.h"
+#include "nvodm_query_nand.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * NvDdkNandHandle is an opaque context to the NvDdkNandRec interface.
+ */
+typedef struct NvDdkNandRec *NvDdkNandHandle;
+
+
+enum{ MAX_NAND_SUPPORTED = 8};
+
+
+/**
+ * NAND flash device information.
+ */
+typedef struct
+{
+ /// Vendor ID.
+ NvU8 VendorId;
+ /// Device ID.
+ NvU8 DeviceId;
+ /**
+ * Redundant area size per page to write any tag information. This will
+ * be calculated as:
+ * <pre> TagSize = spareAreaSize - mainAreaEcc - SpareAreaEcc </pre>
+ * Shim layer is always supposed to request in multiples
+ * of this number when spare area operations are requested.
+ */
+ NvU8 TagSize;
+ /// Bus width of the chip: can be 8- or 16-bit.
+ NvU8 BusWidth;
+ /// Page size in bytes, includes only data area, no redundant area.
+ NvU32 PageSize;
+ /// Number of Pages per block.
+ NvU32 PagesPerBlock;
+ /// Total number of blocks that are present in the NAND flash device.
+ NvU32 NoOfBlocks;
+ /**
+ * Holds the zones per flash device--minimum value possible is 1.
+ * Zone is a group of contiguous blocks among which internal copy back can
+ * be performed, if the chip supports copy-back operation.
+ * Zone is also referred as plane or district by some flashes.
+ */
+ NvU32 ZonesPerDevice;
+ /**
+ * Total device capacity in kilobytes.
+ * Includes only data area, no redundant area.
+ */
+ NvU32 DeviceCapacityInKBytes;
+ /// Interleave capability of the flash.
+ NvOdmNandInterleaveCapability InterleaveCapability;
+ /// Device type: SLC or MLC.
+ NvOdmNandFlashType NandType;
+ /// Number of NAND flash devices present on the board.
+ NvU8 NumberOfDevices;
+ // Size of Spare area
+ NvU32 NumSpareAreaBytes;
+ // Offset of Tag data in the spare area.
+ NvU32 TagOffset;
+}NvDdkNandDeviceInfo;
+
+/**
+ * Information related to a physical block.
+ */
+typedef struct
+{
+ /// Tag information of the block.
+ NvU8* pTagBuffer;
+ /// Number of bytes to copy in tag buffer.
+ NvU32 TagBufferSize;
+ /// Determines whether the block is factory good block or not.
+ /// - NV_TRUE if factory good block.
+ /// - NV_FALSE if factory bad block.
+ NvBool IsFactoryGoodBlock;
+ /// Gives the lock status of the block.
+ NvBool IsBlockLocked;
+}NandBlockInfo;
+
+
+/**
+ * NAND DDK capabilities.
+ */
+typedef struct
+{
+ /**
+ * Flag indicating whether or not ECC is supported by the driver.
+ * NV_TRUE means it supports ECC, else not supported.
+ */
+ NvBool IsEccSupported;
+ /**
+ * Flag indicating whether or not interleaving operation is
+ * supported by the driver.
+ * NV_TRUE means it supports interleaving, else not supported.
+ */
+ NvBool IsInterleavingSupported;
+ /// Whether the command queue mode is supported by the SOC.
+ NvBool IsCommandQueueModeSupported;
+ /// Whether EDO mode is suported by the SOC.
+ NvBool IsEdoModeSupported;
+ /// Number of ECC parity bytes per spare area.
+ NvU8 TagEccParitySize;
+ /// Total number of NAND devices supported by SOC.
+ NvU32 NumberOfDevicesSupported;
+ /// Maximum data size that DMA can transfer.
+ NvU32 MaxDataTransferSize;
+ /// NAND controller default timing register value.
+ NvU32 ControllerDefaultTiming;
+ NvBool IsBCHEccSupported;
+}NvDdkNandDriverCapabilities;
+
+/**
+ * The structure for locking of required NAND flash pages.
+ */
+typedef struct
+{
+ /// Device number of the flash being protected by lock feature.
+ NvU8 DeviceNumber;
+ /// Starting page number, from where NAND lock feature should protect data.
+ NvU32 StartPageNumber;
+ /// Ending page number, up to where NAND lock feature should protect data.
+ NvU32 EndPageNumber;
+}LockParams;
+
+/*
+ * Macro to get expression for modulo value that is power of 2
+ * Expression: DIVIDEND % (pow(2, Log2X))
+ */
+#define MACRO_MOD_LOG2NUM(DIVIDEND, Log2X) \
+ ((DIVIDEND) & ((1 << (Log2X)) - 1))
+
+/*
+ * Macro to get expression for multiply by number which is power of 2
+ * Expression: VAL * (1 << Log2Num)
+ */
+#define MACRO_POW2_LOG2NUM(Log2Num) \
+ (1 << (Log2Num))
+
+/*
+ * Macro to get expression for multiply by number which is power of 2
+ * Expression: VAL * (1 << Log2Num)
+ */
+#define MACRO_MULT_POW2_LOG2NUM(VAL, Log2Num) \
+ ((VAL) << (Log2Num))
+
+/*
+ * Macro to get expression for div by number that is power of 2
+ * Expression: VAL / (1 << Log2Num)
+ */
+#define MACRO_DIV_POW2_LOG2NUM(VAL, Log2Num) \
+ ((VAL) >> (Log2Num))
+
+/**
+ * Initializes the NAND Controller and returns a created handle to the client.
+ * Only one instance of the handle can be created.
+ *
+ * @pre NAND client must call this API first before calling any further NAND APIs.
+ *
+ * @param hRmDevice Handle to RM device.
+ * @param phNand Returns the created handle.
+ *
+ * @retval NvSuccess Initialization is successful.
+ * @retval NvError_AlreadyAllocated The NAND device is already in use.
+ */
+NvError NvDdkNandOpen(NvRmDeviceHandle hRmDevice, NvDdkNandHandle *phNand);
+
+/**
+ * Closes the NAND controller and frees the handle.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ *
+ */
+void NvDdkNandClose(NvDdkNandHandle hNand);
+
+/**
+ * Reads the data from the selected NAND device(s) synchronously.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param StartDeviceNum The Device number, which read operation has to be
+ * started from. It starts from value '0'.
+ * @param pPageNumbers A pointer to an array containing page numbers for
+ * each NAND Device. If there are (n + 1) NAND Devices, then
+ * array size should be (n + 1).
+ * - pPageNumbers[0] gives page number to access in NAND Device 0.
+ * - pPageNumbers[1] gives page number to access in NAND Device 1.
+ * - ....................................
+ * - pPageNumbers[n] gives page number to access in NAND Device n.
+ *
+ * If NAND Device 'n' should not be accessed, fill pPageNumbers[n] as
+ * 0xFFFFFFFF.
+ * If the read starts from NAND Device 'n', all the page numbers
+ * in the array should correspond to the same row, even though we don't
+ * access the same row pages for '0' to 'n-1' Devices.
+ * @param pDataBuffer A pointer to read the page data into. The size of buffer
+ * should be (*pNoOfPages * PageSize).
+ * @param pTagBuffer Pointer to read the tag data into. The size of buffer
+ * should be (*pNoOfPages * TagSize).
+ * @param pNoOfPages The number of pages to read. This count should include
+ * only valid page count. Consder that total NAND devices present is 4,
+ * Need to read 1 page from Device1 and 1 page from Device3. In this case,
+ * \a StartDeviceNum should be 1 and Number of pages should be 2.
+ * \a pPageNumbers[0] and \a pPageNumbers[2] should have 0xFFFFFFFF.
+ * \a pPageNumbers[1] and \a pPageNumbers[3] should have valid page numbers.
+ * The same pointer returns the number of pages read successfully.
+ * @param IgnoreEccError If set to NV_TRUE, it ignores the ECC error and
+ * continues to read the subsequent pages with out aborting read operation.
+ * This is required during bad block replacements.
+ *
+ * @retval NvSuccess NAND read operation completed successfully.
+ * @retval NvError_NandReadEccFailed Indicates NAND read encountered ECC
+ * errors that cannot be corrected.
+ * @retval NvError_NandErrorThresholdReached Indicates NAND read encountered
+ * correctable ECC errors and they are equal to the threshold value set.
+ * @retval NvError_NandOperationFailed NAND read operation failed.
+ */
+NvError
+NvDdkNandRead(
+ NvDdkNandHandle hNand,
+ NvU8 StartDeviceNum,
+ NvU32* pPageNumbers,
+ NvU8* const pDataBuffer,
+ NvU8* const pTagBuffer,
+ NvU32 *pNoOfPages,
+ NvBool IgnoreEccError);
+
+/**
+ * Writes the data to the selected NAND device(s) synchronously.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param StartDeviceNum The device number, which write operation has to be
+ * started from. It starts from value '0'.
+ * @param pPageNumbers A pointer to an array containing page numbers for
+ * each NAND Device. If there are (n + 1) NAND Devices, then
+ * array size should be (n + 1).
+ * - pPageNumbers[0] gives page number to access in NAND Device 0.
+ * - pPageNumbers[1] gives page number to access in NAND Device 1.
+ * - ....................................
+ * - pPageNumbers[n] gives page number to access in NAND Device n.
+ *
+ * If NAND Device 'n' should not be accessed, fill \a pPageNumbers[n] as
+ * 0xFFFFFFFF.
+ * If the read starts from NAND device 'n', all the page numbers
+ * in the array should correspond to the same row, even though we don't
+ * access the same row pages for '0' to 'n-1' Devices.
+ * @param pDataBuffer A pointer to read the page data into. The size of buffer
+ * should be (*pNoOfPages * PageSize).
+ * @param pTagBuffer Pointer to read the tag data into. The size of buffer
+ * should be (*pNoOfPages * TagSize).
+ * @param pNoOfPages The number of pages to write. This count should include
+ * only valid page count. Consder that total NAND devices present is 4,
+ * Need to write 1 page to Device1 and 1 page to Device3. In this case,
+ * \a StartDeviceNum should be 1 and Number of pages should be 2.
+ * \a pPageNumbers[0] and \a pPageNumbers[2] should have 0xFFFFFFFF.
+ * \a pPageNumbers[1] and \a pPageNumbers[3] should have valid page numbers.
+ * The same pointer returns the number of pages written successfully.
+ *
+ * @retval NvSuccess Operation completed successfully.
+ * @retval NvError_NandOperationFailed Operation failed.
+ */
+NvError
+NvDdkNandWrite(
+ NvDdkNandHandle hNand,
+ NvU8 StartDeviceNum,
+ NvU32* pPageNumbers,
+ const NvU8* pDataBuffer,
+ const NvU8* pTagBuffer,
+ NvU32 *pNoOfPages);
+
+/**
+ * Erases the selected blocks from the NAND device(s) synchronously.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param StartDeviceNum The Device number, which erase operation has to be
+ * started from. It starts from value '0'.
+ * @param pPageNumbers A pointer to an array containing page numbers for
+ * each NAND Device. If there are (n + 1) NAND Devices, then
+ * array size should be (n + 1).
+ * - pPageNumbers[0] gives page number to access in NAND Device 0.
+ * - pPageNumbers[1] gives page number to access in NAND Device 1.
+ * - ....................................
+ * - pPageNumbers[n] gives page number to access in NAND Device n.
+ *
+ * If NAND Device 'n' should not be accessed, fill pPageNumbers[n] as
+ * 0xFFFFFFFF.
+ * If the read starts from NAND device 'n', all the page numbers
+ * in the array should correspond to the same row, even though we don't
+ * access the same row pages for '0' to 'n-1' Devices.
+ * @param pNumberOfBlocks The number of blocks to erase. This count should include
+ * only valid block count. Consder that total NAND devices present is 4,
+ * Need to erase 1 block from Device1 and 1 block from Device3. In this case,
+ * \a StartDeviceNum should be 1 and Number of blocks should be 2.
+ * \a pPageNumbers[0] and \a pPageNumbers[2] should have 0xFFFFFFFF.
+ * \a pPageNumbers[1] and \a pPageNumbers[3] should have valid page numbers
+ * corresponding to blocks.
+ * The same pointer returns the number of blocks erased successfully.
+ *
+ * @retval NvSuccess Operation completed successfully.
+ * @retval NvError_NandOperationFailed Operation failed.
+ */
+NvError
+NvDdkNandErase(
+ NvDdkNandHandle hNand,
+ NvU8 StartDeviceNum,
+ NvU32* pPageNumbers,
+ NvU32* pNumberOfBlocks);
+
+/**
+ * Copies the data in the source page(s) to the destination page(s)
+ * synchronously.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param SrcStartDeviceNum The device number, from which data has to be read
+ * for the copy back operation. It starts from value '0'.
+ * @param DstStartDeviceNum The device number, to which data has to be copied
+ * for the copy back operation. It starts from value '0'.
+ * @param pSrcPageNumbers A pointer to an array containing page numbers for
+ * each NAND Device. If there are (n + 1) NAND Devices, then
+ * array size should be (n + 1).
+ * - pSrcPageNumbers[0] gives page number to access in NAND Device 0.
+ * - pSrcPageNumbers[1] gives page number to access in NAND Device 1.
+ * - ....................................
+ * - pSrcPageNumbers[n] gives page number to access in NAND Device n.
+ *
+ * If NAND Device 'n' should not be accessed, fill \a pSrcPageNumbers[n] as
+ * 0xFFFFFFFF.
+ * If the copy-back starts from NAND devices 'n', all the page numbers
+ * in the array should correspond to the same row, even though we don't
+ * access the same row pages for '0' to 'n-1' Devices.
+ * @param pDestPageNumbers A pointer to an array containing page numbers for
+ * each NAND Device. If there are (n + 1) NAND Devices, then
+ * array size should be (n + 1).
+ * - pDestPageNumbers[0] gives page number to access in NAND Device 0.
+ * - pDestPageNumbers[1] gives page number to access in NAND Device 1.
+ * - ....................................
+ * - pDestPageNumbers[n] gives page number to access in NAND Device n.
+ *
+ * If NAND Device 'n' should not be accessed, fill \a pDestPageNumbers[n] as
+ * 0xFFFFFFFF.
+ * If the Copy-back starts from Interleave column 'n', all the page numbers
+ * in the array should correspond to the same row, even though we don't
+ * access the same row pages for '0' to 'n-1' Devices.
+ * @param pNoOfPages The number of pages to copy-back. This count should include
+ * only valid page count. Consider that total NAND devices present is 4,
+ * Need to Copy-back 1 page from Device1 and 1 page from Device3. In this
+ * case, \a StartDeviceNum should be 1 and Number of pages should be 2.
+ * \a pSrcPageNumbers[0], \a pSrcPageNumbers[2], \a pDestPageNumbers[0] and
+ * \a pDestPageNumbers[2] should have 0xFFFFFFFF. \a pSrcPageNumbers[1],
+ * \a pSrcPageNumbers[3], \a pDestPageNumbers[1] and \a pDestPageNumbers[3]
+ * should have valid page numbers.
+ * The same pointer returns the number of pages copied-back successfully.
+ * @param IgnoreEccError NV_TRUE to ingnore ECC errors, NV_FALSE otherwise.
+ *
+ * @retval NvSuccess Operation completed successfully
+ * @retval NvError_NandOperationFailed Operation failed.
+ */
+NvError
+NvDdkNandCopybackPages(
+ NvDdkNandHandle hNand,
+ NvU8 SrcStartDeviceNum,
+ NvU8 DstStartDeviceNum,
+ NvU32* pSrcPageNumbers,
+ NvU32* pDestPageNumbers,
+ NvU32 *pNoOfPages,
+ NvBool IgnoreEccError);
+
+/**
+ * Gets the NAND flash device information.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param DeviceNumber NAND flash device number.
+ * @param pDeviceInfo Returns the device information.
+ *
+ * @retval NvSuccess Operation completed successfully.
+ * @retval NvError_NandOperationFailed NAND copy back operation failed.
+ */
+ NvError
+ NvDdkNandGetDeviceInfo(
+ NvDdkNandHandle hNand,
+ NvU8 DeviceNumber,
+ NvDdkNandDeviceInfo* pDeviceInfo);
+
+/**
+ * Locks the specified NAND flash pages.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param pFlashLockParams A pointer to the range of pages to be locked.
+ */
+void
+NvDdkNandSetFlashLock(
+ NvDdkNandHandle hNand,
+ LockParams* pFlashLockParams);
+
+/**
+ * Returns the details of the locked apertures, like device number, starting
+ * page number, ending page number of the region locked.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param pFlashLockParams A pointer to first array element of \a LockParams type
+ * with eight elements in the array.
+ * Check if \a pFlashLockParams[i].DeviceNumber == 0xFF, then that aperture is
+ * free to use for locking.
+ */
+void
+NvDdkNandGetLockedRegions(
+ NvDdkNandHandle hNand,
+ LockParams* pFlashLockParams);
+/**
+ * Releases all regions that were locked using NvDdkNandSetFlashLock API.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ */
+void NvDdkNandReleaseFlashLock(NvDdkNandHandle hNand);
+
+/**
+ * Gets the NAND driver capabilities.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param pNandDriverCapabilities Returns the capabilities.
+ *
+ */
+void
+NvDdkNandGetCapabilities(
+ NvDdkNandHandle hNand,
+ NvDdkNandDriverCapabilities* pNandDriverCapabilities);
+
+/**
+ * Gives the block specific information such as tag information, lock status, block good/bad.
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ * @param DeviceNumber Device number in which the requested block exists.
+ * @param BlockNumber Requested physical block number.
+ * @param pBlockInfo Return the block information.
+ * @param SkippedBytesReadEnable NV_TRUE enables reading skipped bytes.
+ *
+ * @retval NvSuccess Success
+ */
+NvError
+NvDdkNandGetBlockInfo(
+ NvDdkNandHandle hNand,
+ NvU32 DeviceNumber,
+ NvU32 BlockNumber,
+ NandBlockInfo* pBlockInfo,
+ NvBool SkippedBytesReadEnable);
+
+/**
+ * Part of static power management, call this API to put the NAND controller
+ * into suspend state. This API is a mechanism for client to augment OS
+ * power management policy.
+ *
+ * The h/w context of the NAND controller is saved. Clock is disabled and power
+ * is also disabled to the controller.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ *
+ * @retval NvSuccess Success
+ * @retval NvError_BadParameter Invalid input parameter value
+ */
+NvError NvDdkNandSuspend(NvDdkNandHandle hNand);
+
+/**
+ * Part of static power management, call this API to wake the NAND controller
+ * from suspend state. This API is a mechanism for client to augment OS power
+ * management policy.
+ *
+ * The h/w context of the NAND controller is restored. Clock is enabled and power
+ * is also enabled to the controller
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ *
+ * @retval NvSuccess Success
+ * @retval NvError_BadParameter Invalid input parameter value
+ */
+NvError NvDdkNandResume(NvDdkNandHandle hNand);
+
+/**
+ * Part of local power management of the driver. Call this API to turn off the
+ * clocks required for NAND controller operation.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ *
+ * @retval NvSuccess Success
+ * @retval NvError_BadParameter Invalid input parameter value
+ */
+NvError NvDdkNandSuspendClocks(NvDdkNandHandle hNand);
+
+/**
+ * Part of local power management of the driver. Call this API to turn on the
+ * clocks required for NAND controller operation.
+ *
+ * @param hNand Handle to the NAND, which is returned by NvDdkNandOpen().
+ *
+ * @retval NvSuccess Success
+ * @retval NvError_BadParameter Invalid input parameter value
+ */
+NvError NvDdkNandResumeClocks(NvDdkNandHandle hNand);
+
+/**
+ * API to read to the spare area.
+ */
+NvError
+NvDdkNandReadSpare(
+ NvDdkNandHandle hNand,
+ NvU8 StartDeviceNum,
+ NvU32* pPageNumbers,
+ NvU8* const pSpareBuffer,
+ NvU8 OffsetInSpareAreaInBytes,
+ NvU8 NumSpareAreaBytes);
+
+/**
+ * API to write to the spare area. Use this API with caution, as there is a
+ * risk of overriding the factory bad block data.
+ */
+NvError
+NvDdkNandWriteSpare(
+ NvDdkNandHandle hNand,
+ NvU8 StartDeviceNum,
+ NvU32* pPageNumbers,
+ NvU8* const pSpareBuffer,
+ NvU8 OffsetInSpareAreaInBytes,
+ NvU8 NumSpareAreaBytes);
+
+/*
+ * Functions shared between Ddk Nand, block driver and FTL code
+ */
+// Function to compare buffer contents
+NvU32 NandUtilMemcmp(const void *pSrc, const void *pDst, NvU32 Size);
+
+// Simple function to get log2, assumed value power of 2, else return
+// log2 for immediately smaller number
+NvU8 NandUtilGetLog2(NvU32 Val);
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @} */
+#endif // INCLUDED_NVDDK_NAND_H