mirror of
				https://xff.cz/git/u-boot/
				synced 2025-10-31 18:35:42 +01:00 
			
		
		
		
	All sata based drivers are bind and corresponding block device is created. Based on this find_scsi_device() is able to get back block device based on scsi_curr_dev pointer. intr_scsi() is commented now but it can be replaced by calling find_scsi_device() and scsi_scan(). scsi_dev_desc[] is commented out but common/scsi.c heavily depends on it. That's why CONFIG_SYS_SCSI_MAX_DEVICE is hardcoded to 1 and symbol is reassigned to a block description allocated by uclass. There is only one block description by device now but it doesn't need to be correct when more devices are present. scsi_bind() ensures corresponding block device creation. uclass post_probe (scsi_post_probe()) is doing low level init. SCSI/SATA DM based drivers requires to have 64bit base address as the first entry in platform data structure to setup mmio_base. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			28 lines
		
	
	
		
			507 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			507 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2015 Google, Inc
 | |
|  * Written by Simon Glass <sjg@chromium.org>
 | |
|  * Copyright (c) 2016 Xilinx, Inc
 | |
|  * Written by Michal Simek
 | |
|  *
 | |
|  * Based on ahci-uclass.c
 | |
|  *
 | |
|  * SPDX-License-Identifier:	GPL-2.0+
 | |
|  */
 | |
| 
 | |
| #include <common.h>
 | |
| #include <dm.h>
 | |
| #include <scsi.h>
 | |
| 
 | |
| static int scsi_post_probe(struct udevice *dev)
 | |
| {
 | |
| 	debug("%s: device %p\n", __func__, dev);
 | |
| 	scsi_low_level_init(0, dev);
 | |
| 	return 0;
 | |
| }
 | |
| 
 | |
| UCLASS_DRIVER(scsi) = {
 | |
| 	.id		= UCLASS_SCSI,
 | |
| 	.name		= "scsi",
 | |
| 	.post_probe	 = scsi_post_probe,
 | |
| };
 |