config SCSI
	bool "Support SCSI controllers"
	help
	  This enables support for SCSI (Small Computer System Interface),
	  a parallel interface widely used with storage peripherals such as
	  hard drives and optical drives. The SCSI standards define physical
	  interfaces as well as protocols for controlling devices and
	  tranferring data.

config DM_SCSI
	bool "Support SCSI controllers with driver model"
	help
	  This option enables the SCSI (Small Computer System Interface) uclass
	  which supports SCSI and SATA HDDs. For every device configuration
	  (IDs/LUNs) a block device is created with RAW read/write and
	  filesystem support.

if SCSI && !DM_SCSI

config SCSI_AHCI_PLAT
	bool "Platform-specific init of AHCI"
	help
	  This enables a way for boards to set up an AHCI device manually, by
	  called ahci_init() and providing an ahci_reset() mechanism.

	  This is deprecated. An AHCI driver should be provided instead.

config SYS_SCSI_MAX_SCSI_ID
	int "Maximum supported SCSI ID"
	default 1
	help
	  Sets the maximum number of SCSI IDs to scan when looking for devices.
	  IDs from 0 to (this value - 1) are scanned.

	  This is deprecated and is not needed when BLK is enabled.

config SYS_SCSI_MAX_LUN
	int "Maximum support SCSI LUN"
	default 1
	help
	  Sets the maximum number of SCSI Logical Unit Numbers (LUNs) to scan on
	  devices. LUNs from 0 to (this value - 1) are scanned.

	  This is deprecated and is not needed when CONFIG_DM_SCSI is enabled.

endif
