dm: Add support for scsi/sata based devices
authorMichal Simek <michal.simek@xilinx.com>
Thu, 8 Sep 2016 13:06:45 +0000 (15:06 +0200)
committerMichal Simek <michal.simek@xilinx.com>
Tue, 20 Dec 2016 08:15:27 +0000 (09:15 +0100)
commite8a016b53731bba820246c9509ce8ef74c944560
treeb9382ac0cd9f4dcd9cb8cfae459770d09ea4d43f
parent720ba46e71b09d379a3590a4a35c35d5938338b5
dm: Add support for scsi/sata based devices

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>
common/board_r.c
common/scsi.c
drivers/block/Kconfig
drivers/block/Makefile
drivers/block/ahci.c
drivers/block/blk-uclass.c
drivers/block/scsi-uclass.c [new file with mode: 0644]
include/ahci.h
include/dm/uclass-id.h
include/sata.h
include/scsi.h