mtd: nand: Arasan: Add subpage configuration support
authorMartin Lund <malu@gomspace.com>
Tue, 30 Oct 2018 13:16:19 +0000 (14:16 +0100)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 26 Nov 2018 09:50:54 +0000 (10:50 +0100)
Add support for disabling subpage write support via
CONFIG_SYS_NAND_NO_SUBPAGE_WRITE.

Currently the Linux Arasan driver does not support subpage writes and in
case of running UBI and accessing the same UBI volume from both U-Boot
and Linux it is required to have the same subpage write configuration
else the location of the UBI headers (EC + VID) will be misaligned
(subpage vs page) and incompatible. Hence the need for disabling
subpage write support in the U-Boot Arasan NAND driver.

Signed-off-by: Martin Lund <malu@gomspace.com>
Acked-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/mtd/nand/raw/arasan_nfc.c

index 41db9f8bb9b1e65e59862dae068d38b800495e94..dc531ccb68224fe939d037c374346a99d6c066ba 100644 (file)
@@ -1201,6 +1201,10 @@ static int arasan_nand_init(struct nand_chip *nand_chip, int devnum)
        mtd = nand_to_mtd(nand_chip);
        nand_set_controller_data(nand_chip, nand);
 
+#ifdef CONFIG_SYS_NAND_NO_SUBPAGE_WRITE
+       nand_chip->options |= NAND_NO_SUBPAGE_WRITE;
+#endif
+
        /* Set the driver entry points for MTD */
        nand_chip->cmdfunc = arasan_nand_cmd_function;
        nand_chip->select_chip = arasan_nand_select_chip;