mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-25 04:33:30 +08:00
7feafb0ae4
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>
30 lines
702 B
C
30 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
|