Skip to content

Instantly share code, notes, and snippets.

@maquefel
Created November 26, 2021 10:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save maquefel/fc87589d2434f0af87ff88d257798d72 to your computer and use it in GitHub Desktop.
Save maquefel/fc87589d2434f0af87ff88d257798d72 to your computer and use it in GitHub Desktop.
Unmatche U-Boot RAM SPL patch
From 7bc59a1da11d7b7c2f1f9669ac773e2d11230f12 Mon Sep 17 00:00:00 2001
From: Nikita Shubin <n.shubin@yadro.com>
Date: Wed, 21 Jul 2021 04:46:40 +0000
Subject: [PATCH] board: sifive: spl: boot from ram
---
board/sifive/hifive_unmatched_fu740/spl.c | 2 +
.../sifive_hifive_unmatched_fu740_defconfig | 38 +++++++------------
2 files changed, 15 insertions(+), 25 deletions(-)
diff --git a/board/sifive/hifive_unmatched_fu740/spl.c b/board/sifive/hifive_unmatched_fu740/spl.c
index b173d2f711..af86a035ae 100644
--- a/board/sifive/hifive_unmatched_fu740/spl.c
+++ b/board/sifive/hifive_unmatched_fu740/spl.c
@@ -154,6 +154,8 @@ u32 spl_boot_device(void)
u32 mode_select = readl((void *)MODE_SELECT_REG);
u32 boot_device = mode_select & MODE_SELECT_MASK;
+ return BOOT_DEVICE_RAM;
+
switch (boot_device) {
case MODE_SELECT_SD:
return BOOT_DEVICE_MMC1;
diff --git a/configs/sifive_hifive_unmatched_fu740_defconfig b/configs/sifive_hifive_unmatched_fu740_defconfig
index fac1d7b894..9feb3b12b2 100644
--- a/configs/sifive_hifive_unmatched_fu740_defconfig
+++ b/configs/sifive_hifive_unmatched_fu740_defconfig
@@ -3,7 +3,6 @@ CONFIG_SPL_GPIO_SUPPORT=y
CONFIG_SYS_MALLOC_F_LEN=0x3000
CONFIG_NR_DRAM_BANKS=1
CONFIG_SPL_DM_SPI=y
-CONFIG_SPL_MMC_SUPPORT=y
CONFIG_SPL=y
CONFIG_SPL_SPI_SUPPORT=y
CONFIG_DEFAULT_DEVICE_TREE="hifive-unmatched-a00"
@@ -16,43 +15,32 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x84000000
CONFIG_DISPLAY_CPUINFO=y
CONFIG_DISPLAY_BOARDINFO=y
CONFIG_DISPLAY_BOARDINFO_LATE=y
+CONFIG_BOARD_EARLY_INIT_F=y
CONFIG_SPL_SEPARATE_BSS=y
+# CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_USE_SECTOR is not set
CONFIG_SPL_DM_RESET=y
+CONFIG_SPL_RAM_SUPPORT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SPL_YMODEM_SUPPORT=y
+CONFIG_CMD_EEPROM=y
+CONFIG_CMD_MEMINFO=y
+CONFIG_CMD_PWM=y
+CONFIG_CMD_GPT_RENAME=y
+CONFIG_CMD_PCI=y
+CONFIG_CMD_USB=y
CONFIG_SYS_RELOC_GD_ENV_ADDR=y
CONFIG_SPL_CLK=y
-CONFIG_DM_RESET=y
-CONFIG_CMD_PCI=y
+CONFIG_E1000=y
+CONFIG_NVME=y
CONFIG_PCI=y
CONFIG_DM_PCI=y
-CONFIG_PCI_PNP=y
CONFIG_PCIE_SIFIVE_FU740=y
-CONFIG_NVME=y
-CONFIG_DM_ETH=y
-CONFIG_NETDEVICES=y
-CONFIG_E1000=y
+CONFIG_DM_RESET=y
CONFIG_USB=y
-CONFIG_CMD_USB=y
CONFIG_DM_USB=y
-CONFIG_USB_STORAGE=y
CONFIG_USB_XHCI_HCD=y
CONFIG_USB_XHCI_PCI=y
CONFIG_USB_EHCI_HCD=y
CONFIG_USB_EHCI_GENERIC=y
CONFIG_USB_OHCI_HCD=y
CONFIG_USB_OHCI_GENERIC=y
-CONFIG_CMD_PART=y
-CONFIG_CMD_NVME=y
-CONFIG_SYS_USB_EVENT_POLL=y
-CONFIG_CMD_GPT=y
-CONFIG_CMD_GPT_RENAME=y
-CONFIG_CMD_EEPROM=y
-CONFIG_CMD_MEMINFO=y
-CONFIG_CMD_I2C=y
-CONFIG_DM_I2C=y
-CONFIG_SYS_I2C_OCORES=y
-CONFIG_CLK_SIFIVE_PRCI=y
-CONFIG_DM_PWM=y
-CONFIG_PWM_SIFIVE=y
-CONFIG_CMD_PWM=y
-CONFIG_BOARD_EARLY_INIT_F=y
--
2.31.1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment