mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 05:50:17 +00:00 
			
		
		
		
	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
 |