15 Jul, 2017
1 commit
-
Add a new image type representing TI Power Management
Micro-Controller (PMMC) Firmware image type.Signed-off-by: Andrew F. Davis
03 Jan, 2017
1 commit
-
When we want to use Secure Boot with HAB from SPL over U-Boot.img,
we need to append the IVT to the image and leave space for the CSF.
Images generated as firmware_ivt can directly be signed using the
Freescale code signing tool. For creation of a CSF, mkimage outputs
the correct HAB Blocks for the image.
The changes to the usual firmware image class are quite small,
that is why I implemented that directly into the default_image.Cc: sbabic@denx.de
v2-Changes: None
Signed-off-by: Sven Ebenfeld
Reviewed-by: George McCollister
Tested-by: George McCollister
20 Dec, 2016
1 commit
-
Stop boot process if fpga programming fails.
Without this patch boot process continues even if fpga programming
failed.Signed-off-by: Michal Simek
Reviewed-by: Simon Glass
04 Dec, 2016
2 commits
-
Add a new image type representing Trusted Execution Environment (TEE)
image types. For example, an OP-TEE OS binary image.Signed-off-by: Andrew F. Davis
Reviewed-by: Simon Glass -
To help automate the loading of custom image types we add the ability
to define custom handlers for the loadable section types. When we find
a compatible type while loading a "loadable" image from a FIT image we
run its associated handlers to perform any additional steps needed for
loading this image.Signed-off-by: Andrew F. Davis
Reviewed-by: Simon Glass
05 Nov, 2016
1 commit
-
Coverity complains that this can overflow. If we later increase the size
of one of the strings in the table, it could happen.Adjust the code to protect against this.
Signed-off-by: Simon Glass
Reported-by: Coverity (CID: 150964)
14 Oct, 2016
1 commit
-
These have now landed upstream. The naming is different and in one case the
function signature has changed. Update the code to match.This applies the following upstream commits by
Thierry Reding :604e61e fdt: Add functions to retrieve strings
8702bd1 fdt: Add a function to get the index of a string
2218387 fdt: Add a function to count stringsSigned-off-by: Simon Glass
06 Oct, 2016
1 commit
-
This format can be flashed directly at address 0 of
the NAND FLASH, as it contains all necessary headers.Signed-off-by: Albert ARIBAUD (3ADEV)
24 Sep, 2016
1 commit
-
Now, arch/${ARCH}/include/asm/errno.h and include/linux/errno.h have
the same content. (both just wrap )Replace all include directives for with .
Signed-off-by: Masahiro Yamada
[trini: Fixup include/clk.]
Signed-off-by: Tom Rini
22 Sep, 2016
1 commit
-
Commit bac17b78dace ("image-fit: switch ENOLINK to ENOENT") changed
fit_get_node_from_config to return -ENOENT when a property doesn't
exist, but didn't change any of its callers which check return values.
Notably it didn't change boot_get_ramdisk, which leads to U-Boot failing
to boot FIT images which don't include ramdisks with the following
message:Ramdisk image is corrupt or invalid
It also didn't take into account that by returning -ENOENT to denote the
lack of a property we lost the ability to determine from the return
value of fit_get_node_from_config whether it was the property or the
configuration node that was missing, which may potentially lead callers
to accept invalid FIT images.Fix this by having fit_get_node_from_config return -EINVAL when the
configuration node isn't found and -ENOENT when the property isn't
found, which seems to make semantic sense. Callers that previously
checked for -ENOLINK are adjusted to check for -ENOENT, which fixes the
breakage introduced by commit bac17b78dace ("image-fit: switch ENOLINK
to ENOENT").The only other user of the return fit_get_node_from_config return value,
indirectly, is bootm_find_os which already checked for -ENOENT. From a
read-through of the code I suspect it ought to have been checking for
-ENOLINK prior to bac17b78dace ("image-fit: switch ENOLINK to ENOENT")
anyway, which would make it right after this patch, but this would be
good to get verified by someone who knows this x86 code or is able to
test it.Signed-off-by: Paul Burton
Cc: Jonathan Gray
Cc: Marek Vasut
Acked-by: Marek Vasut
Acked-by: Stefan Roese
Acked-by: George McCollister
Tested-by: George McCollister
16 Aug, 2016
1 commit
-
The Xtensa processor architecture is a configurable, extensible,
and synthesizable 32-bit RISC processor core provided by Cadence.This is the first part of the basic architecture port with changes to
common files. The 'arch/xtensa' directory, and boards and additional
drivers will be in separate commits.Signed-off-by: Chris Zankel
Signed-off-by: Max Filippov
Reviewed-by: Simon Glass
Reviewed-by: Tom Rini
15 Jul, 2016
3 commits
-
Add generic functions which can look up information about a category:
- the number of items in the category
- the category description
- an item long time
- an item short timeSigned-off-by: Simon Glass
Reviewed-by: Tom Rini -
At present the name is NULL, which prevents qsort() fromp being used. Use
the name "invalid" instead.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini -
Add a table that contains the category name, the number of items in each
category and a pointer to the table of items. This will allow us to use
generic code to deal with the categories.Signed-off-by: Simon Glass
Reviewed-by: Tom Rini
24 May, 2016
3 commits
-
Add function boot_get_fpga() which find and load bitstream to
programmable logic if fpga entry is present.
Function is supported on Xilinx devices for full and partial bitstreams
in BIN and BIT format.Signed-off-by: Michal Simek
Remove additional blankline in image.h -
Add FIT_FPGA_PROP that user can identify an optional
entry for fpga.Signed-off-by: Michal Simek
Reviewed-by: Simon Glass -
Add support for the zynqmpimage to mkimage.
Only basic functionality is supported without encryption and register
initialization with one partition which is filled by U-Boot SPL.
For more detail information look at Xilinx ZynqMP TRM.Signed-off-by: Michal Simek
Reviewed-by: Simon Glass
15 Mar, 2016
3 commits
-
Sometimes it is useful to obtain the short name for an Operating System,
architecture or compression mechanism. Provide functions for this.Signed-off-by: Simon Glass
-
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
-
There are already two FIT options in Kconfig but the CONFIG options are
still in the header files. We need to do a proper move to fix this.Move these options to Kconfig and tidy up board configuration:
CONFIG_FIT
CONFIG_OF_BOARD_SETUP
CONFIG_OF_SYSTEM_SETUP
CONFIG_FIT_SIGNATURE
CONFIG_FIT_BEST_MATCH
CONFIG_FIT_VERBOSE
CONFIG_OF_STDOUT_VIA_ALIAS
CONFIG_RSAUnfortunately the first one is a little complicated. We need to make sure
this option is not enabled in SPL by this change. Also this option is
enabled automatically in the host builds by defining CONFIG_FIT in the
image.h file. To solve this, add a new IMAGE_USE_FIT #define which can
be used in files that are built on the host but must also build for U-Boot
and SPL.Note: Masahiro's moveconfig.py script is amazing.
Signed-off-by: Simon Glass
[trini: Add microblaze change, various configs/ re-applies]
Signed-off-by: Tom Rini
08 Feb, 2016
1 commit
-
Commit 9c11135ce053 ("image: fix getenv_bootm_size() function") fixed
the case where "bootm_low" is defined, but "bootm_size" is not.
Instead, it broke the case where neither "bootm_low" nor "bootm_size"
is defined. Fix this function again.Fixes: 9c11135ce053 ("image: fix getenv_bootm_size() function")
Signed-off-by: Masahiro Yamada
Tested-by: Matthias Weisser
Tested-by: Hannes Schmelzer
06 Feb, 2016
1 commit
-
Correct spelling of "U-Boot" shall be used in all written text
(documentation, comments in source files etc.).Signed-off-by: Bin Meng
Reviewed-by: Heiko Schocher
Reviewed-by: Simon Glass
Reviewed-by: Minkyu Kang
19 Jan, 2016
1 commit
-
Currently, this function returns wrong size if "bootm_low" is defined,
but "bootm_size" is not.Signed-off-by: Masahiro Yamada
Reviewed-by: Simon Glass
13 Jan, 2016
1 commit
-
To boot Linux, we should prevent Initramdisk and FDT from going too
high.Currently, boot_relocate_fdt() checks "fdt_high" environment first,
and then falls back to getenv_bootm_mapsize() + getenv_bootm_low()
if "fdt_high" is missing.On the other hand, boot_ramdisk_high() only checks "initrd_high" to
get the address limit for the Initramdisk. We also want to let this
case fall back to getenv_bootm_mapsize() + getenv_bootm_low().Signed-off-by: Masahiro Yamada
19 Nov, 2015
1 commit
-
As with other platforms vendors love to create their own boot header
formats. Xilinx is no different and for the Zynq platform/SoC there
exists the "boot.bin" which is read by the platforms bootrom. This
format is described to a useful extent within the Xilinx Zynq TRM.This implementation adds support for the 'zynqimage' to mkimage. The
implementation only considers the most common boot header which is
un-encrypted and packed directly after the boot header itself (no
XIP, etc.). However this implementation does take into consideration the
other fields of the header for image dumping use cases (vector table and
register initialization).Signed-off-by: Nathan Rossi
Cc: Michal Simek
Cc: Tom Rini
Reviewed-by: Tom Rini
Signed-off-by: Michal Simek
28 Oct, 2015
1 commit
-
In 1fec3c5 I added a check that if we had an Android image we default to
trying the kernel address for a ramdisk. However when we don't have an
Android image buf is NULL and we oops here. Ensure that we have 'buf'
to check first.Reported-by: elipe Balbi
Signed-off-by: Tom Rini
12 Oct, 2015
2 commits
-
In 2dd4632 the check for where a ramdisk is found on an Android image
was got moved into the "normal" loop here, causing people to have to
pass the kernel address in the ramdisk address location in order to have
Android boot still. This changed previous behavior so perform a check
early in the function to see if we have an Android image and if so use
that as where to look for the ramdisk (which is what the rest of the
code here expects). We allow for this to still be overridden with an
explicit ramdisk address to be passed as normal.Cc: Rob Herring
Reported-by: Paul Kocialkowski
Signed-off-by: Tom Rini -
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
03 Sep, 2015
3 commits
-
The Rockchip boot ROM requires a particular file format for booting from SPI.
It consists of a 512-byte header encoded with RC4, some padding and then up
to 32KB of executable code in 2KB blocks, separated by 2KB empty blocks.Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be
converted to this format. This allows booting from SPI flash on supported
machines.Signed-off-by: Simon Glass
-
The Rockchip boot ROM requires a particular file format. It consists of
64KB of zeroes, a 512-byte header encoded with RC4, and then some executable
code.Add support to mkimage so that an SPL image (u-boot-spl-dtb.bin) can be
converted to this format.Signed-off-by: Simon Glass
-
Rockchip SoCs require certain formats for code that they execute, The
simplest format is a 4-byte header at the start of a binary file. Add
support for this so that we can create images that the boot ROM understands.Signed-off-by: Simon Glass
28 Aug, 2015
1 commit
-
GCC 5.1 starts warning for comparisons such as !a > 0, assuming that the
negation was meant to apply to the whole expression rather than just the
left operand.Indeed the comparison in the FIT loadable code is confusingly written,
though it does end up doing the right thing. Rewrite the condition to be
more explicit, that is, iterate over strings until they're exhausted.Signed-off-by: Thierry Reding
Reviewed-by: Tom Rini
Reviewed-by: Simon Glass
13 Aug, 2015
2 commits
-
If a dtb is specified on the command-line, the Android boot image ramdisk
will not be found. Fix this so that we can specify the ramdisk address and
dtb address. The syntax is to enter the Android boot image address for
both the kernel and ramdisk.Signed-off-by: Rob Herring
-
This patch enables building SPL without
CONFIG_SPL_SERIAL_SUPPORT support.Signed-off-by: Heiko Schocher
[trini: Ensure we build arch/arm/imx-common on mx28]
Signed-off-by: Tom Rini
22 Jul, 2015
1 commit
-
Offer to display the available image types in help. Also, rather than
hacking the genimg_get_type_id() function to display a list of types,
do this in the tool. Also, sort the list.The list of image types is quite long, and hard to discover. Print it out
when we show help information.Signed-off-by: Simon Glass
28 May, 2015
2 commits
-
common/image.c currently implicitly depends on CONFIG_NR_DRAM_BANKS
when CONFIG_ARM is enabled. Make this requirement explicit.Signed-off-by: Matt Porter
-
Added a trimmed down instance of boot_get_() to satisfy the
minimum requierments of the added feature. The function follows the
normal patterns set by other boot_get's, which should make it a
bit easier to combine them all together into one boot_get_image()
function in a later refactor.Documentation for the new function can be found in source:
include/image.hSigned-off-by: Karl Apsite
Reviewed-by: Simon Glass
06 May, 2015
1 commit
-
Rename this function so that it is clear that it is provided by the RTC.
Also return an error when it cannot function as expected. This is unlikely
to occur since it works for dates since 1752 and many RTCs do not support
such old dates. Still it is better to be accurate.Signed-off-by: Simon Glass
Acked-by: Heiko Schocher
19 Apr, 2015
1 commit
-
In the case where the arch defines a custom map_sysmem(), make sure that
including just mapmem.h is sufficient to have these functions as they
are when the arch does not override it.Also split the non-arch specific functions out of common.h
Signed-off-by: Joe Hershberger
Reviewed-by: Simon Glass
10 Apr, 2015
1 commit
-
Signed-off-by: Albert ARIBAUD (3ADEV)