20 Aug, 2018
2 commits
-
Move the A/B slot check to SPL, the A/B slot switch
workflow is just like what we have in libavb_ab.Test: A/B select works fine on imx8m.
Change-Id: Ie3d827a9be0298b491bf2bc8d48833597fd70e90
Signed-off-by: Luo Ji -
Refine ql-tipc Makefile to pass the u-boot
build which use uboot.mk.Change-Id: I678eebdd8b5e5702a59b20b9580592dbaa78aa90
Signed-off-by: Haoran.Wang
13 Jun, 2018
2 commits
-
The lib provided ql-tipc communication channel with
Trusty OS.
Also the AVB, Keymaster and SecureStorage service
tipc client implement in this lib.Change-Id: I0ab1ec9ee1b6f272b960c2e944008283c2c9249a
Signed-off-by: Haoran.Wang
(cherry picked from commit 8fb370dd80fbb293b58115d2e7fc4970813773c7) -
Porting the android AVB lib from imx u-boot v2017.03
Signed-off-by: Ye Li
23 Jan, 2018
1 commit
-
This patch provides
* a uclass for EFI drivers
* a EFI driver for block devicesFor each EFI driver the uclass
* creates a handle
* adds the driver binding protocolThe uclass provides the bind, start, and stop entry points for the driver
binding protocol.In bind() and stop() it checks if the controller implements the protocol
supported by the EFI driver. In the start() function it calls the bind()
function of the EFI driver. In the stop() function it destroys the child
controllers.The EFI block driver binds to controllers implementing the block io
protocol.When the bind function of the EFI block driver is called it creates a
new U-Boot block device. It installs child handles for all partitions and
installs the simple file protocol on these.The read and write functions of the EFI block driver delegate calls to the
controller that it is bound to.A usage example is as following:
U-Boot loads the iPXE snp.efi executable. iPXE connects an iSCSI drive and
exposes a handle with the block IO protocol. It calls ConnectController.Now the EFI block driver installs the partitions with the simple file
protocol.iPXE uses the simple file protocol to load Grub or the Linux Kernel.
Signed-off-by: Heinrich Schuchardt
[agraf: add comment on calloc len]
Signed-off-by: Alexander Graf
06 Oct, 2017
1 commit
-
Signed-off-by: Jean-Jacques Hiblot
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
03 Oct, 2017
1 commit
-
This is needed for BTRFS.
Signed-off-by: Marek Behun
create mode 100644 lib/crc32c.c
19 Sep, 2017
1 commit
-
A testing framework for the EFI API is provided.
It can be executed with the 'bootefi selftest' command.It is coded in a way that at a later stage we may turn it
into a standalone EFI application. The current build system
does not allow this yet.All tests use a driver model and are run in three phases:
setup, execute, teardown.A test may be setup and executed at boottime,
it may be setup at boottime and executed at runtime,
or it may be setup and executed at runtime.After executing all tests the system is reset.
Signed-off-by: Heinrich Schuchardt
Signed-off-by: Alexander Graf
15 Sep, 2017
1 commit
-
In order to display the company's logo via the API of DM_VIDEO,
and add the logo files of both Atmel and Microchip.Signed-off-by: Wenyou Yang
Reviewed-by: Simon Glass
13 Sep, 2017
1 commit
-
We'll eventually want these in a few places in efi_loader, and also
vsprintf.Signed-off-by: Rob Clark
11 Sep, 2017
1 commit
-
Add Kconfig option SPL_GZIP and SPL_ZLIB to enable gunzip support for
SPL boot, eg. falcon boot compressed kernel image.Signed-off-by: York Sun
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
13 Aug, 2017
1 commit
-
This splits the compilation of code modules for TPL and SPL for
OF_CONTROL (and related) features between TPL and SPL. The typical
use-case of this is a TPL stage that uses OF_PLATDATA at TPL and
provides full OF_CONTROL at SPL (e.g. on the RK3368).Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
01 Jun, 2017
1 commit
-
This function converts the flat device tree into a hierarchical one with
C structures and pointers. This is easier to access.Signed-off-by: Simon Glass
22 May, 2017
1 commit
-
Commit 94e3c8c4fd7b ("crypto/fsl - Add progressive hashing support
using hardware acceleration.") created entries for CONFIG_SHA1,
CONFIG_SHA256, CONFIG_SHA_HW_ACCEL, and CONFIG_SHA_PROG_HW_ACCEL.
However, no defconfig has migrated to it. Complete the move by first
adding additional logic to various Kconfig files to select this when
required and then use the moveconfig tool. In many cases we can select
these because they are required to implement other drivers. We also
correct how we include the various hashing algorithms in SPL.This commit was generated as follows (after Kconfig additions):
[1] tools/moveconfig.py -y SHA1 SHA256 SHA_HW_ACCEL
[2] tools/moveconfig.py -y SHA_PROG_HW_ACCELNote:
We cannot move SHA_HW_ACCEL and SHA_PROG_HW_ACCEL simultaneously
because there is dependency between them.Cc: Poonam Aggrwal
Cc: Naveen Burmi
Cc: Po Liu
Cc: Shengzhou Liu
Cc: Priyanka Jain
Cc: Shaohui Xie
Cc: Chunhe Lan
Cc: Chander Kashyap
Cc: Steve Rae
Cc: Dirk Eibach
Cc: Feng Li
Cc: Alison Wang
Cc: Sumit Garg
Cc: Mingkai Hu
Cc: York Sun
Cc: Prabhakar Kushwaha
Cc: Jaehoon Chung
Cc: Akshay Saraswat
Cc: Heiko Schocher
Cc: Jagan Teki
Signed-off-by: Tom Rini
Reviewed-by: Simon Glass
Signed-off-by: Tom Rini
19 Oct, 2016
2 commits
-
We will need the SMBIOS generation function on ARM as well going forward,
so let's move it into a non arch specific location.Signed-off-by: Alexander Graf
Reviewed-by: Bin Meng
Reviewed-by: Simon Glass -
We need the checksum function without all the other table functionality
soon, so let's split it out into its own C file.Signed-off-by: Alexander Graf
Reviewed-by: Simon Glass
Reviewed-by: Bin Meng
08 Oct, 2016
1 commit
-
By default saveenv option is not supported for SPL. This patch
enable the support for save environment variable for SPL build.Enable save environment support in SPL after setenv. By default
the saveenv option is not provided in SPL, but some boards need
this support in 'Falcon' boot, where SPL need to boot from
different images based on environment variable set by OS. For
example OS may set "reboot_image" environment variable to
"recovery" inorder to boot recovery image by SPL. The SPL read
"reboot_image" and act accordingly and change the reboot_image
to default mode using setenv and save the environemnt.Signed-off-by: Ravi Babu
Reviewed-by: Simon Glasschange in v1:
- dropped SUPPORT, use CONFIG_SPL_SAVEENV
- updates the comments in mmc_private.h
17 Sep, 2016
1 commit
-
At present TPL uses the same options as SPL support. In a few cases the board
config enables or disables the SPL options depending on whether
CONFIG_TPL_BUILD is defined.With the move to Kconfig, options are determined for the whole build and
(without a hack like an #undef in a header file) cannot be controlled in this
way.Create new TPL options for these and update users. This will allow Kconfig
conversion to proceed for these boards.Signed-off-by: Simon Glass
15 Jul, 2016
1 commit
-
We cannot access the device tree in this case, so avoid compiling in the
various device-tree helper functions.Signed-off-by: Simon Glass
13 Jun, 2016
1 commit
-
This allows a board to configure verified boot within the SPL using
a FIT or FIT with external data. It also allows the SPL to perform
signature verification without needing relocation.The board configuration will need to add the following feature defines:
CONFIG_SPL_CRYPTO_SUPPORT
CONFIG_SPL_HASH_SUPPORT
CONFIG_SPL_SHA256In this example, SHA256 is the only selected hashing algorithm.
And the following booleans:
CONFIG_SPL=y
CONFIG_SPL_DM=y
CONFIG_SPL_LOAD_FIT=y
CONFIG_SPL_FIT=y
CONFIG_SPL_OF_CONTROL=y
CONFIG_SPL_OF_LIBFDT=y
CONFIG_SPL_FIT_SIGNATURE=ySigned-off-by: Teddy Reed
Acked-by: Simon Glass
Acked-by: Andreas Dannenberg
Acked-by: Sumit Garg
07 Jun, 2016
1 commit
-
When setting up a DDR controller it is useful to be able to display
frequencies in a readable form. Make the strmhz() function available in
SPL builds provided there is full vsprintf available.Reviewed-by: Tony O'Brien
Reviewed-by: Simon Glass
Signed-off-by: Chris Packham
16 Mar, 2016
1 commit
-
Now that we have all the bits and pieces ready for EFI payload loading
support, hook them up in Makefiles and KConfigs so that we can build.Signed-off-by: Alexander Graf
Reviewed-by: Simon Glass
Tested-by: Simon Glass
[trini: Enable only when we of OF_LIBFDT, disable on kwb and colibri_pxa270]
Signed-off-by: Tom Rini
15 Mar, 2016
1 commit
-
Add an option to enable libfdt in SPL. This can be useful when decoding
FIT files in SPL.We need to make sure this option is not enabled in SPL by this change.
Also this option needs to be enabled in host builds. Si add a new
IMAGE_USE_LIBFDT #define which can be used in files that are built on the
host but must also build for U-Boot and SPL.Signed-off-by: Simon Glass
16 Feb, 2016
1 commit
-
If BUILD_TAG is part of KBUILD_CFLAGS, then any time the value changes,
all files get rebuilt. In a continuous integration environment, the value
will change every build. This wastes time, assuming that incremental
builds would otherwise occur.To solve this, remove BUILD_TAG from KBUILD_CFLAGS and add it to CFLAGS
for just the one file that uses it. This does have the disadvantage that
if any other files want to use the flag, we'll need to duplicate this
custom CFLAGS setup logic. However, it seems unlikely we'll need this.An alternative would be to add BUILD_TAG to the "local version" and remove
the special case code from display_options.c. However, that would affect
the format of the U-Boot signon message, which may negatively affect
people looking for specific data there. The approach of using
file-specific CFLAGS was suggested by Masahiro Yamada.Signed-off-by: Stephen Warren
Reviewed-by: Tom Rini
Reviewed-by: Masahiro Yamada
Acked-by: Simon Glass
14 Dec, 2015
2 commits
-
To allow the various string to number conversion functions to be used
when using tiny-printf,split them out into their own file which gets
build regardless of what printf implementation is used.Signed-off-by: Sjoerd Simons
-
To allow panic and panic_str to still be used when using tiny-printf,
split them out into their own file which gets build regardless of what
printf implementation is used.Signed-off-by: Sjoerd Simons
23 Nov, 2015
1 commit
-
This patch adds a small printf() version that supports all basic formats.
Its intented to be used in U-Boot SPL versions on platforms with very
limited internal RAM sizes.To enable it, just define CONFIG_USE_TINY_PRINTF in your defconfig. This
will result in the SPL using this tiny function and the main U-Boot
still using the full-blown printf() function.This code was copied from:
http://www.sparetimelabs.com/printfrevisited
With mostly only coding style related changes so that its checkpatch
clean.The size reduction is about 2.5KiB. Here a comparison for the db-mv784mp-gp
(Marvell AXP) SPL:Without this patch:
58963 18536 1928 79427 13643 ./spl/u-boot-splWith this patch:
56542 18536 1956 77034 12cea ./spl/u-boot-splNote:
To make it possible to compile tiny-printf.c instead of vsprintf.c when
CONFIG_USE_TINY_PRINTF is defined, the functions printf() and vprintf() are
moved from common/console.c into vsprintf.c in this patch.Signed-off-by: Stefan Roese
Cc: Simon Glass
Cc: Hans de Goede
Cc: Tom Rini
Cc: Albert Aribaud
20 Nov, 2015
1 commit
-
This will be used to support console recording. It provides for a circular
buffer which can be written at the head and read from the tail. It supports
avoiding data copying by providing raw access to the data.Signed-off-by: Simon Glass
12 Oct, 2015
1 commit
-
This patch adds support for LZ4-compressed FIT image contents. This
algorithm has a slightly worse compression ration than LZO while being
nearly twice as fast to decompress. When loading images from a fast
storage medium this usually results in a boot time win.Sandbox-tested only since I don't have a U-Boot development system set
up right now. The code was imported unchanged from coreboot where it's
proven to work, though. I'm mostly interested in getting this recognized
by mkImage for use in a downstream project.Signed-off-by: Julius Werner
Acked-by: Simon Glass
19 Aug, 2015
2 commits
-
We have flipped CONFIG_SPL_DISABLE_OF_CONTROL. We have cleansing
devices, $(SPL_) and CONFIG_IS_ENABLED(), so we are ready to clear
away the ugly logic in include/fdtdec.h:#ifdef CONFIG_OF_CONTROL
# if defined(CONFIG_SPL_BUILD) && !defined(SPL_OF_CONTROL)
# define OF_CONTROL 0
# else
# define OF_CONTROL 1
# endif
#else
# define OF_CONTROL 0
#endifNow CONFIG_IS_ENABLED(OF_CONTROL) is the substitute. It refers to
CONFIG_OF_CONTROL for U-boot proper and CONFIG_SPL_OF_CONTROL for
SPL.Also, we no longer have to cancel CONFIG_OF_CONTROL in
include/config_uncmd_spl.h and scripts/Makefile.spl.Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
Acked-by: Linus Walleij -
As we discussed a couple of times, negative CONFIG options make our
life difficult; CONFIG_SYS_NO_FLASH, CONFIG_SYS_DCACHE_OFF, ...
and here is another one.Now, there are three boards enabling OF_CONTROL on SPL:
- socfpga_arria5_defconfig
- socfpga_cyclone5_defconfig
- socfpga_socrates_defconfigThis commit adds CONFIG_SPL_OF_CONTROL for them and deletes
CONFIG_SPL_DISABLE_OF_CONTROL from the other boards to invert
the logic.Signed-off-by: Masahiro Yamada
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
05 Aug, 2015
1 commit
-
When running as an EFI application, U-Boot must request memory from EFI,
and provide access to the boot services U-Boot needs.Add library code to perform these tasks. This includes efi_main() which is
the entry point from EFI. U-Boot is built as a shared library.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
22 Jul, 2015
3 commits
-
Add an implementation of RC4. This will be used by Rockchip booting but may
be useful in other situations.Signed-off-by: Simon Glass
-
This bloats the code size quite a bit and is less useful in SPL where there
is no command line.Avoid including this code in SPL.
Signed-off-by: Simon Glass
-
Drystone provides a convenient sanity check that the CPU is running at full
speed. Add this as a command which can be enabled as needed.Note: I investigated using Coremark for this but there was a license
agreement and I could not work out if it was GPL-compatible.Signed-off-by: Simon Glass
23 Apr, 2015
1 commit
-
Remove the implicit assumption that SPL does not support device tree.
Signed-off-by: Simon Glass
12 Dec, 2014
1 commit
-
The functions error's numbers are standarized - but the error
messages are not.The errors are often handled with unclear error messages,
so why not use an errno standarized messages.Advantages:
- This could decrease the binary size.
- Appended with a detailed information,
the error message will be clear.This commit introduces new function:
- const char *errno_to_str(int errno)The functions returns a pointer to the errno corresponding text message:
- if errno is null or positive number - a pointer to "Success" message
- if errno is negative - a pointer to errno related messageSigned-off-by: Przemyslaw Marczak
Reviewed-by: Tom Rini
08 Dec, 2014
3 commits
-
Signed-off-by: Masahiro Yamada
-
Signed-off-by: Masahiro Yamada
-
Signed-off-by: Masahiro Yamada