26 Nov, 2017
2 commits
-
Mainly a stylistic change: convert the load_addr and entry_point
fields of struct spl_image_info to uintptr_t (from ulong).Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass -
When loading a full U-Boot with detached device-tree using the SPL FIT
backend, we should store the address of the FDT loaded as part of the
SPL image info: this allows us to fixup the FDT with additional info
we may want to propagate onward.Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass
09 Oct, 2017
1 commit
-
Commit 15eb1d43bf47 ("spl: reorder the assignment of board info to
global data") intended to move assignment of board info earlier,
into board_init_r(). However, function preload_console_init() is
called either from spl_board_init() or from board_init_f(). For the
latter case, the board info assignment is much earlier than proposed
board_init_r(). Create a new function to fill gd->bd and call this
function when needed.Signed-off-by: York Sun
CC: Lokesh Vutla
CC: Ravi Babu
CC: Lukasz Majewski
CC: Tom Rini
Reviewed-by: Simon Glass
13 Aug, 2017
1 commit
-
Some devices (e.g. the RK3368) have only limited SRAM, but provide
support for loading the next boot stage after our SPL performs basic
setup (e.g. DRAM).For target systems like these, we add a boot device BOOTROM that will
invoke a board-specific hook to return to the bootrom (if supported).Signed-off-by: Philipp Tomsich
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
15 May, 2017
1 commit
-
ATF(ARM Trusted Firmware) is used by ARM arch64 SoCs, find more infomation
about ATF at: https://github.com/ARM-software/arm-trusted-firmwareSPL is considered as BL2 in ATF terminology, it needs to load other parts
of ATF binary like BL31, BL32, SCP-BL30, and BL33(U-Boot). And needs to
prepare the parameter for BL31 which including entry and image information
for all other images. Then the SPL handle PC to BL31 with the parameter,
the BL31 will do the rest of work and at last get into U-Boot(BL33).This patch needs work with patches from Andre for SPL support multi
binary in FIT.The entry point of bl31 and bl33 are still using hard code because we
still can not get them from the FIT image information.Signed-off-by: Kever Yang
Tested-by: Heiko Stuebner
Acked-by: Simon Glass
Reviewed-by: Tom Rini
08 May, 2017
1 commit
-
At present fdt blob or argument address being passed to kernel is fixed at
compile time using macro CONFIG_SYS_SPL_ARGS_ADDR. FDT blob from
different media like nand, nor flash are copied to the address pointed
by the macro.
The problem is, it makes args/fdt blob compulsory to copy which is not required
in cases like for NOR Flash. This patch removes this limitation.Signed-off-by: Vikas Manocha
19 Mar, 2017
1 commit
-
CONFIG_SPL_ABORT_ON_RAW_IMAGE causes SPL to abort and move on when it
encounters RAW images, express this same functionality as a positive
option enabling support for RAW images: CONFIG_SPL_RAW_IMAGE_SUPPORTAlso move uses of this to defconfigs.
Signed-off-by: Andrew F. Davis
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
[trini: Rework Kconfig logic a little, move to common/spl/Kconfig]
Signed-off-by: Tom Rini
17 Mar, 2017
1 commit
-
At present malloc_base/_limit/_ptr are not initialised in spl_init() when
we call spl_init() in board_init_f(). This is due to a recent change aimed
at avoiding overwriting the malloc area set up on some boards by
spl_relocate_stack_gd().However if CONFIG_SPL_STACK_R_MALLOC_SIMPLE_LEN is not defined, we now
skip setting up the memory area in spl_init() which is obviously wrong.To fix this, add a new function spl_early_init() which can be called in
board_init_f().Fixes: b3d2861e (spl: Remove overwrite of relocated malloc limit)
Signed-off-by: Eddie Cai
Rewrote spl_{,early_}init() to avoid duplicate code:
Rewrite/expand commit message:
Signed-off-by: Simon Glass
Reviewed-by: Eddie Cai
04 Jan, 2017
1 commit
-
Since entry_point and load_addr are addresses, they should be
represented as longs to cover the whole address space and to avoid
warning when compiling the SPL in 64-bit.
Also adjust debug prints to add the 'l' specifier, where needed.Signed-off-by: Andre Przywara
Reviewed-by: Alexander Graf
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
Acked-by: Maxime Ripard
Reviewed-by: Jagan Teki
09 Dec, 2016
2 commits
-
It is useful to name each method so that we can print out this name when
using the method. Currently this happens using a separate function. In
preparation for unifying this, add a name to each method.The name is only available if we have libcommon support (i.e can use
printf()).Signed-off-by: Simon Glass
-
A double underscore is normally reserved for compiler predefines. Use a
single underscore instead.Signed-off-by: Simon Glass
01 Dec, 2016
1 commit
-
Make the spl_mmc_load_image() available globally, so it can be
invoked directly by SPL on extremely space-constrained systems.Signed-off-by: Marek Vasut
Cc: Tom Rini
Cc: Simon Glass
Cc: Jaehoon Chung
07 Oct, 2016
24 commits
-
There is no need for this to be in the BSS region. By moving it we can delay
use of BSS in SPL. This is useful for machines where the BSS region is not
in writeable space. On 64-bit x86, SPL runs from SPI flash and it is easier
to eliminate BSS use than link SPL to run with BSS at a particular
cache-as-RAM (CAR) address.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Upda the SPL FIT code to use the spl_image parameter.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Update the fat loader to avoid using the spl_image global variable.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Update the ext loader to avoid using the spl_image global variable.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Rather than having a global variable, pass the spl_image as a parameter.
This avoids BSS use, and makes it clearer what the function is actually
doing.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code. Update existing users.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code. We need two variants - one for BOOT_DEVICE_CPGMAC and one for
BOOT_DEVICE_USBETH.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code. Also set up the sunxi function.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list declaration for this method and remove the explicit
switch() code.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a linker list macro which can be used to declare an SPL image loader.
Update spl_load_image() to search available loaders for the correct one.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
At present some spl_xxx_load_image() functions take a parameter and some
don't. Of those that do, most take an integer but one takes a string.Convert this parameter into a struct so that we can pass all functions the
same thing. This will allow us to use a common function signature.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Move this option to Kconfig and tidy up existing uses. Also add a function
comment to the header file.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add some comments to describe this function.
Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Instead of using the global spl_image variable, pass the required struct in
as an argument.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Instead of using the global spl_image variable, pass the required struct in
as an argument.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Rather than act on the global variable, pass the required struct in as a
parameter.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
At present this is only used on ARM and sandbox, but it is just as
applicable to other architectures. Move the function prototype into the
generic SPL header.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
28 Sep, 2016
1 commit
-
Adding support functions to run dfu spl commands.
Signed-off-by: Ravi Babu
Reviewed-by: Tom Rini
22 Jul, 2016
1 commit
-
Add support for loading from UBI volumes on the top of NAND
and OneNAND.Signed-off-by: Ladislav Michl
Reviewed-by: Heiko Schocher
27 Jun, 2016
1 commit
-
The SPL code already knows which boot device it calls the spl_boot_mode()
on, so pass that information into the function. This allows the code of
spl_boot_mode() avoid invoking spl_boot_device() again, but it also lets
board_boot_order() correctly alter the behavior of the boot process.The later one is important, since in certain cases, it is desired that
spl_boot_device() return value be overriden using board_boot_order().Signed-off-by: Marek Vasut
Cc: Andreas Bießmann
Cc: Albert Aribaud
Cc: Tom Rini
Reviewed-by: Andreas Bießmann
[add newly introduced zynq variant]
Signed-aff-by: Andreas Bießmann
28 May, 2016
1 commit
-
This provides a way to load a FIT containing U-Boot and a selection of device
tree files from a File system. Making sure that all the reads and writes
are aligned to their respective needs.Tested-by: Michal Simek
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
Signed-off-by: Lokesh Vutla
[trini: Make this still apply with Michal's alignment change for 'fit']
Signed-off-by: Tom Rini