[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