u-boot/include/ufs.h
Faiz Abbas 7feafb0ae4 ufs: Add Initial Support for UFS subsystem
Add Support for UFS Host Controller Interface (UFSHCI) for communicating
with Universal Flash Storage (UFS) devices. The steps to initialize the
host controller interface are the following:

- Initiate the Host Controller Initialization process by writing to the
Host controller enable register.
- Configure the Host Controller base address registers by allocating a
host memory space and related data structures.
- Unipro link startup procedure
- Check for connected device
- Configure UFS host controller to process requests

Also register this host controller as a SCSI host controller.

Taken from Linux Kernel v5.2 (drivers/scsi/ufs/ufshcd.c) and ported to
U-boot.

Signed-off-by: Faiz Abbas <faiz_abbas@ti.com>
2019-10-23 20:47:12 -04:00

29 lines
702 B
C

/* SPDX-License-Identifier: GPL-2.0+ */
#ifndef _UFS_H
#define _UFS_H
/**
* ufs_probe() - initialize all devices in the UFS uclass
*
* @return 0 if Ok, -ve on error
*/
int ufs_probe(void);
/**
* ufs_probe_dev() - initialize a particular device in the UFS uclass
*
* @index: index in the uclass sequence
*
* @return 0 if successfully probed, -ve on error
*/
int ufs_probe_dev(int index);
/*
* ufs_scsi_bind() - Create a new scsi device as a child of the UFS device and
* bind it to the ufs_scsi driver
* @ufs_dev: UFS device
* @scsi_devp: Pointer to scsi device
*
* @return 0 if Ok, -ve on error
*/
int ufs_scsi_bind(struct udevice *ufs_dev, struct udevice **scsi_devp);
#endif