aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarek Behún <marek.behun@nic.cz>2021-07-09 16:56:13 +0200
committerStefan Roese <sr@denx.de>2021-07-15 10:53:05 +0200
commit4494ca84318be0b4995ddee98f8a85ab5fa74466 (patch)
treee0cdb610d5f2f555e25838d1e0f43b9a17d589cd
parent960d45979a3c35e6161af2583f737612fb38b43b (diff)
downloadu-boot-4494ca84318be0b4995ddee98f8a85ab5fa74466.zip
u-boot-4494ca84318be0b4995ddee98f8a85ab5fa74466.tar.gz
u-boot-4494ca84318be0b4995ddee98f8a85ab5fa74466.tar.bz2
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 <marek.behun@nic.cz> Cc: Stefan Roese <sr@denx.de> Cc: Tom Rini <trini@konsulko.com> Cc: Marek Vasut <marex@denx.de> Cc: Jagan Teki <jagan@amarulasolutions.com> Cc: Patrick Delaunay <patrick.delaunay@foss.st.com> Cc: Pali Rohár <pali@kernel.org> Reviewed-by: Stefan Roese <sr@denx.de>
-rw-r--r--configs/turris_omnia_defconfig4
1 files changed, 3 insertions, 1 deletions
diff --git a/configs/turris_omnia_defconfig b/configs/turris_omnia_defconfig
index 57ab384..ec22946 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