05 Mar, 2018
1 commit
-
Thomas reported U-Boot failed to build host tools if libfdt-devel
package is installed because tools include libfdt headers from
/usr/include/ instead of using internal ones.This commit moves the header code:
include/libfdt.h -> include/linux/libfdt.h
include/libfdt_env.h -> include/linux/libfdt_env.hand replaces include directives:
#include -> #include
#include -> #includeReported-by: Thomas Petazzoni
Signed-off-by: Masahiro Yamada
19 Dec, 2017
1 commit
-
When booting a itb file with a Ramdisk on a imx6 based
board, U-Boot drops the warning:Loading Kernel Image ... OK
Loading Ramdisk to 4ecf1000, end 4ef8b11f ... \
CACHE: Misaligned operation at range [4ecf1000, 4ef8b11f]Fix it!
Signed-off-by: Heiko Schocher
Tested-by: Ayoub Zaki
14 Dec, 2017
1 commit
-
This drops the limit that fpga is only loaded from FIT images for Xilinx.
This is done by moving the 'partial' check from 'common/image.c' to
'drivers/fpga/xilinx.c' (the only driver supporting partial images yet)
and supplies a weak default implementation in 'drivers/fpga/fpga.c'.Signed-off-by: Simon Goldschmidt
Tested-by: Michal Simek (On zcu102)
Signed-off-by: Michal Simek
08 Dec, 2017
1 commit
-
This does not appear to be used by any boards. Before introducing a new
log system, remove this old one.Signed-off-by: Simon Glass
Reviewed-by: Bin Meng
26 Nov, 2017
1 commit
-
To boot on ARMv8 systems with ARM Trusted Firmware, we need to
assemble an ATF-specific parameter structure and also provide the
address of the images started by ATF (e.g. BL3-3, which may be the
full U-Boot).To allow us to identify an ARM Trusted Firmware contained in a FIT
image, this adds the necessary definitions.Signed-off-by: Philipp Tomsich
Reviewed-by: Simon Glass
16 Oct, 2017
2 commits
-
Removal of the legacy DataFlash code turned genimg_get_image() into a
no-op. Drop all calls to it and the function itself.Signed-off-by: Tuomas Tynkkynen
-
Last user of this option went away in commit:
fdc7718999 ("board: usb_a9263: Update to support DT and DM")
Signed-off-by: Tuomas Tynkkynen
13 Sep, 2017
1 commit
-
Add a new image type representing TI Power Management
Micro-Controller (PMMC) Firmware image type.Signed-off-by: Andrew F. Davis
16 Aug, 2017
2 commits
-
We are now using an env_ prefix for environment functions. Rename these
other functions as well, for consistency:getenv_vlan()
getenv_bootm_size()
getenv_bootm_low()
getenv_bootm_mapsize()
env_get_default()Suggested-by: Wolfgang Denk
Signed-off-by: Simon Glass -
We are now using an env_ prefix for environment functions. Rename these
two functions for consistency. Also add function comments in common.h.Quite a few places use getenv() in a condition context, provoking a
warning from checkpatch. These are fixed up in this patch also.Suggested-by: Wolfgang Denk
Signed-off-by: Simon Glass
21 Jan, 2017
1 commit
-
IEC 80000-13:2008 Quantities and units
Part 13: Information science and technologydefines the prefixes to use for binary multiples.
So instead of writing
Data Size: 6726132 Bytes = 6568.49 kB = 6.41 MB
in dumpimage we should write
Data Size: 6726132 Bytes = 6568.49 KiB = 6.41 MiB.Signed-off-by: Heinrich Schuchardt
20 Jan, 2017
1 commit
-
In 35fc84f, bootm was refactored so plain 'bootm' and
'bootm ' shared a common implementation.
The 'bootm ramdisk' command implementation is now part of the common
implementation but not invoke by plain 'bootm' since the original
implementation never did ramdisk relocation. Instead, ramdisk
relocation happened in image_setup_linux() which is typically called
during the OS portion of 'bootm'.On ARM, parameters to the Linux kernel can either be passed by FDT or
ATAGS. When using FDT, image_setup_linux() is called which also triggers
ramdisk relocation. When using ATAGS, image_setup_linux() is _not_
called because it mostly does FDT setup.Instead of calling image_setup_linux() in both FDT and ATAGS cases,
include BOOTM_STATE_RAMDISK in the requested states during a plain
'bootm' if CONFIG_SYS_BOOT_RAMDISK_HIGH is set and remove the ramdisk
relocation from image_setup_linux(). This causes ramdisk relocation to
happen on any system where CONFIG_SYS_BOOT_RAMDISK_HIGH regardless of
the OS being booted. Also remove IMAGE_ENABLE_RAMDISK_HIGH as it was
only used by the now-removed code from image_setup_linux().Signed-off-by: Rick Altherr
Reviewed-by: Simon Glass
Reviewed-by: Joel Stanley
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
1 commit
-
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