|
@@ -41,22 +41,22 @@
|
|
#define nfc_is_v1() (cpu_is_mx31() || cpu_is_mx27() || cpu_is_mx21())
|
|
#define nfc_is_v1() (cpu_is_mx31() || cpu_is_mx27() || cpu_is_mx21())
|
|
|
|
|
|
/* Addresses for NFC registers */
|
|
/* Addresses for NFC registers */
|
|
-#define NFC_BUF_SIZE 0xE00
|
|
|
|
-#define NFC_BUF_ADDR 0xE04
|
|
|
|
-#define NFC_FLASH_ADDR 0xE06
|
|
|
|
-#define NFC_FLASH_CMD 0xE08
|
|
|
|
-#define NFC_CONFIG 0xE0A
|
|
|
|
-#define NFC_ECC_STATUS_RESULT 0xE0C
|
|
|
|
-#define NFC_RSLTMAIN_AREA 0xE0E
|
|
|
|
-#define NFC_RSLTSPARE_AREA 0xE10
|
|
|
|
-#define NFC_WRPROT 0xE12
|
|
|
|
-#define NFC_V1_UNLOCKSTART_BLKADDR 0xe14
|
|
|
|
-#define NFC_V1_UNLOCKEND_BLKADDR 0xe16
|
|
|
|
-#define NFC_V21_UNLOCKSTART_BLKADDR 0xe20
|
|
|
|
-#define NFC_V21_UNLOCKEND_BLKADDR 0xe22
|
|
|
|
-#define NFC_NF_WRPRST 0xE18
|
|
|
|
-#define NFC_CONFIG1 0xE1A
|
|
|
|
-#define NFC_CONFIG2 0xE1C
|
|
|
|
|
|
+#define NFC_BUF_SIZE 0x00
|
|
|
|
+#define NFC_BUF_ADDR 0x04
|
|
|
|
+#define NFC_FLASH_ADDR 0x06
|
|
|
|
+#define NFC_FLASH_CMD 0x08
|
|
|
|
+#define NFC_CONFIG 0x0a
|
|
|
|
+#define NFC_ECC_STATUS_RESULT 0x0c
|
|
|
|
+#define NFC_RSLTMAIN_AREA 0x0e
|
|
|
|
+#define NFC_RSLTSPARE_AREA 0x10
|
|
|
|
+#define NFC_WRPROT 0x12
|
|
|
|
+#define NFC_V1_UNLOCKSTART_BLKADDR 0x14
|
|
|
|
+#define NFC_V1_UNLOCKEND_BLKADDR 0x16
|
|
|
|
+#define NFC_V21_UNLOCKSTART_BLKADDR 0x20
|
|
|
|
+#define NFC_V21_UNLOCKEND_BLKADDR 0x22
|
|
|
|
+#define NFC_NF_WRPRST 0x18
|
|
|
|
+#define NFC_CONFIG1 0x1a
|
|
|
|
+#define NFC_CONFIG2 0x1c
|
|
|
|
|
|
/* Set INT to 0, FCMD to 1, rest to 0 in NFC_CONFIG2 Register
|
|
/* Set INT to 0, FCMD to 1, rest to 0 in NFC_CONFIG2 Register
|
|
* for Command operation */
|
|
* for Command operation */
|
|
@@ -764,14 +764,14 @@ static int __init mxcnd_probe(struct platform_device *pdev)
|
|
host->main_area1 = host->base + 0x200;
|
|
host->main_area1 = host->base + 0x200;
|
|
|
|
|
|
if (nfc_is_v21()) {
|
|
if (nfc_is_v21()) {
|
|
- host->regs = host->base + 0x1000;
|
|
|
|
|
|
+ host->regs = host->base + 0x1e00;
|
|
host->spare0 = host->base + 0x1000;
|
|
host->spare0 = host->base + 0x1000;
|
|
host->spare_len = 64;
|
|
host->spare_len = 64;
|
|
oob_smallpage = &nandv2_hw_eccoob_smallpage;
|
|
oob_smallpage = &nandv2_hw_eccoob_smallpage;
|
|
oob_largepage = &nandv2_hw_eccoob_largepage;
|
|
oob_largepage = &nandv2_hw_eccoob_largepage;
|
|
this->ecc.bytes = 9;
|
|
this->ecc.bytes = 9;
|
|
} else if (nfc_is_v1()) {
|
|
} else if (nfc_is_v1()) {
|
|
- host->regs = host->base;
|
|
|
|
|
|
+ host->regs = host->base + 0xe00;
|
|
host->spare0 = host->base + 0x800;
|
|
host->spare0 = host->base + 0x800;
|
|
host->spare_len = 16;
|
|
host->spare_len = 16;
|
|
oob_smallpage = &nandv1_hw_eccoob_smallpage;
|
|
oob_smallpage = &nandv1_hw_eccoob_smallpage;
|