From: Marek Behún Date: Fri, 9 Jul 2021 14:56:13 +0000 (+0200) Subject: arm: mvebu: turris_omnia: force 40 MHz speed on SPI NOR X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=4494ca84318be0b4995ddee98f8a85ab5fa74466;p=u-boot.git arm: mvebu: turris_omnia: force 40 MHz speed on SPI NOR Commit e2e95e5e2542 ("spi: Update speed/mode on change") changed the boot time on Turris Omnia from ~2.3s to over 8s, due to SPL loading main U-Boot from SPI NOR at 1 MHz instead of 40 MHz. This is because the SPL code passes the CONFIG_SF_DEFAULT_SPEED option to spi_flash_probe(), and with the above commit spi_flash_probe() starts prefering this parameter instead of the one specified in device-tree. The proper solution here would probably be to fix the SF subsystem to prefer the frequency specified in the device-tree, if it is present, but I am not sure what else will be affected on other boards with such a change. So until then we need a more simple fix. Since the CONFIG_SF_DEFAULT_SPEED option is used by the code, put the correct value there for Turris Omnia. Also put the correct value to CONFIG_SF_DEFAULT_MODE and use 40 MHz when reading environment. Signed-off-by: Marek Behún Cc: Stefan Roese Cc: Tom Rini Cc: Marek Vasut Cc: Jagan Teki Cc: Patrick Delaunay Cc: Pali Rohár Reviewed-by: Stefan Roese --- diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig index 57ab384f63..ec2294699f 100644 --- a/configs/turris_omnia_defconfig +++ b/configs/turris_omnia_defconfig @@ -56,7 +56,7 @@ CONFIG_CMD_FS_UUID=y # CONFIG_SPL_PARTITION_UUIDS is not set CONFIG_ENV_OVERWRITE=y CONFIG_USE_ENV_SPI_MAX_HZ=y -CONFIG_ENV_SPI_MAX_HZ=50000000 +CONFIG_ENV_SPI_MAX_HZ=40000000 CONFIG_SYS_RELOC_GD_ENV_ADDR=y CONFIG_SPL_OF_TRANSLATE=y CONFIG_AHCI_PCI=y @@ -67,6 +67,8 @@ CONFIG_MMC_SDHCI=y CONFIG_MMC_SDHCI_MV=y CONFIG_SPI_FLASH_MACRONIX=y CONFIG_SPI_FLASH_SPANSION=y +CONFIG_SF_DEFAULT_MODE=0x0 +CONFIG_SF_DEFAULT_SPEED=40000000 CONFIG_PHY_MARVELL=y CONFIG_PHY_GIGE=y CONFIG_MVNETA=y