Commit dd5ab248329edab4b16b70e4d9920f162d181d90
Committed by
David Woodhouse
1 parent
7b6b23036b
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
mtd: sh_flctl: Implement NAND_CMD_RNDOUT command
Implements the command to seek and read in pages. Signed-off-by: Bastian Hecht <hechtb@gmail.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Showing 1 changed file with 16 additions and 0 deletions Side-by-side Diff
drivers/mtd/nand/sh_flctl.c
... | ... | @@ -303,6 +303,7 @@ |
303 | 303 | break; |
304 | 304 | case NAND_CMD_READ0: |
305 | 305 | case NAND_CMD_READOOB: |
306 | + case NAND_CMD_RNDOUT: | |
306 | 307 | addr_len_bytes = flctl->rw_ADRCNT; |
307 | 308 | flcmdcr_val |= CDSRC_E; |
308 | 309 | if (flctl->chip.options & NAND_BUSWIDTH_16) |
... | ... | @@ -556,6 +557,21 @@ |
556 | 557 | set_addr(mtd, 0, page_addr); |
557 | 558 | } |
558 | 559 | flctl->read_bytes = mtd->oobsize; |
560 | + goto read_normal_exit; | |
561 | + | |
562 | + case NAND_CMD_RNDOUT: | |
563 | + if (flctl->hwecc) | |
564 | + break; | |
565 | + | |
566 | + if (flctl->page_size) | |
567 | + set_cmd_regs(mtd, command, (NAND_CMD_RNDOUTSTART << 8) | |
568 | + | command); | |
569 | + else | |
570 | + set_cmd_regs(mtd, command, command); | |
571 | + | |
572 | + set_addr(mtd, column, 0); | |
573 | + | |
574 | + flctl->read_bytes = mtd->writesize + mtd->oobsize - column; | |
559 | 575 | goto read_normal_exit; |
560 | 576 | |
561 | 577 | case NAND_CMD_READID: |