[U-Boot] [PATCH v2 09/11] cmd: Add Support for UFS commands

Faiz Abbas faiz_abbas at ti.com
Tue Oct 15 12:54:40 UTC 2019


Add Support for commands to initialize and configure UFS devices.

TODO: Add Support for commands to resize and reconfigure LUNs
Signed-off-by: Faiz Abbas <faiz_abbas at ti.com>
---
 cmd/Kconfig  |  7 +++++++
 cmd/Makefile |  2 +-
 cmd/ufs.c    | 37 +++++++++++++++++++++++++++++++++++++
 3 files changed, 45 insertions(+), 1 deletion(-)
 create mode 100644 cmd/ufs.c

diff --git a/cmd/Kconfig b/cmd/Kconfig
index 07060c63a7..82b5d300d2 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1205,6 +1205,13 @@ config CMD_TSI148
 	  This provides various sub-commands to initialise and configure the
 	  Turndra tsi148 device. See the command help for full details.
 
+config CMD_UFS
+	bool "Enable UFS - Universal Flash Subsystem commands"
+	depends on UFS
+	help
+	  "This provides commands to initialise and configure universal flash
+	   subsystem devices"
+
 config CMD_UNIVERSE
 	bool "universe - Command to set up the Turndra Universe controller"
 	help
diff --git a/cmd/Makefile b/cmd/Makefile
index ac843b4b16..2d723ea0f0 100644
--- a/cmd/Makefile
+++ b/cmd/Makefile
@@ -144,7 +144,7 @@ obj-$(CONFIG_CMD_UNZIP) += unzip.o
 obj-$(CONFIG_CMD_VIRTIO) += virtio.o
 obj-$(CONFIG_CMD_WDT) += wdt.o
 obj-$(CONFIG_CMD_LZMADEC) += lzmadec.o
-
+obj-$(CONFIG_CMD_UFS) += ufs.o
 obj-$(CONFIG_CMD_USB) += usb.o disk.o
 obj-$(CONFIG_CMD_FASTBOOT) += fastboot.o
 obj-$(CONFIG_CMD_FS_UUID) += fs_uuid.o
diff --git a/cmd/ufs.c b/cmd/ufs.c
new file mode 100644
index 0000000000..5b25788656
--- /dev/null
+++ b/cmd/ufs.c
@@ -0,0 +1,37 @@
+// SPDX-License-Identifier: GPL-2.0+
+/**
+ * ufs.c - UFS specific U-boot commands
+ *
+ * Copyright (C) 2019 Texas Instruments Incorporated - http://www.ti.com
+ *
+ */
+#include <common.h>
+#include <command.h>
+#include <ufs.h>
+
+static int do_ufs(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+	int dev, ret;
+
+	if (argc >= 2) {
+		if (!strcmp(argv[1], "init")) {
+			if (argc == 3) {
+				dev = simple_strtoul(argv[2], NULL, 10);
+				ret = ufs_probe_dev(dev);
+				if (ret)
+					return CMD_RET_FAILURE;
+			} else {
+				ufs_probe();
+			}
+
+			return CMD_RET_SUCCESS;
+		}
+	}
+
+	return CMD_RET_USAGE;
+}
+
+U_BOOT_CMD(ufs, 3, 1, do_ufs,
+	   "UFS  sub system",
+	   "init [dev] - init UFS subsystem\n"
+);
-- 
2.19.2



More information about the U-Boot mailing list