]> git.sur5r.net Git - u-boot/blobdiff - drivers/mtd/nand/arasan_nfc.c
nand: arasan_nfc: Fixed NAND write issue
[u-boot] / drivers / mtd / nand / arasan_nfc.c
index 9c82c7db33fb40b259e2ec480dded85efbbbf197..3be66efb73f65793c30e1b8625c32959645ec637 100644 (file)
@@ -86,7 +86,7 @@ struct arasan_nand_command_format {
 #define ARASAN_NAND_CMD_ADDR_CYCL_MASK         0x70000000
 #define ARASAN_NAND_CMD_ADDR_CYCL_SHIFT                28
 
-#define ARASAN_NAND_MEM_ADDR1_PAGE_MASK                0xFFFF
+#define ARASAN_NAND_MEM_ADDR1_PAGE_MASK                0xFFFF0000
 #define ARASAN_NAND_MEM_ADDR1_COL_MASK         0xFFFF
 #define ARASAN_NAND_MEM_ADDR1_PAGE_SHIFT       16
 #define ARASAN_NAND_MEM_ADDR2_PAGE_MASK                0xFF
@@ -796,7 +796,7 @@ static int arasan_nand_erase(struct arasan_nand_command_format *curr_cmd,
        writel(reg_val, &arasan_nand_base->cmd_reg);
 
        page = (page_addr >> ARASAN_NAND_MEM_ADDR1_PAGE_SHIFT) &
-               ARASAN_NAND_MEM_ADDR1_PAGE_MASK;
+               ARASAN_NAND_MEM_ADDR1_COL_MASK;
        column = page_addr & ARASAN_NAND_MEM_ADDR1_COL_MASK;
        writel(column | (page << ARASAN_NAND_MEM_ADDR1_PAGE_SHIFT),
               &arasan_nand_base->memadr_reg1);