- 22 Jul, 2016 40 commits
-
-
mario.six@gdsys.cc authored
When signing images, we repeatedly call fit_add_file_data() with successively increasing size values to include the keys in the DTB. Unfortunately, if large keys are used (such as 4096 bit RSA keys), this process fails sometimes, and mkimage needs to be called repeatedly to integrate the keys into the DTB. This is because fit_add_file_data actually returns the wrong error code, and the loop terminates prematurely, instead of trying again with a larger size value. This patch corrects the return value by fixing the return value of fdt_add_bignum, fixes a case where an error is masked by a unconditional setting of a return value variable, and also removes a error message, which is misleading, since we actually allow the function to fail. A (hopefully helpful) comment is also added to explain the lack of error message. This is probably related to 1152a05e ("tools: Correct error handling in fit_image_process_hash()") and the corresponding error reported here: https://www.mail-archive.com/u-boot@lists.denx.de/msg217417.htmlSigned-off-by:
Mario Six <mario.six@gdsys.cc>
-
mario.six@gdsys.cc authored
When signing images, we repeatedly call fit_add_file_data() with successively increasing size values to include the keys in the DTB. Unfortunately, if large keys are used (such as 4096 bit RSA keys), this process fails sometimes, and mkimage needs to be called repeatedly to integrate the keys into the DTB. This is because fit_add_file_data actually returns the wrong error code, and the loop terminates prematurely, instead of trying again with a larger size value. This patch corrects the return value and also removes a error message, which is misleading, since we actually allow the function to fail. A (hopefully helpful) comment is also added to explain the lack of error message. This is probably related to 1152a05e ("tools: Correct error handling in fit_image_process_hash()") and the corresponding error reported here: https://www.mail-archive.com/u-boot@lists.denx.de/msg217417.htmlSigned-off-by:
Mario Six <mario.six@gdsys.cc>
-
Stephen Warren authored
Without this, the test fails if the test is run with a cwd other than the root of the U-Boot source tree. Fixes: 8729d582 ("test: Convert the vboot test to test/py") Signed-off-by:
Stephen Warren <swarren@nvidia.com> Reviewed-by:
Simon Glass <sjg@chromium.org>
-
Jeremy Hunt authored
As part of the startup process for boards using the SPL, the meaning of board_init_f changed such that it should return normally rather than calling board_init_r directly. (see db910353 ) This was fixed in 32-bit arm, but broke when SPL was added to 64 bit arm. This fixes crt0_64 so that it calls board_init_r during the SPL and removes the direct call from board_init_f from the arm SPL example. Signed-off-by:
Jeremy Hunt <Jeremy.Hunt@DEShawResearch.com> Acked-by:
Simon Glass <sjg@chromium.org>
-
Andreas Färber authored
Tracing the arguments has been helpful for pinpointing overflows. Cc: Alexander Graf <agraf@suse.de> Signed-off-by:
Andreas Färber <afaerber@suse.de> Reviewed-by:
Alexander Graf <agraf@suse.de>
-
Andreas Fenkart authored
Try to avoid adhoc iteration of the environment. Reuse fw_getenv to find the variables that should be printed. Only use open-coded iteration when printing all variables. For backwards compatibility, keep emitting a newline when printing with value_only. Signed-off-by:
Andreas Fenkart <andreas.fenkart@digitalstrom.com>
-
Andreas Fenkart authored
forward declaration not needed when re-ordered Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Andreas Fenkart <andreas.fenkart@digitalstrom.com>
-
Andreas Fenkart authored
there are two groups of functions: - application ready tools: fw_setenv/fw_getenv/fw_parse_script these are used, when creating a single binary containing multiple tools (busybox like) - file access like: open/read/write/close above functions are implemented on top of these. applications can use those to modify several variables without creating a temporary batch script file tested with "./scripts/kernel-doc -html -v tools/env/fw_env.h" Reviewed-by:
Simon Glass <sjg@chromium.org> Signed-off-by:
Andreas Fenkart <andreas.fenkart@digitalstrom.com>
-
Tom Rini authored
On most platforms the print_fpga_state function is never called. Only on dlvision-10g do we, so in that case inline it. Drop it from everywhere else to avoid extra strings. Signed-off-by:
Tom Rini <trini@konsulko.com> Acked-by:
Reinhard Pfau <reinhard.pfau@gdsys.cc> Acked-by:
Dirk Eibach <dirk.eibach@gdsys.cc>
-
Stefan Agner authored
A negative value for the offset is treated as a backwards offset for from the end of the device/partition for block devices. This aligns the behavior of the config file with the syntax of CONFIG_ENV_OFFSET where the functionality has been introduced with commit 5c088ee8 ("env_mmc: allow negative CONFIG_ENV_OFFSET"). Signed-off-by:
Stefan Agner <stefan.agner@toradex.com>
-
Stefan Agner authored
Currently flash_read completes a crucial part of the environment device configuration, the device type (mtd_type). This is rather confusing as flash_io calls flash_read conditionally, and one might think flash_write, which also makes use of mtd_type, gets called before flash_read. But since flash_io is always called with O_RDONLY first, this is not actually the case in reality. However, it is much cleaner to complete and verify the config early in parse_config. This also prepares the code for further extension. Signed-off-by:
Stefan Agner <stefan.agner@toradex.com> Reviewed-by: Andreas Fenkart
-
Alexander Graf authored
Partitions on the iso el torito partition table interpreter only start from partition 1. So when printing out the tables, let's also start counting at 1. Signed-off-by:
Alexander Graf <agraf@suse.de>
-
Ladislav Michl authored
Implement spl_start_uboot to let Falcon mode work. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> Reviewed-by:
Heiko Schocher <hs@denx.de> Acked-by:
Enric Balletbo i Serra <enric.balletbo@collabora.com>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Convert IGEP board to use UBI volumes for U-Boot, its environment and kernel. With exception of first four sectors read by SoC boot ROM whole (One)NAND is UBI managed. Also merge NAND and OneNAND defconfigs as now one binary can serve both flashes. As code is too big now, drop CONFIG_SPL_EXT_SUPPORT to make it fit. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Some CPUs contains boot ROM code capable reading first few blocks (where SPL resides) of NAND flash and executing it. It is wise to create separate partition here for SPL. As block size depends on NAND chip used, we could either use worst case (biggest) partition size or base its size on actual block size. This patch adds support for the latter option. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Boards which are defining default mtdparts often need them early in boot process (to load environment from UBI volume, for example). This is currently solved by adding mtdparts and mtdids variable definitions also to default environment. With this change, default partitions are used by default unless explicitely deleted or redefined. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
In case there is no mtdparts variable in relocated environment, NULL is assigned to p, which is later fed to strncpy. Also function parameter mtdparts is completely ignored, so use it in case mtdparts variable is not found in environment. This parameter is checked not to be NULL in caller. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
A private buffer is used to read mtdparts variable from non-relocated environment. A pointer to that buffer is returned unconditionally, confusing later test for variable presence in the environment. Fix it by returning NULL when getenv_f fails. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
io_init checks this value and fails with "bad write buffer size 0 for 2048 min. I/O unit" Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Add timeout to onenand_wait ready loop as it hangs here indefinitely when chip not present. Once there, do the same for onenand_bbt_wait as well (note: recent Linux driver code does the same) Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Use newly introduced function Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Allow boards to runtime detect flash type. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> [trini: Adapt am33xx, duovero, omap_zoom1] Signed-off-by:
Tom Rini <trini@konsulko.com> Signed-off-by:
Tom Rini <trini@konsulko.com>
-
Ladislav Michl authored
identify_nand_chip hangs forever in loop when NAND is not present. As IGEPv2 comes either with NAND or OneNAND flash, add reset timeout to let function fail gracefully allowing caller to know NAND is not present. On NAND equipped board, reset succeeds on first read, so 1000 loops seems to be safe timeout. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Ladislav Michl authored
Other payload than uImage is currently considered to be raw U-Boot image. Check also for zImage in Falcon mode. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Ladislav Michl authored
Add support for loading from UBI volumes on the top of NAND and OneNAND. Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Thomas Gleixner authored
Booting a payload out of NAND FLASH from the SPL is a crux today, as it requires hard partioned FLASH. Not a brilliant idea with the reliability of todays NAND FLASH chips. The upstream UBI + UBI fastmap implementation which is about to brought to u-boot is too heavy weight for SPLs as it provides way more functionality than needed for a SPL and does not even fit into the restricted SPL areas which are loaded from the SoC boot ROM. So this provides a fast and lightweight implementation of UBI scanning and UBI fastmap attach. The scan and logical to physical block mapping code is developed from scratch, while the fastmap implementation is lifted from the linux kernel source and stripped down to fit the SPL needs. The text foot print on the board which I used for development is: 6854 0 0 6854 1abd drivers/mtd/ubispl/built-in.o Attaching a NAND chip with 4096 physical eraseblocks (4 blocks are reserved for the SPL) takes: In full scan mode: 1172ms In fastmap mode: 95ms The code requires quite some storage. The largest and unknown part of it is the number of fastmap blocks to read. Therefor the data structure is not put into the BSS. The code requires a pointer to free memory handed in which is initialized by the UBI attach code itself. See doc/README.ubispl for further information on how to use it. This shares the ubi-media.h and crc32 implementation of drivers/mtd/ubi There is no way to share the fastmap code, as UBISPL only utilizes the slightly modified functions ubi_attach_fastmap() and ubi_scan_fastmap() from the original kernel ubi fastmap implementation. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> Acked-by:
Heiko Schocher <hs@denx.de> Reviewed-by:
Tom Rini <trini@konsulko.com>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org>
-
Thomas Gleixner authored
To support UBI in SPL we need a simple NAND read function. Add one to nand_spl_simple and keep it as simple as it goes. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de> Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> Acked-by:
Scott Wood <oss@buserror.net> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
Ladislav Michl authored
Signed-off-by:
Ladislav Michl <ladis@linux-mips.org> Reviewed-by:
Tom Rini <trini@konsulko.com> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
mario.six@gdsys.cc authored
This patch implements the reading functionality for the generic I2C EEPROM driver, which was just a non-functional stub until now. Since the page size will be of importance for the writing support, we add suitable members to the private data structure to keep track of it. Compatibility strings for a range of at24c* chips are added. Signed-off-by:
Mario Six <mario.six@gdsys.cc> Reviewed-by:
Simon Glass <sjg@chromium.org> Reviewed-by:
Heiko Schocher <hs@denx.de>
-
-