Re: [PATCH 0/4] [SCSI] ufshcd: UFS Host Controller Driver

From: Namjae Jeon
Date: Sun Feb 05 2012 - 02:20:50 EST

2012/2/2 Vinayak Holikatti <vinholikatti@xxxxxxxxx>:
> From: Santosh Yaraganavi <santoshsy@xxxxxxxxx>
> UFS is designed to be the most advanced specification for
> both embedded and removable flash memory-based storage in mobile devices
> such as smart phones and tablet computers. ÂThe UFS standard represents
> an evolutionary progression of JEDEC standards in this field, and has been
> specifically tailored for mobile applications and computing systems requiring
> high performance and low power consumption. ÂThe initial data throughput for
> UFS will be ~300 megabytes per second (MB/s), and the standard also supports
> command queuing features to raise random read/write speeds.
> To achieve the highest performance and most power efficient data
> transport, UFS uses the leading industry interface standards to form its
> Interconnect Layer: MIPIÂ Allianceâs M-PHY and UniProSM Âspecifications.
> UniPro is a comprehensive specification meant to act as a universal
> chip-to-chip protocol, providing a common tunnel for other protocols.
> The M-PHY interface is designed as the primary physical interface (PHY layer)
> for the UniPro specification, and is a high speed serial interface targeting
> up to 2.9 gigabits per second (Gbps) per lane with up-scalability to 5.8Gbps
> per lane.
> MIPIâs M-PHY and UniPro specifications are optimized for mobile applications,
> and are designed from the ground up for efficient power management in mobile
> devices, including enabling efficient transitions between the active and power
> save modes. Combined with a low active power level and a near-zero idle power
> level, UFS offers the promise for significant reductions in device power
> consumption.
> The UFS standard adopts the well-known SCSI Architecture Model and command
> protocols supporting multiple commands with command queuing features and
> enabling a multi-thread programming paradigm. This differs from conventional
> flash-based memory cards and embedded flash solutions which process one
> command at a time, limiting random read/write access performance.
> In addition, a forthcoming complementary UFS Host Controller Interface (HCI)
> specification will allow system designers greater flexibility by simplifying
> the involvement of the host processor in the operation of the flash storage
> subsystem. The UFS HCI specification and the adoption of SCSI will provide
> a well-known software programming model and enable wider market adoption.
> This patchset contains PCIe based UFS host controller driver which complies
> to UFSHCI 1.0 and 1.1. The driver is based on Linux SCSI framework.
> The driver is tested with UFS Host controller(FPGA) and UFS device(FPGA).
> This patch set is successfully applied on kernel version 3.3-rc2.
> Santosh Yaraganavi (4):
> Â[SCSI] ufshcd: UFS Host controller driver
> Â[SCSI] ufshcd: UFS UTP Transfer requests handling
> Â[SCSI] ufshcd: UFSHCI error handling
> Â[SCSI] ufshcd: SCSI error handling
> Âdrivers/scsi/Kconfig   Â|  Â1 +
> Âdrivers/scsi/Makefile   |  Â1 +
> Âdrivers/scsi/ufs/Kconfig Â| Â 49 ++
> Âdrivers/scsi/ufs/Makefile | Â Â2 +
> Âdrivers/scsi/ufs/ufs.h  Â| Â203 +++++
> Âdrivers/scsi/ufs/ufshcd.c | 1954 +++++++++++++++++++++++++++++++++++++++++++++
> Âdrivers/scsi/ufs/ufshci.h | Â360 +++++++++
> Â7 files changed, 2570 insertions(+), 0 deletions(-)
> Âcreate mode 100644 drivers/scsi/ufs/Kconfig
> Âcreate mode 100644 drivers/scsi/ufs/Makefile
> Âcreate mode 100644 drivers/scsi/ufs/ufs.h
> Âcreate mode 100644 drivers/scsi/ufs/ufshcd.c
> Âcreate mode 100644 drivers/scsi/ufs/ufshci.h
> --
I have been waiting for ufs contribution.
Unfortunately I don't have real target supported ufs(maybe only you
have it). I can not debug and run this code, So just review only code
with specification.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at Â
> Please read the FAQ at Â
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at