summaryrefslogtreecommitdiff
path: root/nand_spl/board/ads5125/nfc.h
diff options
context:
space:
mode:
Diffstat (limited to 'nand_spl/board/ads5125/nfc.h')
-rw-r--r--nand_spl/board/ads5125/nfc.h122
1 files changed, 122 insertions, 0 deletions
diff --git a/nand_spl/board/ads5125/nfc.h b/nand_spl/board/ads5125/nfc.h
new file mode 100644
index 0000000000..1406118eba
--- /dev/null
+++ b/nand_spl/board/ads5125/nfc.h
@@ -0,0 +1,122 @@
+/*
+ *
+ * (C) Copyright 2009
+ * Martha Marx, Silicon Turnkey Express, mmarx@silicontkx.com
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#define TWO_K 0x800
+#define NUMPAGES 137 /* if u-boot grows .. extend this */
+
+/* NAND Flash Controller Register Offsets */
+#define NFC_BUF_MAIN1 0x0000
+#define NFC_BUF_MAIN2 0x0200
+#define NFC_BUF_MAIN3 0x0400
+#define NFC_BUF_MAIN4 0x0600
+#define NFC_BUF_MAIN5 0x0800
+#define NFC_BUF_MAIN6 0x0A00
+#define NFC_BUF_MAIN7 0x0C00
+#define NFC_BUF_MAIN8 0x0E00
+#define NFC_BUF_SPARE1 0x1000
+#define NFC_BUF_SPARE2 0x1040
+#define NFC_BUF_SPARE3 0x1080
+#define NFC_BUF_SPARE4 0x10c0
+#define NFC_BUF_SPARE5 0x1100
+#define NFC_BUF_SPARE6 0x1140
+#define NFC_BUF_SPARE7 0x1180
+#define NFC_BUF_SPARE8 0x11c0
+
+#define NFC_RAM_BUF_ADDR 0x1e04
+#define NFC_FLASH_ADDR 0x1e06
+#define NFC_FLASH_CMD 0x1e08
+#define NFC_NFC_CFG 0x1e0a
+#define NFC_ECC_STATUS1 0x1e0c
+#define NFC_ECC_STATUS2 0x1e0e
+#define NFC_SPAS 0x1e10
+#define NFC_NF_WR_PROT 0x1e12
+#define NFC_FL_WP_STAT 0x1e18
+#define NFC_NF_CFG1 0x1e1a
+#define NFC_NF_CFG2 0x1e1c
+#define NFC_UNLOCKSTART_BLKADDR0 0x1E20
+#define NFC_UNLOCKEND_BLKADDR0 0x1E22
+#define NFC_UNLOCKSTART_BLKADDR1 0x1E24
+#define NFC_UNLOCKEND_BLKADDR1 0x1E26
+#define NFC_UNLOCKSTART_BLKADDR2 0x1E28
+#define NFC_UNLOCKEND_BLKADDR2 0x1E2A
+#define NFC_UNLOCKSTART_BLKADDR3 0x1E2C
+#define NFC_UNLOCKEND_BLKADDR3 0x1E2E
+
+#define RAM_BUFFER_ADDRESS_RBA_4 0x4
+#define RAM_BUFFER_ADDRESS_RBA_3 0x3
+#define NFC_BUFSIZE_1KB 0x0
+#define NFC_BUFSIZE_2KB 0x1
+#define NFC_CONFIGURATION_UNLOCKED 0x2
+#define ECC_STATUS_RESULT_NO_ERR 0x0
+#define ECC_STATUS_RESULT_1BIT_ERR 0x1
+#define ECC_STATUS_RESULT_2BIT_ERR 0x2
+#define NF_WR_PROT_UNLOCK 0x4
+#define NAND_FLASH_CONFIG1_FORCE_CE (1 << 7)
+#define NAND_FLASH_CONFIG1_RST (1 << 6)
+#define NAND_FLASH_CONFIG1_BIG (1 << 5)
+#define NAND_FLASH_CONFIG1_INT_MSK (1 << 4)
+#define NAND_FLASH_CONFIG1_ECC_EN (1 << 3)
+#define NAND_FLASH_CONFIG1_SP_EN (1 << 2)
+#define NAND_FLASH_CONFIG2_INT_DONE (1 << 15)
+#define NAND_FLASH_CONFIG2_FDO_PAGE (0 << 3)
+#define NAND_FLASH_CONFIG2_FDO_ID (2 << 3)
+#define NAND_FLASH_CONFIG2_FDO_STATUS (4 << 3)
+#define NAND_FLASH_CONFIG2_FDI_EN (1 << 2)
+#define NAND_FLASH_CONFIG2_FADD_EN (1 << 1)
+#define NAND_FLASH_CONFIG2_FCMD_EN (1 << 0)
+#define FDO_PAGE_SPARE_VAL 0x8
+
+/* Bit Definitions */
+#define NFC_INT (1 << 15)
+#define NFC_SP_EN (1 << 2)
+#define NFC_ECC_EN (1 << 3)
+#define NFC_INT_MSK (1 << 4)
+#define NFC_BIG (1 << 5)
+#define NFC_RST (1 << 6)
+#define NFC_CE (1 << 7)
+#define NFC_ONE_CYCLE (1 << 8)
+#define NFC_BLS_LOCKED 0
+#define NFC_BLS_LOCKED_DEFAULT 1
+#define NFC_BLS_UNLOCKED 2
+#define NFC_WPC_LOCK_TIGHT 1
+#define NFC_WPC_LOCK (1 << 1)
+#define NFC_WPC_UNLOCK (1 << 2)
+#define NFC_FLASH_ADDR_SHIFT 0
+#define NFC_UNLOCK_END_ADDR_SHIFT 0
+
+
+
+#define NAND_CMD_RESET 0xff
+#define NFC_ECC_MODE_4 1
+#define NFC_CMD 0x1
+#define NFC_ADDR 0x2
+#define NFC_INPUT 0x4
+#define NFC_OUTPUT 0x8
+#define NFC_ID 0x10
+#define NFC_STATUS 0x20
+#define NAND_CMD_READ0 0
+#define NAND_CMD_READSTART 0x30
+#define NAND_CMD_READCACHE 0x31
+#define NAND_CMD_READCACHEND 0x34
+