* [U-Boot] [PATCH 1/2] Convert CONFIG_SPL_RAM_DEVICE to defconfig
@ 2016-12-16 2:00 Stefan Agner
2016-12-16 2:00 ` [U-Boot] [PATCH 2/2] spl: move RAM boot support in separate file Stefan Agner
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Agner @ 2016-12-16 2:00 UTC (permalink / raw)
To: u-boot
From: Stefan Agner <stefan.agner@toradex.com>
This converts the following to Kconfig:
CONFIG_SPL_RAM_DEVICE
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---
common/spl/Kconfig | 8 ++++++++
configs/apalis_t30_defconfig | 1 +
configs/beaver_defconfig | 1 +
configs/cardhu_defconfig | 1 +
configs/cei-tk1-som_defconfig | 1 +
configs/colibri_t20_defconfig | 1 +
configs/colibri_t30_defconfig | 1 +
configs/dalmore_defconfig | 1 +
configs/harmony_defconfig | 1 +
configs/jetson-tk1_defconfig | 1 +
configs/medcom-wide_defconfig | 1 +
configs/nyan-big_defconfig | 1 +
configs/paz00_defconfig | 1 +
configs/plutux_defconfig | 1 +
configs/seaboard_defconfig | 1 +
configs/socfpga_arria5_defconfig | 1 +
configs/socfpga_cyclone5_defconfig | 1 +
configs/socfpga_de0_nano_soc_defconfig | 1 +
configs/socfpga_de1_soc_defconfig | 1 +
configs/socfpga_is1_defconfig | 1 +
configs/socfpga_mcvevk_defconfig | 1 +
configs/socfpga_sockit_defconfig | 1 +
configs/socfpga_socrates_defconfig | 1 +
configs/socfpga_sr1500_defconfig | 1 +
configs/socfpga_vining_fpga_defconfig | 1 +
configs/tec-ng_defconfig | 1 +
configs/tec_defconfig | 1 +
configs/topic_miami_defconfig | 1 +
configs/topic_miamiplus_defconfig | 1 +
configs/trimslice_defconfig | 1 +
configs/venice2_defconfig | 1 +
configs/ventana_defconfig | 1 +
configs/whistler_defconfig | 1 +
configs/zynq_microzed_defconfig | 1 +
configs/zynq_picozed_defconfig | 1 +
configs/zynq_zc702_defconfig | 1 +
configs/zynq_zc706_defconfig | 1 +
configs/zynq_zc770_xm010_defconfig | 1 +
configs/zynq_zc770_xm011_defconfig | 1 +
configs/zynq_zc770_xm012_defconfig | 1 +
configs/zynq_zc770_xm013_defconfig | 1 +
configs/zynq_zed_defconfig | 1 +
configs/zynq_zybo_defconfig | 1 +
include/configs/microblaze-generic.h | 1 -
include/configs/socfpga_common.h | 1 -
include/configs/tegra-common.h | 1 -
include/configs/xilinx_zynqmp.h | 1 -
include/configs/zynq-common.h | 1 -
48 files changed, 50 insertions(+), 5 deletions(-)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index cba51f5..8f779e6 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -449,6 +449,14 @@ config SPL_POWER_SUPPORT
in drivers/power, drivers/power/pmic and drivers/power/regulator
as part of an SPL build.
+config SPL_RAM_DEVICE
+ bool "Support booting from preloaded image in RAM"
+ depends on SPL
+ help
+ Enable booting of an image already loaded in RAM. The image has to
+ be already in memory when SPL takes over, e.g. loaded by the boot
+ ROM.
+
config SPL_SATA_SUPPORT
bool "Support loading from SATA"
depends on SPL
diff --git a/configs/apalis_t30_defconfig b/configs/apalis_t30_defconfig
index 691148c..68ada32 100644
--- a/configs/apalis_t30_defconfig
+++ b/configs/apalis_t30_defconfig
@@ -7,6 +7,7 @@ CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Apalis T30 # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
index 5cb73c0..7af382d 100644
--- a/configs/beaver_defconfig
+++ b/configs/beaver_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra30-beaver"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra30 (Beaver) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/cardhu_defconfig b/configs/cardhu_defconfig
index 0214758..9673387 100644
--- a/configs/cardhu_defconfig
+++ b/configs/cardhu_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra30-cardhu"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra30 (Cardhu) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/cei-tk1-som_defconfig b/configs/cei-tk1-som_defconfig
index 909b367..f901296 100644
--- a/configs/cei-tk1-som_defconfig
+++ b/configs/cei-tk1-som_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra124-cei-tk1-som"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra124 (TK1-SOM) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/colibri_t20_defconfig b/configs/colibri_t20_defconfig
index a543246..7806799 100644
--- a/configs/colibri_t20_defconfig
+++ b/configs/colibri_t20_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra20-colibri"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_SYS_STDIO_DEREGISTER=y
# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Colibri T20 # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/colibri_t30_defconfig b/configs/colibri_t30_defconfig
index 2ab6764..fd27e4f 100644
--- a/configs/colibri_t30_defconfig
+++ b/configs/colibri_t30_defconfig
@@ -7,6 +7,7 @@ CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
# CONFIG_DISPLAY_BOARDINFO is not set
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Colibri T30 # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
index 0db2d1d..159e98a 100644
--- a/configs/dalmore_defconfig
+++ b/configs/dalmore_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra114-dalmore"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra114 (Dalmore) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig
index d8712d5..9d14df9 100644
--- a/configs/harmony_defconfig
+++ b/configs/harmony_defconfig
@@ -5,6 +5,7 @@ CONFIG_TARGET_HARMONY=y
CONFIG_DEFAULT_DEVICE_TREE="tegra20-harmony"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (Harmony) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
index b0aa3c7..3406abc 100644
--- a/configs/jetson-tk1_defconfig
+++ b/configs/jetson-tk1_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra124-jetson-tk1"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra124 (Jetson TK1) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/medcom-wide_defconfig b/configs/medcom-wide_defconfig
index a65c3ad..2ed76c3 100644
--- a/configs/medcom-wide_defconfig
+++ b/configs/medcom-wide_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra20-medcom-wide"
CONFIG_FIT=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (Medcom-Wide) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/nyan-big_defconfig b/configs/nyan-big_defconfig
index e6f862d..7953531 100644
--- a/configs/nyan-big_defconfig
+++ b/configs/nyan-big_defconfig
@@ -7,6 +7,7 @@ CONFIG_FIT=y
CONFIG_FIT_BEST_MATCH=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra124 (Nyan-big) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig
index b3d6f90..07f9d24 100644
--- a/configs/paz00_defconfig
+++ b/configs/paz00_defconfig
@@ -5,6 +5,7 @@ CONFIG_TARGET_PAZ00=y
CONFIG_DEFAULT_DEVICE_TREE="tegra20-paz00"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (Paz00) MOD # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/plutux_defconfig b/configs/plutux_defconfig
index 3c45b9d..9e3b2f3 100644
--- a/configs/plutux_defconfig
+++ b/configs/plutux_defconfig
@@ -7,6 +7,7 @@ CONFIG_FIT=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (Plutux) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig
index c3119dc..f066c06 100644
--- a/configs/seaboard_defconfig
+++ b/configs/seaboard_defconfig
@@ -4,6 +4,7 @@ CONFIG_TEGRA20=y
CONFIG_TARGET_SEABOARD=y
CONFIG_DEFAULT_DEVICE_TREE="tegra20-seaboard"
CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (SeaBoard) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_arria5_defconfig b/configs/socfpga_arria5_defconfig
index d91990c..5f7615b 100644
--- a/configs/socfpga_arria5_defconfig
+++ b/configs/socfpga_arria5_defconfig
@@ -13,6 +13,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
index 905f766..11c4205 100644
--- a/configs/socfpga_cyclone5_defconfig
+++ b/configs/socfpga_cyclone5_defconfig
@@ -13,6 +13,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_de0_nano_soc_defconfig b/configs/socfpga_de0_nano_soc_defconfig
index 7daf81a..8edbe06 100644
--- a/configs/socfpga_de0_nano_soc_defconfig
+++ b/configs/socfpga_de0_nano_soc_defconfig
@@ -13,6 +13,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_de1_soc_defconfig b/configs/socfpga_de1_soc_defconfig
index d8a3b82..e306062 100644
--- a/configs/socfpga_de1_soc_defconfig
+++ b/configs/socfpga_de1_soc_defconfig
@@ -15,6 +15,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_is1_defconfig b/configs/socfpga_is1_defconfig
index a0f04d0..84c5463 100644
--- a/configs/socfpga_is1_defconfig
+++ b/configs/socfpga_is1_defconfig
@@ -12,6 +12,7 @@ CONFIG_VERSION_VARIABLE=y
# CONFIG_DISPLAY_BOARDINFO is not set
CONFIG_SPL=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_mcvevk_defconfig b/configs/socfpga_mcvevk_defconfig
index 5a53246..192a4b9 100644
--- a/configs/socfpga_mcvevk_defconfig
+++ b/configs/socfpga_mcvevk_defconfig
@@ -13,6 +13,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_sockit_defconfig b/configs/socfpga_sockit_defconfig
index 9450d21..bd52885 100644
--- a/configs/socfpga_sockit_defconfig
+++ b/configs/socfpga_sockit_defconfig
@@ -13,6 +13,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_socrates_defconfig b/configs/socfpga_socrates_defconfig
index 84a8890..9c5dd45 100644
--- a/configs/socfpga_socrates_defconfig
+++ b/configs/socfpga_socrates_defconfig
@@ -13,6 +13,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_sr1500_defconfig b/configs/socfpga_sr1500_defconfig
index 641dd4d..b7b1bfc 100644
--- a/configs/socfpga_sr1500_defconfig
+++ b/configs/socfpga_sr1500_defconfig
@@ -14,6 +14,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/socfpga_vining_fpga_defconfig b/configs/socfpga_vining_fpga_defconfig
index 608cdf8..d95c399 100644
--- a/configs/socfpga_vining_fpga_defconfig
+++ b/configs/socfpga_vining_fpga_defconfig
@@ -14,6 +14,7 @@ CONFIG_VERSION_VARIABLE=y
CONFIG_SPL=y
CONFIG_SPL_SYS_MALLOC_SIMPLE=y
CONFIG_SPL_STACK_R=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_CMD_BOOTZ=y
# CONFIG_CMD_IMLS is not set
diff --git a/configs/tec-ng_defconfig b/configs/tec-ng_defconfig
index f52f19b..d554688 100644
--- a/configs/tec-ng_defconfig
+++ b/configs/tec-ng_defconfig
@@ -7,6 +7,7 @@ CONFIG_FIT=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra30 (TEC-NG) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/tec_defconfig b/configs/tec_defconfig
index 1ccec73..fe4b27c 100644
--- a/configs/tec_defconfig
+++ b/configs/tec_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra20-tec"
CONFIG_FIT=y
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (TEC) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/topic_miami_defconfig b/configs/topic_miami_defconfig
index 3d6161e..4ecd00d 100644
--- a/configs/topic_miami_defconfig
+++ b/configs/topic_miami_defconfig
@@ -8,6 +8,7 @@ CONFIG_BOOTDELAY=0
CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="zynq-uboot> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/topic_miamiplus_defconfig b/configs/topic_miamiplus_defconfig
index 3160f00..5edbf5c 100644
--- a/configs/topic_miamiplus_defconfig
+++ b/configs/topic_miamiplus_defconfig
@@ -8,6 +8,7 @@ CONFIG_BOOTDELAY=0
CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="zynq-uboot> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/trimslice_defconfig b/configs/trimslice_defconfig
index a145ff8..3959689 100644
--- a/configs/trimslice_defconfig
+++ b/configs/trimslice_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra20-trimslice"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (TrimSlice) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
index 8ff879f..635184c 100644
--- a/configs/venice2_defconfig
+++ b/configs/venice2_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra124-venice2"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra124 (Venice2) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig
index 1f2809a..a5ebda2 100644
--- a/configs/ventana_defconfig
+++ b/configs/ventana_defconfig
@@ -4,6 +4,7 @@ CONFIG_TEGRA20=y
CONFIG_TARGET_VENTANA=y
CONFIG_DEFAULT_DEVICE_TREE="tegra20-ventana"
CONFIG_OF_SYSTEM_SETUP=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (Ventana) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/whistler_defconfig b/configs/whistler_defconfig
index b7c3ed9..471a6b6 100644
--- a/configs/whistler_defconfig
+++ b/configs/whistler_defconfig
@@ -6,6 +6,7 @@ CONFIG_DEFAULT_DEVICE_TREE="tegra20-whistler"
CONFIG_OF_SYSTEM_SETUP=y
CONFIG_CONSOLE_MUX=y
CONFIG_SYS_STDIO_DEREGISTER=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_SYS_PROMPT="Tegra20 (Whistler) # "
# CONFIG_CMD_IMI is not set
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig
index 16d26c0..02c64e1 100644
--- a/configs/zynq_microzed_defconfig
+++ b/configs/zynq_microzed_defconfig
@@ -8,6 +8,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_picozed_defconfig b/configs/zynq_picozed_defconfig
index 3ba6b66..3502882 100644
--- a/configs/zynq_picozed_defconfig
+++ b/configs/zynq_picozed_defconfig
@@ -5,6 +5,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_zc702_defconfig b/configs/zynq_zc702_defconfig
index 117bfda..b4cef10 100644
--- a/configs/zynq_zc702_defconfig
+++ b/configs/zynq_zc702_defconfig
@@ -9,6 +9,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig
index ef73849..007a547 100644
--- a/configs/zynq_zc706_defconfig
+++ b/configs/zynq_zc706_defconfig
@@ -9,6 +9,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_zc770_xm010_defconfig b/configs/zynq_zc770_xm010_defconfig
index 1419efa..f338504 100644
--- a/configs/zynq_zc770_xm010_defconfig
+++ b/configs/zynq_zc770_xm010_defconfig
@@ -9,6 +9,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_zc770_xm011_defconfig b/configs/zynq_zc770_xm011_defconfig
index 2f4fc1e..a64ead1 100644
--- a/configs/zynq_zc770_xm011_defconfig
+++ b/configs/zynq_zc770_xm011_defconfig
@@ -9,6 +9,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_zc770_xm012_defconfig b/configs/zynq_zc770_xm012_defconfig
index d3116e1..08069ae 100644
--- a/configs/zynq_zc770_xm012_defconfig
+++ b/configs/zynq_zc770_xm012_defconfig
@@ -8,6 +8,7 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM012"
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
CONFIG_CMD_GPIO=y
diff --git a/configs/zynq_zc770_xm013_defconfig b/configs/zynq_zc770_xm013_defconfig
index add038c..baa192c 100644
--- a/configs/zynq_zc770_xm013_defconfig
+++ b/configs/zynq_zc770_xm013_defconfig
@@ -9,6 +9,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig
index 96f00e4..f4f9d01 100644
--- a/configs/zynq_zed_defconfig
+++ b/configs/zynq_zed_defconfig
@@ -8,6 +8,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/configs/zynq_zybo_defconfig b/configs/zynq_zybo_defconfig
index dfac764..b990d44 100644
--- a/configs/zynq_zybo_defconfig
+++ b/configs/zynq_zybo_defconfig
@@ -9,6 +9,7 @@ CONFIG_SYS_NO_FLASH=y
# CONFIG_DISPLAY_CPUINFO is not set
CONFIG_SPL=y
CONFIG_SPL_OS_BOOT=y
+CONFIG_SPL_RAM_DEVICE=y
CONFIG_HUSH_PARSER=y
CONFIG_SYS_PROMPT="Zynq> "
# CONFIG_CMD_IMLS is not set
diff --git a/include/configs/microblaze-generic.h b/include/configs/microblaze-generic.h
index 7abffdb..cc90b73 100644
--- a/include/configs/microblaze-generic.h
+++ b/include/configs/microblaze-generic.h
@@ -284,7 +284,6 @@
#define CONFIG_SPL_LDSCRIPT "arch/microblaze/cpu/u-boot-spl.lds"
-#define CONFIG_SPL_RAM_DEVICE
#ifdef CONFIG_SYS_FLASH_BASE
# define CONFIG_SYS_UBOOT_BASE CONFIG_SYS_FLASH_BASE
#endif
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index 58a6550..7292469 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -309,7 +309,6 @@ unsigned int cm_get_qspi_controller_clk_hz(void);
* 0xFFFF_FF00 ...... End of SRAM
*/
#define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_RAM_DEVICE
#define CONFIG_SPL_TEXT_BASE CONFIG_SYS_INIT_RAM_ADDR
#define CONFIG_SPL_MAX_SIZE (64 * 1024)
diff --git a/include/configs/tegra-common.h b/include/configs/tegra-common.h
index 63b711b..4d57b8d 100644
--- a/include/configs/tegra-common.h
+++ b/include/configs/tegra-common.h
@@ -104,7 +104,6 @@
/* Defines for SPL */
#define CONFIG_SPL_FRAMEWORK
-#define CONFIG_SPL_RAM_DEVICE
#define CONFIG_SPL_BOARD_INIT
#define CONFIG_SPL_NAND_SIMPLE
#define CONFIG_SPL_MAX_FOOTPRINT (CONFIG_SYS_TEXT_BASE - \
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index d480990..7ee0e0b 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -261,7 +261,6 @@
#define CONFIG_SPL_FRAMEWORK
#define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_RAM_DEVICE
/* u-boot is like dtb */
#define CONFIG_SPL_FS_LOAD_ARGS_NAME "u-boot.bin"
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index 953e731..e04be5c 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -296,7 +296,6 @@
#define CONFIG_CMD_SPL
#define CONFIG_SPL_FRAMEWORK
#define CONFIG_SPL_BOARD_INIT
-#define CONFIG_SPL_RAM_DEVICE
#define CONFIG_SPL_LDSCRIPT "arch/arm/mach-zynq/u-boot-spl.lds"
--
2.10.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 2/2] spl: move RAM boot support in separate file
2016-12-16 2:00 [U-Boot] [PATCH 1/2] Convert CONFIG_SPL_RAM_DEVICE to defconfig Stefan Agner
@ 2016-12-16 2:00 ` Stefan Agner
2016-12-16 5:08 ` Stefan Roese
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Agner @ 2016-12-16 2:00 UTC (permalink / raw)
To: u-boot
From: Stefan Agner <stefan.agner@toradex.com>
Add a new top-level config option so support booting an image stored
in RAM. This allows to move the RAM boot support into a sparate file
and having a single condition to compile that file.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
---
The series has been build tested using buildman.
Building current source for 1230 boards (8 threads, 1 job per thread)
1019 0 211 /1230 0:00:03 : P1022DS_NAND
--
Stefan
common/spl/Kconfig | 11 ++++++++--
common/spl/Makefile | 1 +
common/spl/spl.c | 58 -----------------------------------------------------
3 files changed, 10 insertions(+), 60 deletions(-)
diff --git a/common/spl/Kconfig b/common/spl/Kconfig
index 8f779e6..802779b 100644
--- a/common/spl/Kconfig
+++ b/common/spl/Kconfig
@@ -449,9 +449,16 @@ config SPL_POWER_SUPPORT
in drivers/power, drivers/power/pmic and drivers/power/regulator
as part of an SPL build.
+config SPL_RAM_SUPPORT
+ bool "Support booting from RAM"
+ depends on SPL
+ help
+ Enable booting of an image in RAM. The image can be preloaded or
+ it can be loaded by SPL directly into RAM (e.g. using USB).
+
config SPL_RAM_DEVICE
bool "Support booting from preloaded image in RAM"
- depends on SPL
+ depends on SPL_RAM_SUPPORT
help
Enable booting of an image already loaded in RAM. The image has to
be already in memory when SPL takes over, e.g. loaded by the boot
@@ -557,7 +564,7 @@ choice
config SPL_DFU_RAM
bool "RAM device"
- depends on SPL_DFU_SUPPORT
+ depends on SPL_DFU_SUPPORT && SPL_RAM_SUPPORT
help
select RAM/DDR memory device for loading binary images
(u-boot/kernel) to the selected device partition using
diff --git a/common/spl/Makefile b/common/spl/Makefile
index ed02635..1933cbd 100644
--- a/common/spl/Makefile
+++ b/common/spl/Makefile
@@ -26,4 +26,5 @@ obj-$(CONFIG_SPL_EXT_SUPPORT) += spl_ext.o
obj-$(CONFIG_SPL_SATA_SUPPORT) += spl_sata.o
obj-$(CONFIG_SPL_DFU_SUPPORT) += spl_dfu.o
obj-$(CONFIG_SPL_SPI_LOAD) += spl_spi.o
+obj-$(CONFIG_SPL_RAM_SUPPORT) += spl_ram.o
endif
diff --git a/common/spl/spl.c b/common/spl/spl.c
index f7df834..2f3b6a4 100644
--- a/common/spl/spl.c
+++ b/common/spl/spl.c
@@ -170,64 +170,6 @@ __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
image_entry();
}
-#ifndef CONFIG_SPL_LOAD_FIT_ADDRESS
-# define CONFIG_SPL_LOAD_FIT_ADDRESS 0
-#endif
-
-#if defined(CONFIG_SPL_RAM_DEVICE) || defined(CONFIG_SPL_DFU_SUPPORT)
-static ulong spl_ram_load_read(struct spl_load_info *load, ulong sector,
- ulong count, void *buf)
-{
- debug("%s: sector %lx, count %lx, buf %lx\n",
- __func__, sector, count, (ulong)buf);
- memcpy(buf, (void *)(CONFIG_SPL_LOAD_FIT_ADDRESS + sector), count);
- return count;
-}
-
-static int spl_ram_load_image(struct spl_image_info *spl_image,
- struct spl_boot_device *bootdev)
-{
- struct image_header *header;
-
- header = (struct image_header *)CONFIG_SPL_LOAD_FIT_ADDRESS;
-
-#if defined(CONFIG_SPL_DFU_SUPPORT)
- if (bootdev->boot_device == BOOT_DEVICE_DFU)
- spl_dfu_cmd(0, "dfu_alt_info_ram", "ram", "0");
-#endif
-
- if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
- image_get_magic(header) == FDT_MAGIC) {
- struct spl_load_info load;
-
- debug("Found FIT\n");
- load.bl_len = 1;
- load.read = spl_ram_load_read;
- spl_load_simple_fit(spl_image, &load, 0, header);
- } else {
- debug("Legacy image\n");
- /*
- * Get the header. It will point to an address defined by
- * handoff which will tell where the image located inside
- * the flash. For now, it will temporary fixed to address
- * pointed by U-Boot.
- */
- header = (struct image_header *)
- (CONFIG_SYS_TEXT_BASE - sizeof(struct image_header));
-
- spl_parse_image_header(spl_image, header);
- }
-
- return 0;
-}
-#if defined(CONFIG_SPL_RAM_DEVICE)
-SPL_LOAD_IMAGE_METHOD("RAM", 0, BOOT_DEVICE_RAM, spl_ram_load_image);
-#endif
-#if defined(CONFIG_SPL_DFU_SUPPORT)
-SPL_LOAD_IMAGE_METHOD("USB DFU", 0, BOOT_DEVICE_DFU, spl_ram_load_image);
-#endif
-#endif
-
int spl_init(void)
{
int ret;
--
2.10.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 2/2] spl: move RAM boot support in separate file
2016-12-16 2:00 ` [U-Boot] [PATCH 2/2] spl: move RAM boot support in separate file Stefan Agner
@ 2016-12-16 5:08 ` Stefan Roese
2016-12-20 13:09 ` Stefan Agner
0 siblings, 1 reply; 4+ messages in thread
From: Stefan Roese @ 2016-12-16 5:08 UTC (permalink / raw)
To: u-boot
On 16.12.2016 03:00, Stefan Agner wrote:
> From: Stefan Agner <stefan.agner@toradex.com>
>
> Add a new top-level config option so support booting an image stored
> in RAM. This allows to move the RAM boot support into a sparate file
> and having a single condition to compile that file.
>
> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
> ---
> The series has been build tested using buildman.
>
> Building current source for 1230 boards (8 threads, 1 job per thread)
> 1019 0 211 /1230 0:00:03 : P1022DS_NAND
>
> --
> Stefan
>
> common/spl/Kconfig | 11 ++++++++--
> common/spl/Makefile | 1 +
> common/spl/spl.c | 58 -----------------------------------------------------
> 3 files changed, 10 insertions(+), 60 deletions(-)
Looks like you forgot to add the newly created file.
Thanks,
Stefan
> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
> index 8f779e6..802779b 100644
> --- a/common/spl/Kconfig
> +++ b/common/spl/Kconfig
> @@ -449,9 +449,16 @@ config SPL_POWER_SUPPORT
> in drivers/power, drivers/power/pmic and drivers/power/regulator
> as part of an SPL build.
>
> +config SPL_RAM_SUPPORT
> + bool "Support booting from RAM"
> + depends on SPL
> + help
> + Enable booting of an image in RAM. The image can be preloaded or
> + it can be loaded by SPL directly into RAM (e.g. using USB).
> +
> config SPL_RAM_DEVICE
> bool "Support booting from preloaded image in RAM"
> - depends on SPL
> + depends on SPL_RAM_SUPPORT
> help
> Enable booting of an image already loaded in RAM. The image has to
> be already in memory when SPL takes over, e.g. loaded by the boot
> @@ -557,7 +564,7 @@ choice
>
> config SPL_DFU_RAM
> bool "RAM device"
> - depends on SPL_DFU_SUPPORT
> + depends on SPL_DFU_SUPPORT && SPL_RAM_SUPPORT
> help
> select RAM/DDR memory device for loading binary images
> (u-boot/kernel) to the selected device partition using
> diff --git a/common/spl/Makefile b/common/spl/Makefile
> index ed02635..1933cbd 100644
> --- a/common/spl/Makefile
> +++ b/common/spl/Makefile
> @@ -26,4 +26,5 @@ obj-$(CONFIG_SPL_EXT_SUPPORT) += spl_ext.o
> obj-$(CONFIG_SPL_SATA_SUPPORT) += spl_sata.o
> obj-$(CONFIG_SPL_DFU_SUPPORT) += spl_dfu.o
> obj-$(CONFIG_SPL_SPI_LOAD) += spl_spi.o
> +obj-$(CONFIG_SPL_RAM_SUPPORT) += spl_ram.o
> endif
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index f7df834..2f3b6a4 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -170,64 +170,6 @@ __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
> image_entry();
> }
>
> -#ifndef CONFIG_SPL_LOAD_FIT_ADDRESS
> -# define CONFIG_SPL_LOAD_FIT_ADDRESS 0
> -#endif
> -
> -#if defined(CONFIG_SPL_RAM_DEVICE) || defined(CONFIG_SPL_DFU_SUPPORT)
> -static ulong spl_ram_load_read(struct spl_load_info *load, ulong sector,
> - ulong count, void *buf)
> -{
> - debug("%s: sector %lx, count %lx, buf %lx\n",
> - __func__, sector, count, (ulong)buf);
> - memcpy(buf, (void *)(CONFIG_SPL_LOAD_FIT_ADDRESS + sector), count);
> - return count;
> -}
> -
> -static int spl_ram_load_image(struct spl_image_info *spl_image,
> - struct spl_boot_device *bootdev)
> -{
> - struct image_header *header;
> -
> - header = (struct image_header *)CONFIG_SPL_LOAD_FIT_ADDRESS;
> -
> -#if defined(CONFIG_SPL_DFU_SUPPORT)
> - if (bootdev->boot_device == BOOT_DEVICE_DFU)
> - spl_dfu_cmd(0, "dfu_alt_info_ram", "ram", "0");
> -#endif
> -
> - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
> - image_get_magic(header) == FDT_MAGIC) {
> - struct spl_load_info load;
> -
> - debug("Found FIT\n");
> - load.bl_len = 1;
> - load.read = spl_ram_load_read;
> - spl_load_simple_fit(spl_image, &load, 0, header);
> - } else {
> - debug("Legacy image\n");
> - /*
> - * Get the header. It will point to an address defined by
> - * handoff which will tell where the image located inside
> - * the flash. For now, it will temporary fixed to address
> - * pointed by U-Boot.
> - */
> - header = (struct image_header *)
> - (CONFIG_SYS_TEXT_BASE - sizeof(struct image_header));
> -
> - spl_parse_image_header(spl_image, header);
> - }
> -
> - return 0;
> -}
> -#if defined(CONFIG_SPL_RAM_DEVICE)
> -SPL_LOAD_IMAGE_METHOD("RAM", 0, BOOT_DEVICE_RAM, spl_ram_load_image);
> -#endif
> -#if defined(CONFIG_SPL_DFU_SUPPORT)
> -SPL_LOAD_IMAGE_METHOD("USB DFU", 0, BOOT_DEVICE_DFU, spl_ram_load_image);
> -#endif
> -#endif
> -
> int spl_init(void)
> {
> int ret;
>
Viele Gr??e,
Stefan
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de
^ permalink raw reply [flat|nested] 4+ messages in thread
* [U-Boot] [PATCH 2/2] spl: move RAM boot support in separate file
2016-12-16 5:08 ` Stefan Roese
@ 2016-12-20 13:09 ` Stefan Agner
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Agner @ 2016-12-20 13:09 UTC (permalink / raw)
To: u-boot
On 2016-12-16 06:08, Stefan Roese wrote:
> On 16.12.2016 03:00, Stefan Agner wrote:
>> From: Stefan Agner <stefan.agner@toradex.com>
>>
>> Add a new top-level config option so support booting an image stored
>> in RAM. This allows to move the RAM boot support into a sparate file
>> and having a single condition to compile that file.
>>
>> Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
>> ---
>> The series has been build tested using buildman.
>>
>> Building current source for 1230 boards (8 threads, 1 job per thread)
>> 1019 0 211 /1230 0:00:03 : P1022DS_NAND
>>
>> --
>> Stefan
>>
>> common/spl/Kconfig | 11 ++++++++--
>> common/spl/Makefile | 1 +
>> common/spl/spl.c | 58 -----------------------------------------------------
>> 3 files changed, 10 insertions(+), 60 deletions(-)
>
> Looks like you forgot to add the newly created file.
>
Oops, you are right. Will send out v2.
--
Stefan
> Thanks,
> Stefan
>
>> diff --git a/common/spl/Kconfig b/common/spl/Kconfig
>> index 8f779e6..802779b 100644
>> --- a/common/spl/Kconfig
>> +++ b/common/spl/Kconfig
>> @@ -449,9 +449,16 @@ config SPL_POWER_SUPPORT
>> in drivers/power, drivers/power/pmic and drivers/power/regulator
>> as part of an SPL build.
>>
>> +config SPL_RAM_SUPPORT
>> + bool "Support booting from RAM"
>> + depends on SPL
>> + help
>> + Enable booting of an image in RAM. The image can be preloaded or
>> + it can be loaded by SPL directly into RAM (e.g. using USB).
>> +
>> config SPL_RAM_DEVICE
>> bool "Support booting from preloaded image in RAM"
>> - depends on SPL
>> + depends on SPL_RAM_SUPPORT
>> help
>> Enable booting of an image already loaded in RAM. The image has to
>> be already in memory when SPL takes over, e.g. loaded by the boot
>> @@ -557,7 +564,7 @@ choice
>>
>> config SPL_DFU_RAM
>> bool "RAM device"
>> - depends on SPL_DFU_SUPPORT
>> + depends on SPL_DFU_SUPPORT && SPL_RAM_SUPPORT
>> help
>> select RAM/DDR memory device for loading binary images
>> (u-boot/kernel) to the selected device partition using
>> diff --git a/common/spl/Makefile b/common/spl/Makefile
>> index ed02635..1933cbd 100644
>> --- a/common/spl/Makefile
>> +++ b/common/spl/Makefile
>> @@ -26,4 +26,5 @@ obj-$(CONFIG_SPL_EXT_SUPPORT) += spl_ext.o
>> obj-$(CONFIG_SPL_SATA_SUPPORT) += spl_sata.o
>> obj-$(CONFIG_SPL_DFU_SUPPORT) += spl_dfu.o
>> obj-$(CONFIG_SPL_SPI_LOAD) += spl_spi.o
>> +obj-$(CONFIG_SPL_RAM_SUPPORT) += spl_ram.o
>> endif
>> diff --git a/common/spl/spl.c b/common/spl/spl.c
>> index f7df834..2f3b6a4 100644
>> --- a/common/spl/spl.c
>> +++ b/common/spl/spl.c
>> @@ -170,64 +170,6 @@ __weak void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image)
>> image_entry();
>> }
>>
>> -#ifndef CONFIG_SPL_LOAD_FIT_ADDRESS
>> -# define CONFIG_SPL_LOAD_FIT_ADDRESS 0
>> -#endif
>> -
>> -#if defined(CONFIG_SPL_RAM_DEVICE) || defined(CONFIG_SPL_DFU_SUPPORT)
>> -static ulong spl_ram_load_read(struct spl_load_info *load, ulong sector,
>> - ulong count, void *buf)
>> -{
>> - debug("%s: sector %lx, count %lx, buf %lx\n",
>> - __func__, sector, count, (ulong)buf);
>> - memcpy(buf, (void *)(CONFIG_SPL_LOAD_FIT_ADDRESS + sector), count);
>> - return count;
>> -}
>> -
>> -static int spl_ram_load_image(struct spl_image_info *spl_image,
>> - struct spl_boot_device *bootdev)
>> -{
>> - struct image_header *header;
>> -
>> - header = (struct image_header *)CONFIG_SPL_LOAD_FIT_ADDRESS;
>> -
>> -#if defined(CONFIG_SPL_DFU_SUPPORT)
>> - if (bootdev->boot_device == BOOT_DEVICE_DFU)
>> - spl_dfu_cmd(0, "dfu_alt_info_ram", "ram", "0");
>> -#endif
>> -
>> - if (IS_ENABLED(CONFIG_SPL_LOAD_FIT) &&
>> - image_get_magic(header) == FDT_MAGIC) {
>> - struct spl_load_info load;
>> -
>> - debug("Found FIT\n");
>> - load.bl_len = 1;
>> - load.read = spl_ram_load_read;
>> - spl_load_simple_fit(spl_image, &load, 0, header);
>> - } else {
>> - debug("Legacy image\n");
>> - /*
>> - * Get the header. It will point to an address defined by
>> - * handoff which will tell where the image located inside
>> - * the flash. For now, it will temporary fixed to address
>> - * pointed by U-Boot.
>> - */
>> - header = (struct image_header *)
>> - (CONFIG_SYS_TEXT_BASE - sizeof(struct image_header));
>> -
>> - spl_parse_image_header(spl_image, header);
>> - }
>> -
>> - return 0;
>> -}
>> -#if defined(CONFIG_SPL_RAM_DEVICE)
>> -SPL_LOAD_IMAGE_METHOD("RAM", 0, BOOT_DEVICE_RAM, spl_ram_load_image);
>> -#endif
>> -#if defined(CONFIG_SPL_DFU_SUPPORT)
>> -SPL_LOAD_IMAGE_METHOD("USB DFU", 0, BOOT_DEVICE_DFU, spl_ram_load_image);
>> -#endif
>> -#endif
>> -
>> int spl_init(void)
>> {
>> int ret;
>>
>
> Viele Gr??e,
> Stefan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-12-20 13:09 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-12-16 2:00 [U-Boot] [PATCH 1/2] Convert CONFIG_SPL_RAM_DEVICE to defconfig Stefan Agner
2016-12-16 2:00 ` [U-Boot] [PATCH 2/2] spl: move RAM boot support in separate file Stefan Agner
2016-12-16 5:08 ` Stefan Roese
2016-12-20 13:09 ` Stefan Agner
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.