summaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2020-10-22common, autoboot: sync functionality with Kconfig descriptionHeiko Schocher
add back again special case: -2 autoboot with no delay and no check for abort as described in Kconfig option, see common/Kconfig help text for option BOOTDELAY. Signed-off-by: Heiko Schocher <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-10-22cosmetic: image: Fix comments and the order of definitionsNaoki Hayama
Fix some comments about functions. Move genimg_get_comp_name() above genimg_get_short_name() because genimg_get_comp_name() is related to get_table_entry_name(). Signed-off-by: Naoki Hayama <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-10-22image: Add a function to modify category informationNaoki Hayama
Add a generic function which can check whether a category has an entry ID. Signed-off-by: Naoki Hayama <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-10-22Kconfig: Use hex values for CONFIG_{SPL,TPL}_SIZE_LIMITOvidiu Panait
CONFIG_{SPL,TPL}_SIZE_LIMIT are defined as hex (SPL_SIZE_LIMIT was converted in b51882d0 ("spl: Convert CONFIG_SPL_SIZE_LIMIT to hex"), but there are still places that reference integer values. Change those to hex as well. Also, update the Makefile to check for 0x0 instead of 0. This also fixes the following build error when CONFIG_SPL_SIZE_LIMIT is set by menuconfig to 0x0: ... spl/u-boot-spl.bin exceeds file size limit: limit: 0 bytes actual: 0x80f0 bytes excess: 0x80f0 bytes Signed-off-by: Ovidiu Panait <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-10-22board: Show memory for frame buffersSimon Glass
When debugging is enabled, show the memory allocated to video frame buffers. Signed-off-by: Simon Glass <[email protected]>
2020-10-22bloblist: Place on a 4KB boundarySimon Glass
It is much easier to read the bloblist addresses if it starts on a 4KB boundary. Update it to align it accordingly. Signed-off-by: Simon Glass <[email protected]>
2020-10-22log: Add missing category namesSimon Glass
Add some category names that were missed in recent changes. Update the comment as a reminder. Signed-off-by: Simon Glass <[email protected]>
2020-10-22spl: fit: Minimally parse OS properties with FIT_IMAGE_TINYSamuel Holland
Some boards, specifically 64-bit Allwinner boards (sun50i), are extremely limited on SPL size. One strategy that was used to make space was to remove the FIT "os" property parsing code, because it uses a rather large lookup table. However, this forces the legacy FIT parsing code path, which requires the "firmware" entry in the FIT to reference the U-Boot binary, even if U-Boot is not the next binary in the boot sequence (for example, on sun50i boards, ATF is run first). This prevents the same FIT image from being used with a SPL with CONFIG_SPL_FIT_IMAGE_TINY=n and CONFIG_SPL_ATF=y, because the boot method selection code looks at `spl_image.os`, which is only set from the "firmware" entry's "os" property. To be able to use CONFIG_SPL_ATF=y, the "firmware" entry in the FIT must be ATF, and U-Boot must be a loadable. For this to work, we need to parse the "os" property just enough to tell U-Boot from other images, so we can find it in the loadables list to append the FDT, and so we don't try to append the FDT to ATF (which could clobber adjacent firmware). So add the minimal code necessary to distinguish U-Boot/non-U-Boot loadables with CONFIG_SPL_FIT_IMAGE_TINY=y. This adds about 300 bytes, much less than the 7400 bytes added by CONFIG_SPL_FIT_IMAGE_TINY=n. Acked-by: Patrick Wildt <[email protected]> Signed-off-by: Samuel Holland <[email protected]> Reviewed-by: Jagan Teki <[email protected]>
2020-10-21Revert "Fix data abort caused by mis-aligning FIT data"Marek Vasut
This reverts commit eb39d8ba5f0d1468b01b89a2a464d18612d3ea76. The commit breaks booting of fitImage by SPL, the system simply hangs. This is because on arm32, the fitImage and all of its content can be aligned to 4 bytes and U-Boot expects just that. Signed-off-by: Marek Vasut <[email protected]> Cc: Reuben Dowle <[email protected]> Cc: Tom Rini <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2020-10-14spl: Add SPL_SERIAL as requirement for SDP_USB_SDPOtavio Salvador
The USB SDP protocol require the SPL serial support to allow the build to succeed. Signed-off-by: Otavio Salvador <[email protected]>
2020-10-14spl: Avoid printing boot device if silent console is enabledOtavio Salvador
Signed-off-by: Otavio Salvador <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2020-10-14cmd: Fixup DT to pass PStore Ramoops parametersFrédéric Danis
To simplify configuration and keep synchronized the PStore/Ramoops between U-Boot and the Linux kernel, this commit dynamically adds the Ramoops parameters defined in the U-Boot session to the Device Tree. Signed-off-by: Frédéric Danis <[email protected]> Cc: Tom Rini <[email protected]> Cc: Heinrich Schuchardt <[email protected]> Cc: Wolfgang Denk <[email protected]> Cc: Heiko Schocher <[email protected]>
2020-10-12fit: cipher: aes: allow to read the IV in the FIT imagePhilippe Reynes
This commit add the support in u-boot to read the IV in the FIT image instead of u-boot device tree. Signed-off-by: Philippe Reynes <[email protected]>
2020-10-12vboot: add DTB policy for supporting multiple required conf keysThirupathaiah Annapureddy
Currently FIT image must be signed by all required conf keys. This means Verified Boot fails if there is a signature verification failure using any required key in U-Boot DTB. This patch introduces a new policy in DTB that can be set to any required conf key. This means if verified boot passes with one of the required keys, U-Boot will continue the OS hand off. There were prior attempts to address this: https://lists.denx.de/pipermail/u-boot/2019-April/366047.html The above patch was failing "make tests". https://lists.denx.de/pipermail/u-boot/2020-January/396629.html Signed-off-by: Thirupathaiah Annapureddy <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-10-10log: syslog: Handle errors in net_initSean Anderson
Since the previous patch, net_init now exposes some errors, so check for them. Signed-off-by: Sean Anderson <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-10-10log: Disable the syslog driver by defaultSimon Glass
This driver interferes with other sandbox tests since it causes log output to be interspersed with "No ethernet found." messages. Disable this driver by default. Enable it for the syslog tests so that they still pass. Signed-off-by: Simon Glass <[email protected]>
2020-10-10log: Add a way to enable/disable a log deviceSimon Glass
At present all log devices are enabled by default. Add a function to allow devices to be disabled or enabled at runtime. Signed-off-by: Simon Glass <[email protected]>
2020-10-10log: Add a flag to enable log driversSimon Glass
At present there is no way to disable a log driver. But the syslog driver causes (attempted) network traffic in sandbox every time a log message is printed, which is often. Add a flag to enable a log driver. Adjust struct log_device to use a short for next_filter_num so that no more memory is used for devices. Also fix a missing line in the struct log_driver comment while here. To maintain compatibility, enable it for all drivers for now. Signed-off-by: Simon Glass <[email protected]>
2020-10-10log: Allow LOG_DEBUG to always enable log outputSimon Glass
At present if CONFIG_LOG enabled, putting LOG_DEBUG at the top of a file (before log.h inclusion) causes _log() to be executed for every log() call, regardless of the build- or run-time logging level. However there is no guarantee that the log record will actually be displayed. If the current log level is lower than LOGL_DEBUG then it will not be. Add a way to signal that the log record should always be displayed and update log_passes_filters() to handle this. With the new behaviour, log_debug() will always log if LOG_DEBUG is enabled. Move log_test_syslog_nodebug() into its own file since it cannot be made to work where it is, with LOG_DEBUG defined. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move BOARD_TYPES under init optionsSimon Glass
This actually relates to something displayed on start-up, so move it into that menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move BOUNCE_BUFFER under driver optionsSimon Glass
This option does not belong at the top level. Move it under generic driver options. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move VERSION_VARIABLE under environmentSimon Glass
This relates to the environment so should not be at the top level. Move it. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: MISC_INIT_R and BOARD_LATE_INIT -> start-up hooksSimon Glass
These are start-up hooks so put them under that menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move startup hooks under init optionsSimon Glass
These hooks relate to U-Boot init so move them under that menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Create a new 'init options' menuSimon Glass
There are quite a few options at the top level relating to U-Boot init. Move them into their own menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move DEFAULT_FDT_FILE under boot optionsSimon Glass
This relates to booting since it is the default devicetree provided to Linux. Move it under the 'boot options' menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move SUPPORT_RAW_INITRD under boot optionsSimon Glass
This relates to booting, so move it under the 'boot images' menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move misc boot options under 'boot options'Simon Glass
There are a number of miscellaneous boot images at the top level of the kconfig menu. Move these into the 'boot options' menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move CONFIG_BOOTDELAY under autoboot optionsSimon Glass
This option relates to autoboot, so move it there. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move autoboot options under boot optionsSimon Glass
At present the autoboot options are in cmd/Kconfig but they don't really relate to commands. They relate to booting, so move this menu under the boot menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move boot media under boot optionsSimon Glass
This relates to booting, so move it under the boot menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move boot timing under boot optionsSimon Glass
This relates to booting, so move it under the boot menu. Signed-off-by: Simon Glass <[email protected]>
2020-10-09Kconfig: Move boot menu into common/Simon Glass
Most of the boot options are in common/Kconfig but that file is already extremely large. Create a new Kconfig.boot to hold the boot options. Signed-off-by: Simon Glass <[email protected]>
2020-10-06bloblist: Allow custom alignment for blobsSimon Glass
Some blobs need a larger alignment than the default. For example, ACPI tables often start at a 4KB boundary. Add support for this. Update the size of the test blob to allow these larger records. Signed-off-by: Simon Glass <[email protected]>
2020-10-06bloblist: Tidy up the data alignmentSimon Glass
The intention which bloblists is that each blob's data is aligned in memory. At present it is only the headers that are aligned. Update the code to correct this and add a little more documentation. Signed-off-by: Simon Glass <[email protected]>
2020-10-06bloblist: Add a commandSimon Glass
It is helpful to be able to see basic statistics about the bloblist and also to list its contents. Add a 'bloblist' command to handle this. Put the display functions in the bloblist modules rather than in the command code itself. That allows showing a list from SPL, where commands are not available. Also make bloblist_first/next_blob() static as they are not used outside this file. Signed-off-by: Simon Glass <[email protected]>
2020-10-05Merge branch 'next'Tom Rini
Bring in the assorted changes that have been staged in the 'next' branch prior to release. Signed-off-by: Tom Rini <[email protected]>
2020-09-30optee: copy FDT OP-TEE related nodes before generic FDT changesEtienne Carriere
Move call to optee_copy_fdt_nodes() introduced by commit 6ccb05eae01b before generic changes in kernel FDT so that platform specific changes are not overridden by the changes made by this function. Fixes: 6ccb05eae01b ("image: fdt: copy possible optee nodes to a loaded devicetree") Signed-off-by: Etienne Carriere <[email protected]> Signed-off-by: Patrick Delaunay <[email protected]>
2020-09-29Define default CONFIG_PREBOOT with right config optionPeter Robinson
The 44758771ee commit removes CONFIG_PREBOOT but actually sets the USE_PREBOOT Kconfig option which isn't CONFIG_PREBOOT and is also a bool option which means we regress because 'usb start' isn't run when expected, it should also be run for devices that have USB storage because keyboards aren't the only thing we might need the USB bus for. Fixes: 44758771ee ("arm: move CONFIG_PREBOOT="usb start" to KConfig") Signed-off-by: Peter Robinson <[email protected]> Cc: Jonas Smedegaard <[email protected]> Cc: Neil Armstrong <[email protected]>
2020-09-24Merge tag 'xilinx-for-v2021.01' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-microblaze into next Xilinx changes for v2021.01 arm64: - Support for bigger U-Boot images compiled with PIE microblaze: - Extend support for LE/BE systems zynqmp: - Refactor silicon ID detection code with using firmware interface - Add support for saving variables based on bootmode zynqmp-r5: - Fix MPU mapping and defconfig setting. xilinx: - Minor driver changes: names alignment - Enable UBIFS - Minor DT and macros fixes - Fix boot with appended DT - Fix distro boot cmd: - pxe: Add fixing for platforms with manual relocation support clk: - fixed_rate: Add DM flag to support early boot on r5 fpga: - zynqmppl: Use only firmware interface and enable SPL build serial: - uartlite: Enable for ARM systems and support endians mmc: - zynq: Fix indentation net: - gem: Support for multiple phys - emac: Fix 64bit support and enable it for arm64 kconfig: - Setup default values for Xilinx platforms - Fix dependecies for Xilinx drivers - Source board Kconfig only when platform is enabled - Fix FPGA Kconfig entry with SPL - Change some defconfig values bindings: - Add binding doc for vsc8531
2020-09-23spl: Kconfig: Record proper dependency for SPL_ATFMichal Simek
ATF support was all the time based on FIT image support but this dependency is not recorded anywhere. For !SPL_FIT && SPL_ATF there is compilation error: common/spl/spl.c: In function 'board_init_r': common/spl/spl.c:689:26: error: 'struct spl_image_info' has no member named 'fdt_addr' 689 | spl_fixup_fdt(spl_image.fdt_addr); Signed-off-by: Michal Simek <[email protected]>
2020-09-23fpga: kconfig: Rename SPL_FPGA_SUPPORT to SPL_FPGAMichal Simek
The patch does sed 's/SPL_FPGA_SUPPORT/SPL_FPGA/g' but also fixing Makefile and zynqmp.c to simplify if/endif logic in zynqmp.c. This change is mostly done to be able to use CONFIG_IS_ENABLED macro and obj-$(CONFIG_$(SPL_)FPGA) in Makefile. For them symbols need to be in sync. And removing one line from Topic Miami boards which is not needed because symbol is not enabled via Kconfig. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-09-22log: mute messages generated by log driversHeinrich Schuchardt
When a message is written by a log driver (e.g. via the network stack) this may result in the generation of further messages. We cannot allow these additional messages to be emitted as this might result in an infinite recursion. Up to now only the syslog driver was safeguarded. We should safeguard all log drivers instead. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-09-21Merge branch 'master' into nextTom Rini
Merge in v2020.10-rc5
2020-09-11Fix data abort caused by mis-aligning FIT dataReuben Dowle
Attempting to place device tree immediately after an image in memory can lead to mis-aligned data accesses if that image size is not divisible by the alignment requirements of the architecture. Data aborts caused by this were observed on a custom Marvel A388 based system, where the image was a uboot FIT file. The total size varies depending on the uboot device tree size, which does not always lead to correct alignment. The minimum alignment specified for ARM [1] and ARM64 [2] linux booting has been used [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm/booting.rst#n126 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/arm64/booting.rst#n45 Signed-off-by: Reuben Dowle <[email protected]>
2020-09-11bootm: update image OS image size when decompressingHeinrich Schuchardt
In bootm_load_os() the OS image is decompressed. In later stages of the boot process we need the decompressed size of the image. Update images->os.image_len after decompression. Passing the correct size is necessary if we want to check loaded EFI binararies for file truncation by comparing the loaded size to the header field SizeOfImage. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2020-09-11common: Kconfig: Add dependency for default variables stringsMichal Simek
Kconfig provides several config options for setting up default variables but these are unused when variables are passed to U-Boot via file. That's why cover this dependency in Kconfig. Signed-off-by: Michal Simek <[email protected]>
2020-09-07Merge branch 'remove-config-nr-dram-banks-v9-2020-08-26' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-marvell into next
2020-09-01sdp: call board_usb_init at spl_sdp_load_imageFrank Li
Need initialize UDC before run sdp download Signed-off-by: Frank Li <[email protected]> Signed-off-by: Peng Fan <[email protected]>
2020-09-01dfu: fix dfu tftp on sandboxHeinrich Schuchardt
The environment variable loadaddr is in the virtual address space of the sandbox. To get the actual memory address where the FIT image has been loaded we have to convert this address according to the memory mapping of the sandbox. Equally the addresses in the *.its file have to be converted when used in the dfu_ram driver. Signed-off-by: Heinrich Schuchardt <[email protected]>