From: Heinrich Schuchardt Date: Sun, 26 Mar 2023 16:58:26 +0000 (+0200) Subject: ata: don't use SYS_SCSI_MAX_SCSI_ID for SATA X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=120ec1dfa9ba29464fa5c319513a43d234253211;p=u-boot.git ata: don't use SYS_SCSI_MAX_SCSI_ID for SATA CONFIG_SYS_SCSI_MAX_SCSI_ID is not defined if CONFIG_SCSI=n. Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- diff --git a/configs/controlcenterdc_defconfig b/configs/controlcenterdc_defconfig index 9c906edf1e..9940258881 100644 --- a/configs/controlcenterdc_defconfig +++ b/configs/controlcenterdc_defconfig @@ -72,6 +72,7 @@ CONFIG_ARP_TIMEOUT=200 CONFIG_NET_RETRY_COUNT=50 CONFIG_USE_ROOTPATH=y CONFIG_SPL_OF_TRANSLATE=y +CONFIG_SYS_SATA_MAX_PORTS=2 CONFIG_SCSI_AHCI=y CONFIG_DM_PCA953X=y CONFIG_DM_I2C=y diff --git a/configs/highbank_defconfig b/configs/highbank_defconfig index f0457575a7..4eac7b29fa 100644 --- a/configs/highbank_defconfig +++ b/configs/highbank_defconfig @@ -30,6 +30,7 @@ CONFIG_RESET_TO_RETRY=y CONFIG_MISC_INIT_R=y # CONFIG_CMD_SETEXPR is not set CONFIG_ENV_IS_IN_NVRAM=y +CONFIG_SYS_SATA_MAX_PORTS=5 CONFIG_SCSI_AHCI=y CONFIG_SYS_64BIT_LBA=y CONFIG_BOOTCOUNT_LIMIT=y diff --git a/drivers/ata/Kconfig b/drivers/ata/Kconfig index 2ab502c260..049f7efd10 100644 --- a/drivers/ata/Kconfig +++ b/drivers/ata/Kconfig @@ -20,6 +20,14 @@ config SATA See also CMD_SATA which provides command-line support. +config SYS_SATA_MAX_PORTS + int "Maximum supported SATA ports" + depends on SCSI_AHCI && !DM_SCSI + default 1 + help + Sets the maximum number of ports to scan when looking for devices. + Ports from 0 to (this value - 1) are scanned. + config LIBATA bool help diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 272c48b8e5..6998b82aa5 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c @@ -211,8 +211,8 @@ static int ahci_host_init(struct ahci_uc_priv *uc_priv) uc_priv->cap, uc_priv->port_map, uc_priv->n_ports); #if !defined(CONFIG_DM_SCSI) - if (uc_priv->n_ports > CONFIG_SYS_SCSI_MAX_SCSI_ID) - uc_priv->n_ports = CONFIG_SYS_SCSI_MAX_SCSI_ID; + if (uc_priv->n_ports > CONFIG_SYS_SATA_MAX_PORTS) + uc_priv->n_ports = CONFIG_SYS_SATA_MAX_PORTS; #endif for (i = 0; i < uc_priv->n_ports; i++) {