mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-10-31 12:08:19 +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
 |