]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - include/fsl_nfc.h
mmc: add support for write protection
[karo-tx-uboot.git] / include / fsl_nfc.h
index 1c16c71d45c14f99f733f64003d20522263fbe2c..ff537b49a9cce88e36ee5a78f794edb754e4cde5 100644 (file)
@@ -33,7 +33,7 @@
  *     to support up to 2K byte pagesize nand.
  *     Reading or writing a 2K page requires 4 FDI/FDO cycles.
  *
- * MX25 and MX35 have version 1.1, which has:
+ * MX25 and MX35 have version 2.1, which has:
  *     8 512-byte main buffers and
  *     8 64-byte spare buffers
  *     to support up to 4K byte pagesize nand.
  */
 #if defined(CONFIG_MX27) || defined(CONFIG_MX31)
 #define MXC_NFC_V1
+#define is_mxc_nfc_1()         1
+#define is_mxc_nfc_21()                0
 #elif defined(CONFIG_MX25) || defined(CONFIG_MX35)
-#define MXC_NFC_V1_1
+#define MXC_NFC_V2_1
+#define is_mxc_nfc_1()         0
+#define is_mxc_nfc_21()                1
 #else
-#warning "MXC NFC version not defined"
+#error "MXC NFC implementation not supported"
 #endif
 
 #if defined(MXC_NFC_V1)
 #define NAND_MXC_SPARE_BUF_SIZE                16
 #define NAND_MXC_REG_OFFSET            0xe00
 #define NAND_MXC_2K_MULTI_CYCLE
-#define is_mxc_nfc_11()                        0
-#elif defined(MXC_NFC_V1_1)
+#elif defined(MXC_NFC_V2_1)
 #define NAND_MXC_NR_BUFS               8
 #define NAND_MXC_SPARE_BUF_SIZE                64
 #define NAND_MXC_REG_OFFSET            0x1e00
-#define is_mxc_nfc_11()                        1
-#else
-#error "define CONFIG_NAND_MXC_VXXX to use the mxc nand driver"
 #endif
 
 struct fsl_nfc_regs {
@@ -88,14 +88,13 @@ struct fsl_nfc_regs {
        u16 nf_wrprst;
        u16 config1;
        u16 config2;
-#elif defined(MXC_NFC_V1_1)
+#elif defined(MXC_NFC_V2_1)
        u16 reserved2[2];
        u16 buf_addr;
        u16 flash_addr;
        u16 flash_cmd;
        u16 config;
-       u16 ecc_status_result;
-       u16 ecc_status_result2;
+       u32 ecc_status_result;
        u16 spare_area_size;
        u16 wrprot;
        u16 reserved3[2];
@@ -156,7 +155,7 @@ struct fsl_nfc_regs {
  */
 #define NFC_INT                0x8000
 
-#ifdef MXC_NFC_V1_1
+#ifdef MXC_NFC_V2_1
 #define NFC_4_8N_ECC   (1 << 0)
 #endif
 #define NFC_SP_EN      (1 << 2)