diff mbox

[U-Boot,5/7] scsi: mvebu: add scsi driver

Message ID 1490261347-11896-6-git-send-email-make@marvell.com
State Deferred
Delegated to: Simon Glass
Headers show

Commit Message

Ken Ma March 23, 2017, 9:29 a.m. UTC
From: Ken Ma <make@marvell.com>

- Add mvebu scsi driver which is based on scsi uclass so that
  scsi command can work when driver model is enabled for scsi;
- Mvebu scsi is serial attached scsi and act as an add-on host
  bus adapter.

Signed-off-by: Ken Ma <make@marvell.com>
Cc: Simon Glass <sjg@chromium.org>
Cc: Stefan Roese <sr@denx.de>
Cc: Michal Simek <michal.simek@xilinx.com>
Reviewed-on: http://vgitil04.il.marvell.com:8080/35301
Reviewed-by: Omri Itach <omrii@marvell.com>
Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
Tested-by: iSoC Platform CI <ykjenk@marvell.com>
---
 drivers/block/Kconfig      | 10 ++++++++++
 drivers/block/Makefile     |  1 +
 drivers/block/mvebu_scsi.c | 31 +++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+)
 create mode 100644 drivers/block/mvebu_scsi.c

Comments

Simon Glass April 1, 2017, 4:21 a.m. UTC | #1
On 23 March 2017 at 03:29,  <make@marvell.com> wrote:
> From: Ken Ma <make@marvell.com>
>
> - Add mvebu scsi driver which is based on scsi uclass so that
>   scsi command can work when driver model is enabled for scsi;
> - Mvebu scsi is serial attached scsi and act as an add-on host
>   bus adapter.
>
> Signed-off-by: Ken Ma <make@marvell.com>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Stefan Roese <sr@denx.de>
> Cc: Michal Simek <michal.simek@xilinx.com>
> Reviewed-on: http://vgitil04.il.marvell.com:8080/35301
> Reviewed-by: Omri Itach <omrii@marvell.com>
> Reviewed-by: Kostya Porotchkin <kostap@marvell.com>
> Tested-by: iSoC Platform CI <ykjenk@marvell.com>
> ---
>  drivers/block/Kconfig      | 10 ++++++++++
>  drivers/block/Makefile     |  1 +
>  drivers/block/mvebu_scsi.c | 31 +++++++++++++++++++++++++++++++
>  3 files changed, 42 insertions(+)
>  create mode 100644 drivers/block/mvebu_scsi.c

Reviewed-by: Simon Glass <sjg@chromium.org>
diff mbox

Patch

diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 88e66e2..bb27a7f 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -28,6 +28,16 @@  config DM_SCSI
 	  (IDs/LUNs) a block device is created with RAW read/write and
 	  filesystem support.
 
+config MVEBU_SCSI
+	bool "Marvell MVEBU SCSI driver"
+	depends on DM_SCSI
+	default n
+	help
+	  Say yes here to support Marvell MVEBU SCSI.
+	  Marvell MVEBU SCSI supports serial attached SCSI(SAS),
+	  which offers backward compatibility with SATA, versions 2 and later.
+	  It allows for SATA drives to be connected to SAS backplanes.
+
 config BLOCK_CACHE
 	bool "Use block device cache"
 	default n
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index a72feec..88fe17d 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -29,5 +29,6 @@  obj-$(CONFIG_SATA_SIL) += sata_sil.o
 obj-$(CONFIG_IDE_SIL680) += sil680.o
 obj-$(CONFIG_SANDBOX) += sandbox.o sandbox_scsi.o sata_sandbox.o
 obj-$(CONFIG_SCSI_SYM53C8XX) += sym53c8xx.o
+obj-$(CONFIG_MVEBU_SCSI) += mvebu_scsi.o
 obj-$(CONFIG_SYSTEMACE) += systemace.o
 obj-$(CONFIG_BLOCK_CACHE) += blkcache.o
diff --git a/drivers/block/mvebu_scsi.c b/drivers/block/mvebu_scsi.c
new file mode 100644
index 0000000..0151edcb
--- /dev/null
+++ b/drivers/block/mvebu_scsi.c
@@ -0,0 +1,31 @@ 
+/*
+ * Copyright (C) 2016 Marvell International Ltd.
+ *
+ * SPDX-License-Identifier:	GPL-2.0
+ * https://spdx.org/licenses
+ */
+
+#include <common.h>
+#include <scsi.h>
+#include <dm.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+static int mvebu_scsi_probe(struct udevice *bus)
+{
+	/* Do nothing */
+	return 0;
+}
+
+static const struct udevice_id mvebu_scsi_ids[] = {
+	{ .compatible = "marvell,mvebu-scsi" },
+	{ }
+};
+
+U_BOOT_DRIVER(scsi_mvebu_drv) = {
+	.name		= "scsi_mvebu",
+	.id		= UCLASS_SCSI,
+	.of_match	= mvebu_scsi_ids,
+	.probe		= mvebu_scsi_probe,
+};
+