1 /*
2 * Copyright (C) (C) Copyright 2016-2017 Rockchip Electronics Co., Ltd
3 *
4 * SPDX-License-Identifier: GPL-2.0+
5 */
6
7 #include <common.h>
8 #include <command.h>
9 #include <dm.h>
10 #include <rknand.h>
11
12 static int rknand_curr_dev;
do_rknand(cmd_tbl_t * cmdtp,int flag,int argc,char * const argv[])13 static int do_rknand(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
14 {
15 int ret;
16
17 if (argc == 2) {
18 if (strncmp(argv[1], "scan", 4) == 0) {
19 ret = rknand_scan_namespace();
20 if (ret)
21 return CMD_RET_FAILURE;
22
23 return ret;
24 }
25 }
26
27 return blk_common_cmd(argc, argv, IF_TYPE_RKNAND, &rknand_curr_dev);
28 }
29
30 U_BOOT_CMD(
31 rknand, 8, 1, do_rknand,
32 "rockchip nand flash sub-system",
33 "scan - scan Nand devices\n"
34 "rknand info - show all available Nand devices\n"
35 "rknand device [dev] - show or set current Nand device\n"
36 "rknand part [dev] - print partition table of one or all Nand devices\n"
37 "rknand read addr blk# cnt - read `cnt' blocks starting at block\n"
38 " `blk#' to memory address `addr'\n"
39 "rknand write addr blk# cnt - write `cnt' blocks starting at block\n"
40 " `blk#' from memory address `addr'"
41 );
42