diff --git a/README b/README index 3870b0dbe4f..a0d9cb4b955 100644 --- a/README +++ b/README @@ -733,11 +733,9 @@ The following options need to be configured: Default is 32bit. - SCSI Support: - CONFIG_SYS_SCSI_MAX_LUN [8], CONFIG_SYS_SCSI_MAX_SCSI_ID [7] and - CONFIG_SYS_SCSI_MAX_DEVICE [CONFIG_SYS_SCSI_MAX_SCSI_ID * - CONFIG_SYS_SCSI_MAX_LUN] can be adjusted to define the - maximum numbers of LUNs, SCSI ID's and target - devices. + CONFIG_SYS_SCSI_MAX_LUN [8] and CONFIG_SYS_SCSI_MAX_SCSI_ID [7] + can be adjusted to define the maximum numbers of LUNs and SCSI + IDs. The environment variable 'scsidevs' is set to the number of SCSI devices found during the last scan. diff --git a/api/api_storage.c b/api/api_storage.c index a0dacad1a55..adca44b4fd2 100644 --- a/api/api_storage.c +++ b/api/api_storage.c @@ -9,6 +9,7 @@ #include #include #include +#include #if defined(CONFIG_CMD_USB) && defined(CONFIG_USB_STORAGE) #include @@ -71,7 +72,7 @@ void dev_stor_init(void) specs[ENUM_SATA].name = "sata"; #endif #if defined(CONFIG_SCSI) - specs[ENUM_SCSI].max_dev = CONFIG_SYS_SCSI_MAX_DEVICE; + specs[ENUM_SCSI].max_dev = SCSI_MAX_DEVICE; specs[ENUM_SCSI].enum_started = 0; specs[ENUM_SCSI].enum_ended = 0; specs[ENUM_SCSI].type = DEV_TYP_STOR | DT_STOR_SCSI; diff --git a/arch/arm/include/asm/arch-ls102xa/config.h b/arch/arm/include/asm/arch-ls102xa/config.h index 0e1f9e0c0d8..489286ed8d1 100644 --- a/arch/arm/include/asm/arch-ls102xa/config.h +++ b/arch/arm/include/asm/arch-ls102xa/config.h @@ -81,8 +81,6 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #ifdef CONFIG_DDR_SPD #define CONFIG_VERY_BIG_RAM #define CONFIG_SYS_LS1_DDR_BLOCK1_SIZE ((phys_size_t)2 << 30) diff --git a/drivers/scsi/scsi.c b/drivers/scsi/scsi.c index d93d2419285..d7b33010e46 100644 --- a/drivers/scsi/scsi.c +++ b/drivers/scsi/scsi.c @@ -46,7 +46,7 @@ static int scsi_max_devs; /* number of highest available scsi device */ static int scsi_curr_dev; /* current device */ -static struct blk_desc scsi_dev_desc[CONFIG_SYS_SCSI_MAX_DEVICE]; +static struct blk_desc scsi_dev_desc[SCSI_MAX_DEVICE]; #endif /* almost the maximum amount of the scsi_ext command.. */ @@ -655,7 +655,7 @@ int scsi_scan(bool verbose) if (verbose) printf("scanning bus for devices...\n"); - for (i = 0; i < CONFIG_SYS_SCSI_MAX_DEVICE; i++) + for (i = 0; i < SCSI_MAX_DEVICE; i++) scsi_init_dev_desc(&scsi_dev_desc[i], i); scsi_max_devs = 0; @@ -703,7 +703,7 @@ U_BOOT_DRIVER(scsi_blk) = { U_BOOT_LEGACY_BLK(scsi) = { .if_typename = "scsi", .if_type = IF_TYPE_SCSI, - .max_devs = CONFIG_SYS_SCSI_MAX_DEVICE, + .max_devs = SCSI_MAX_DEVICE, .desc = scsi_dev_desc, }; #endif diff --git a/include/configs/am57xx_evm.h b/include/configs/am57xx_evm.h index 956844414f8..e4e3872d1ca 100644 --- a/include/configs/am57xx_evm.h +++ b/include/configs/am57xx_evm.h @@ -52,8 +52,6 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) /* * Default to using SPI for environment, etc. diff --git a/include/configs/clearfog.h b/include/configs/clearfog.h index c9af5a40cec..d5eacf1ec71 100644 --- a/include/configs/clearfog.h +++ b/include/configs/clearfog.h @@ -40,8 +40,6 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #endif /* Keep device tree and initrd in lower memory so the kernel can access them */ diff --git a/include/configs/controlcenterdc.h b/include/configs/controlcenterdc.h index ff385d9c6be..2c27a003b3d 100644 --- a/include/configs/controlcenterdc.h +++ b/include/configs/controlcenterdc.h @@ -24,8 +24,6 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) /* Environment in SPI NOR flash */ diff --git a/include/configs/db-88f6820-gp.h b/include/configs/db-88f6820-gp.h index 5f2611995d3..f5ea3657a4a 100644 --- a/include/configs/db-88f6820-gp.h +++ b/include/configs/db-88f6820-gp.h @@ -19,8 +19,6 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) /* Environment in SPI NOR flash */ diff --git a/include/configs/durian.h b/include/configs/durian.h index c0ea42e180a..ce9e57c64be 100644 --- a/include/configs/durian.h +++ b/include/configs/durian.h @@ -21,7 +21,6 @@ /* SCSI */ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 4 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE 128 #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SATA_MAX_DEVICE 4 diff --git a/include/configs/helios4.h b/include/configs/helios4.h index de1ebbf3751..c1d42f17ca6 100644 --- a/include/configs/helios4.h +++ b/include/configs/helios4.h @@ -40,8 +40,6 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #endif /* Keep device tree and initrd in lower memory so the kernel can access them */ diff --git a/include/configs/highbank.h b/include/configs/highbank.h index 4ef3a46cfb9..6d559746ab0 100644 --- a/include/configs/highbank.h +++ b/include/configs/highbank.h @@ -19,8 +19,6 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 5 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #define CONFIG_BOOT_RETRY_TIME -1 #define CONFIG_RESET_TO_RETRY diff --git a/include/configs/ls1012a2g5rdb.h b/include/configs/ls1012a2g5rdb.h index bda4283ef5a..10274317cf8 100644 --- a/include/configs/ls1012a2g5rdb.h +++ b/include/configs/ls1012a2g5rdb.h @@ -20,8 +20,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ diff --git a/include/configs/ls1012a_common.h b/include/configs/ls1012a_common.h index 5d561009c56..e33bafac61b 100644 --- a/include/configs/ls1012a_common.h +++ b/include/configs/ls1012a_common.h @@ -37,8 +37,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) /* I2C */ diff --git a/include/configs/ls1021aiot.h b/include/configs/ls1021aiot.h index 7b4044fba72..c02be10c6fa 100644 --- a/include/configs/ls1021aiot.h +++ b/include/configs/ls1021aiot.h @@ -90,8 +90,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) /* SPI */ diff --git a/include/configs/ls1028aqds.h b/include/configs/ls1028aqds.h index 8e3bd7790fe..2c50490b9c6 100644 --- a/include/configs/ls1028aqds.h +++ b/include/configs/ls1028aqds.h @@ -77,8 +77,6 @@ #define CONFIG_SYS_SATA1 AHCI_BASE_ADDR1 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #ifndef SPL_NO_ENV #undef CONFIG_EXTRA_ENV_SETTINGS #define CONFIG_EXTRA_ENV_SETTINGS \ diff --git a/include/configs/ls1028ardb.h b/include/configs/ls1028ardb.h index 5ce9ebbae93..653d2ac678a 100644 --- a/include/configs/ls1028ardb.h +++ b/include/configs/ls1028ardb.h @@ -59,8 +59,6 @@ /* SATA */ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #define SCSI_VEND_ID 0x1b4b #define SCSI_DEV_ID 0x9170 #define CONFIG_SCSI_DEV_LIST {SCSI_VEND_ID, SCSI_DEV_ID} diff --git a/include/configs/ls1043aqds.h b/include/configs/ls1043aqds.h index 5f9cb97855a..083e2e65605 100644 --- a/include/configs/ls1043aqds.h +++ b/include/configs/ls1043aqds.h @@ -56,8 +56,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) /* * IFC Definitions diff --git a/include/configs/ls1043ardb.h b/include/configs/ls1043ardb.h index 6d9cbc8c7df..507d770f176 100644 --- a/include/configs/ls1043ardb.h +++ b/include/configs/ls1043ardb.h @@ -236,8 +236,6 @@ #ifndef SPL_NO_SATA #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 2 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #define SCSI_VEND_ID 0x1b4b #define SCSI_DEV_ID 0x9170 #define CONFIG_SCSI_DEV_LIST {SCSI_VEND_ID, SCSI_DEV_ID} diff --git a/include/configs/ls1046a_common.h b/include/configs/ls1046a_common.h index 04dc8303794..15d4364a09a 100644 --- a/include/configs/ls1046a_common.h +++ b/include/configs/ls1046a_common.h @@ -128,8 +128,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #endif /* FMan ucode */ diff --git a/include/configs/ls1088a_common.h b/include/configs/ls1088a_common.h index 9350daded1a..e9a9c64217c 100644 --- a/include/configs/ls1088a_common.h +++ b/include/configs/ls1088a_common.h @@ -133,8 +133,6 @@ unsigned long long get_qixis_addr(void); #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #endif /* Physical Memory Map */ diff --git a/include/configs/ls2080aqds.h b/include/configs/ls2080aqds.h index 07cf59fcb8f..8b4ea499e86 100644 --- a/include/configs/ls2080aqds.h +++ b/include/configs/ls2080aqds.h @@ -40,8 +40,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #define CONFIG_SYS_NOR0_CSPR_EXT (0x0) #define CONFIG_SYS_NOR_AMASK IFC_AMASK(128*1024*1024) diff --git a/include/configs/ls2080ardb.h b/include/configs/ls2080ardb.h index 6d8effea744..1253698c883 100644 --- a/include/configs/ls2080ardb.h +++ b/include/configs/ls2080ardb.h @@ -50,8 +50,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #if !defined(CONFIG_FSL_QSPI) || defined(CONFIG_TFABOOT) diff --git a/include/configs/lx2160a_common.h b/include/configs/lx2160a_common.h index 26e4e7b7b69..eb88a572e73 100644 --- a/include/configs/lx2160a_common.h +++ b/include/configs/lx2160a_common.h @@ -114,8 +114,6 @@ #define CONFIG_SYS_SATA2 AHCI_BASE_ADDR2 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #endif /* USB */ diff --git a/include/configs/mvebu_armada-37xx.h b/include/configs/mvebu_armada-37xx.h index e7f7e772fc7..c192512e85a 100644 --- a/include/configs/mvebu_armada-37xx.h +++ b/include/configs/mvebu_armada-37xx.h @@ -57,8 +57,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #define BOOT_TARGET_DEVICES(func) \ func(MMC, mmc, 1) \ diff --git a/include/configs/mvebu_armada-8k.h b/include/configs/mvebu_armada-8k.h index ac0fdddbd94..6a113ec2145 100644 --- a/include/configs/mvebu_armada-8k.h +++ b/include/configs/mvebu_armada-8k.h @@ -52,8 +52,6 @@ #define CONFIG_SYS_SCSI_MAX_SCSI_ID 2 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) /* * PCI configuration diff --git a/include/configs/omap5_uevm.h b/include/configs/omap5_uevm.h index 188ab0bf365..e9a9d50db1d 100644 --- a/include/configs/omap5_uevm.h +++ b/include/configs/omap5_uevm.h @@ -52,7 +52,5 @@ #define CONFIG_SCSI_AHCI_PLAT #define CONFIG_SYS_SCSI_MAX_SCSI_ID 1 #define CONFIG_SYS_SCSI_MAX_LUN 1 -#define CONFIG_SYS_SCSI_MAX_DEVICE (CONFIG_SYS_SCSI_MAX_SCSI_ID * \ - CONFIG_SYS_SCSI_MAX_LUN) #endif /* __CONFIG_OMAP5_EVM_H */ diff --git a/include/configs/sandbox.h b/include/configs/sandbox.h index 86b93bcbe70..a352d6e0687 100644 --- a/include/configs/sandbox.h +++ b/include/configs/sandbox.h @@ -30,7 +30,6 @@ #endif #define CONFIG_SCSI_AHCI_PLAT -#define CONFIG_SYS_SCSI_MAX_DEVICE 2 #define CONFIG_SYS_SCSI_MAX_SCSI_ID 8 #define CONFIG_SYS_SCSI_MAX_LUN 4 diff --git a/include/scsi.h b/include/scsi.h index 66a2caa26e3..b47c7463c1d 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -9,6 +9,10 @@ #include #include +/* Fix this to the maximum */ +#define SCSI_MAX_DEVICE \ + (CONFIG_SYS_SCSI_MAX_SCSI_ID * CONFIG_SYS_SCSI_MAX_LUN) + struct udevice; struct scsi_cmd { diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt index 3d79f7834c8..7d8829e9c02 100644 --- a/scripts/config_whitelist.txt +++ b/scripts/config_whitelist.txt @@ -1854,7 +1854,6 @@ CONFIG_SYS_SCCR_TSEC1CM CONFIG_SYS_SCCR_TSEC2CM CONFIG_SYS_SCCR_USBDRCM CONFIG_SYS_SCR -CONFIG_SYS_SCSI_MAX_DEVICE CONFIG_SYS_SCSI_MAX_LUN CONFIG_SYS_SCSI_MAX_SCSI_ID CONFIG_SYS_SDRAM