[U-Boot] [PATCH v2 00/11] Add Support for UFS subsystem for TI's J721e
Faiz Abbas
faiz_abbas at ti.com
Tue Oct 15 12:54:31 UTC 2019
The following patches add support for the Universal Flash Storage (UFS)
subsystem and its implementation on TI's J721e platform.
The UFS Application Layer (UAP) uses SCSI SAM-4 command set for
communication with the device. Therefore, the first 4 patches prepare
the scsi layer for compatibility with UFS. Patch 9 also adds support for
initializing and configuring the device from the U-boot command line.
The UFS Transport Protocol Layer (UTP) and UFS Interconnect Layer (UIC)
are implemented with patch 5. This series only adds support for
detect and read/write operations to the LUNs present in the remote
device. Task Management operations and configuration of LUNs will be
added in a future series.
Patches 6 through 10 add platform driver, device tree and config support
for TI's J721E devices.
Log: https://pastebin.ubuntu.com/p/65JZXGT3Z6/
Tested on top of Lokesh's tree:
https://github.com/lokeshvutla/u-boot
Branch: j721e-full-boot
Changes in v2:
1. Added environment variables such that its easy to boot kernel from
UFS.
2. Introduced an API to probe UFS devices individually.
3. Changed ti-j721e-ufs wrapper driver to UCLASS_MISC because its not
really a UFS device driver.
References:
[1] JESD220D UFS 3.0:
https://www.jedec.org/standards-documents/docs/jesd220c
[2] JESD223D UFS Host Controller Interface (UFSHCI) version 3.0:
https://www.jedec.org/standards-documents/docs/jesd223c
Faiz Abbas (11):
scsi: Simplify scsi_read()/_write()
scsi: Add max_bytes_per_req to scsi_platdata
scsi: Retry inquiry 3 times to overcome Unit Attention condition
scsi: Add dma direction member to command structure
ufs: Add Initial Support for UFS subsystem
ufs: Add Support for Cadence platform UFS driver
ufs: Add glue layer driver for TI J721E devices
arm: dts: k3-j721e-main: Add UFS nodes
cmd: Add Support for UFS commands
env: ti: Add environment variables to boot from UFS
configs: j721e_evm_a72: Enable configs for UFS
MAINTAINERS | 5 +
arch/arm/dts/k3-j721e-main.dtsi | 24 +
cmd/Kconfig | 7 +
cmd/Makefile | 2 +-
cmd/ufs.c | 37 +
configs/j721e_evm_a72_defconfig | 8 +-
drivers/Kconfig | 2 +
drivers/Makefile | 1 +
drivers/scsi/scsi.c | 83 +-
drivers/ufs/Kconfig | 23 +
drivers/ufs/Makefile | 8 +
drivers/ufs/cdns-platform.c | 122 ++
drivers/ufs/ti-j721e-ufs.c | 71 ++
drivers/ufs/ufs-uclass.c | 16 +
drivers/ufs/ufs.c | 1968 +++++++++++++++++++++++++++++++
drivers/ufs/ufs.h | 918 ++++++++++++++
drivers/ufs/unipro.h | 270 +++++
include/configs/j721e_evm.h | 4 +-
include/dm/uclass-id.h | 1 +
include/environment/ti/ufs.h | 33 +
include/scsi.h | 5 +
include/ufs.h | 29 +
22 files changed, 3590 insertions(+), 47 deletions(-)
create mode 100644 cmd/ufs.c
create mode 100644 drivers/ufs/Kconfig
create mode 100644 drivers/ufs/Makefile
create mode 100644 drivers/ufs/cdns-platform.c
create mode 100644 drivers/ufs/ti-j721e-ufs.c
create mode 100644 drivers/ufs/ufs-uclass.c
create mode 100644 drivers/ufs/ufs.c
create mode 100644 drivers/ufs/ufs.h
create mode 100644 drivers/ufs/unipro.h
create mode 100644 include/environment/ti/ufs.h
create mode 100644 include/ufs.h
--
2.19.2
More information about the U-Boot
mailing list