summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-07-11dts: xea: Add u-boot specific 'type' property to duartLukasz Majewski
The DM_SERIAL implicitly requires CONFIG_PL01X_SERIAL, which allows support for both serial IP block versions (i.e. PL011 and PL010). The decision about used IP block is based on the compatible string, when DM is used. In the XEA, the OF_PLATDATA is used to allow usage of serial driver in the SPL (as the size of SPL is crucial). In this case one cannot extract the type of IP block from .data field (corresponding to compatible) and it must be explicitly read at probe from dtoc generated, u-boot specific property. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11dts: xea: Enable debug UART support in XEA's SPL (DM_SERIAL)Lukasz Majewski
After enabling DM_SERIAL for XEA board, the same serial shall be used in the SPL (with SPL_OF_PLATDATA support). Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11spl: xea: Provide stub DM driver for imx28 clocksLukasz Majewski
This code fixes following WARNING: DTOC spl/dts/dt-plat.c fsl_imx28_clkctrl: WARNING: the driver fsl_imx28_clkctrl was not found in the driver list As imx28 doesn't yet support common clock framework, this prevents from DTOC warnings during SPL build. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11defconfig: xea: Change default spi-nor memory bus to 2Lukasz Majewski
After the re-sync with Linux kernel (v6.0) of the XEA DTS (SHA1: 7d08ddd09b75e7a3c103cc0d0d3ed700287f268e) the alias for SPI bus, to which SPI-NOR memory is connected, has changed from 'spi3' to 'spi2'. To be in sync with current u-boot's xea dts, the default bus number (which allows running 'sf probe' without any extra parameters given) has been adjusted. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11dts: xea: Provide missing FEC required properties (mac0 and reg_fec_3v3)Lukasz Majewski
After the commit (SHA1: 7d08ddd09b75e7a3c103cc0d0d3ed700287f268e) some u-boot specific XEA FEC related properties have been replaced by ones from the Linux kernel. To be more specific - XEA board (and imx287 in general) has built L2 switch connected to FEC, which needs some special treatment. In u-boot it is handled with 'mac0' node, whereas Linux uses dedicated switch DTS node. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11dts: xea: Delete not used in u-boot DTS nodesLukasz Majewski
After the re-sync with Linux Kernel's DTS (SHA1: 7d08ddd09b75e7a3c103cc0d0d3ed700287f268e), the XEA's descripion has nodes and properties, which are NOT utilized in the u-boot. To avoid confusion - those are deleted. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11toradex: tdx-cfg-block: add 0070 verdin i.mx 8m plus quad skuEmanuele Ghidoli
Add new i.MX 8M Plus Quad SKU to ConfigBlock handling. 0070: Verdin iMX8M Plus Quad 8GB WB IT This SKU is identical to 0066 but supporting Industrial Temperature range. Signed-off-by: Emanuele Ghidoli <[email protected]> Signed-off-by: Francesco Dolcini <[email protected]>
2023-07-11arm: config: Adjust imx287 based XEA board PMU configurationLukasz Majewski
This patch adjusts XEA's PMU setup as this board is supposed to be mainly powered from DCDC_BATT source. Moreover, in this HW design the VDD_4P2 is not used as well. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11arm: mxs: Add function to dump PMU registersLukasz Majewski
This commit provides function, which when debugging output is enabled dumps the IMX28 PMU registers. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11arm: mxs: Provide Kconfig option to not enable 4P2 regulator in IMX28 PMULukasz Majewski
The IMX28 PMU (Power Management Unit) has a dedicated Linear Regulator to produce (by default) 4.2V output - available outside the chip as VDD_4P2. When system is supposed to not use VDD5V as a main power source - instead the DCDC_BATT is used; it is safe to disable this regulator. As the in-PMU DCDC switching regulator (from which DCDC_VDDA, DCDC_VDDIO and DCDC_VDDD are generated) can be driven from DCDC_BATT or output of this 4P2 regulator - by disabling the latter the use of the DCDC_BATT is forced. To be more specific - according to NXP's AN4199 the DCDC_BATT source is preferred (over VDD5V), as more efficient and stable source for industrial applications. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11arm: mxs: Provide Kconfig option to disable battery charging at IMX28 PMULukasz Majewski
This new Kconfig option allows disabling the in-PMU battery charging block. This may be required when DCDC_BAT source is powered not from battery, but from already regulated, good quality source. Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11arm: mxs: Provide Kconfig option to to not use VDD5V as IMX28 PMU sourceLukasz Majewski
This option sets the current limit for 5V source to zero, so all the PMU outputs are primarily powered from battery source (DCDC_BAT). This option may be set on systems, where the 5V is NOT supposed to be in any scenario powering the system - for example on systems where DCDC_BAT is connected to fixed and regulated 4.2V source (so the "battery" is not present). Signed-off-by: Lukasz Majewski <[email protected]>
2023-07-11power: imx8m-power-domain: Add delay to align with kernel driverFabio Estevam
In the imx8m power domain kernel driver, there is an extra udelay(5) prior to requesting the domain to power up: https://github.com/torvalds/linux/blob/v6.3/drivers/soc/imx/gpcv2.c#L347-L375 Haven't observed any issues due to the lack of this delay in U-Boot yet, but better to align it with the kernel driver implementation. Signed-off-by: Fabio Estevam <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2023-07-11board: gateworks: venice: update board doc to show other emmc partsTim Harvey
Update the venice board documentation to show how to install to the various eMMC hardware partitions available as the same binary firmware can be placed in either user/boot0/boot1 without build-time config changes. Note that the boot offsets differ depending on the SoC and the eMMC hardware partition. Signed-off-by: Tim Harvey <[email protected]>
2023-07-11board: gateworks: venice: move env locationTim Harvey
To allow U-Boot to fit within emmc boot partitions move the env from just under 16MiB to just under 4MiB as some emmc devices used on venice boards have 4MiB boot partitions. This still leaves plenty of room for U-Boot. Signed-off-by: Tim Harvey <[email protected]>
2023-07-11board: gateworks: venice: dynamically update the update_firmware scriptTim Harvey
The update_firmware script is intended to update the boot firmware but the details including the offset and hardware partition are dependent on the boot device. Specifically: - IMX8MM/IMX8MP (BOOTROM v2) the offset is 32KiB for SD and eMMC user hardware partition and 0KiB for eMMC boot partitions. - IMX8MM the offset is 33KiB for SD and eMMC regardless of hardware partition. Dynamically set soc, dev, bootpart, and bootblk env vars at runtime and use these in the update_firmware script. Remove the splblk env var from config files as its no longer needed. Signed-off-by: Tim Harvey <[email protected]>
2023-07-11board: gateworks: venice: dynamically determine U-Boot env partitionTim Harvey
Determine the U-Boot env hardware partition depending on the boot device. This allows the same boot firmware image to be placed on user, boot0, or boot1 without changing CONFIG_SYS_MMC_ENV_PART. Signed-off-by: Tim Harvey <[email protected]>
2023-07-11board: gateworks: venice: dynamically determine U-Boot raw sectorTim Harvey
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR needs to adjust for IMX8MN and IMX8MP when booting from an eMMC boot partition due to IMX BOOTROM v2 using an SPL offset of 0 for boot partitions and 32K for the user partition. In order to allow the same firmware to run on both user and boot hardware partitions adjust raw_sect dynamically at runtime. Signed-off-by: Tim Harvey <[email protected]>
2023-07-11board: gateworks: venice: add eraseenv commandTim Harvey
Add eraseenv command and remove the unnecessary env command. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-07-11board: gateworks: venice: add GPIO name lookupTim Harvey
Add GPIO name lookup so that you can act on GPIO's by name vs controller id: Before: u-boot=> gpio input pci_wdis# GPIO: 'pci_wdis#' not found Command 'gpio' failed: Error -22 After: u-boot=> gpio input pci_wdis# gpio: pin pci_wdis# (gpio 103) value is 1 Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-07-11configs: verdin-imx8mp: enable ARCH_MISC_INITSergio Prado
This is required to boot a FIT image, otherwise the caam_jr driver is not initialized and the hash verification fails with the following error: Verifying Hash Integrity ... sha256dev_get_priv: null device CAAM was not setup properly or it is faulty Signed-off-by: Sergio Prado <[email protected]> Signed-off-by: Marcel Ziswiler <[email protected]>
2023-07-11ARM: imx9: support env in fat and ext4Oleksandr Suvorov
Change boot device logic to also allow environment stored in fat and in ext4 when booting from SD or eMMC. As the boot device check for SD and for eMMC was depending on ENV_IS_IN_MMC being defined, change the ifdef blocks at env_get_location to use IS_ENABLED instead for all modes, returning NOWHERE when no valid mode is found. This solution is based on (with added SPL support): Link: https://lore.kernel.org/all/[email protected]/ Signed-off-by: Oleksandr Suvorov <[email protected]> Reviewed-by: Peng Fan <[email protected]>
2023-07-11arm: mx6: module_fuse: fix build failure due to wrong argument nameGiulio Benetti
nodeoff variable should be variable off returned by fdt_path_offset() so let's rename it to off. Signed-off-by: Giulio Benetti <[email protected]> Reviewed-by: Peng Fan <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2023-07-11colibri-imx8x: print firmware versionsAndrejs Cainikovs
Print firmware versions during U-Boot start: BuildInfo: - SCFW f5623878, SECO-FW c9de51c0, IMX-MKIMAGE 0, ATF c6a19b1 - U-Boot 2022.04-00335-g65192567f81-dirty Signed-off-by: Andrejs Cainikovs <[email protected]>
2023-07-11configs: imx: imx8mm_beacon: Add config option for QSPI bootingAdam Ford
The imx8mm_beacon SOM has a QSPI part attached to the FSPI controller. Update the header and spl files to support booting from NOR flash and add imx8mm_beacon_fspi_defconfig to support this configuration. Signed-off-by: Adam Ford <[email protected]>
2023-07-11imx: imx8mm-beacon: Enable FlexSPI in U-BootAdam Ford
In order to use the FlexSPI interface in U-Boot, configure the alias to make spi0 point to flexspi. With that enabled, sf probe detects the QSPI part as: SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB Signed-off-by: Adam Ford <[email protected]>
2023-07-10Merge branch 'next'Tom Rini
2023-07-10Prepare v2023.07v2023.07Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2023-07-09Merge tag 'fsl-qoriq-2023-7-6' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq into next Enable DM Serial for ls1043ardb and ls1046ardb/afrwy Fixed secure boot on LS-CH2 platforms
2023-07-09mkeficapsule: fix efi_firmware_management_capsule_header data typeMalte Schmidt
The data type of item_offset_list shall be UINT64 according to the UEFI [1] specifications. In include/efi_api.h the correct data type is used. The bug was probably never noticed because of little endianness. [1] https://uefi.org/specs/UEFI/2.10/index.html Signed-off-by: Malte Schmidt <[email protected]> Signed-off-by: Stefan Herbrechtsmeier <[email protected]>
2023-07-09doc: harmonize Linux kernel documentation linksHeinrich Schuchardt
Linux internally uses https://www.kernel.org/doc/html/latest/ for documentation links. When referring to their documentation we should do the same. Signed-off-by: Heinrich Schuchardt <[email protected]>
2023-07-09cmd: efidebug: add missing efi_free_pool for dh subcommandMasahisa Kojima
This adds the missing efi_free_pool call for dh subcommand. Fixes: a80146205d0a ("cmd: efidebug: add dh command") Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-09efi_loader: Increase default variable store size to 64KiBAlper Nebi Yasak
Debian's arm64 UEFI Secure Boot shim makes the EFI variable store run out of space while mirroring its MOK database to variables. This can be observed in QEMU like so: $ tools/buildman/buildman -o build/qemu_arm64 --boards=qemu_arm64 -w $ cd build/qemu_arm64 $ curl -L -o debian.iso \ https://cdimage.debian.org/debian-cd/current/arm64/iso-cd/debian-12.0.0-arm64-netinst.iso $ qemu-system-aarch64 \ -nographic -bios u-boot.bin \ -machine virt -cpu cortex-a53 -m 1G -smp 2 \ -drive if=virtio,file=debian.iso,index=0,format=raw,readonly=on,media=cdrom [...] => # interrupt autoboot => env set -e -bs -nv -rt -guid 605dab50-e046-4300-abb6-3dd810dd8b23 SHIM_VERBOSE 1 => boot [...] mok.c:296:mirror_one_esl() SetVariable("MokListXRT43", ... varsz=0x4C) = Out of Resources mok.c:452:mirror_mok_db() esd:0x7DB92D20 adj:0x30 Failed to set MokListXRT: Out of Resources mok.c:767:mirror_one_mok_variable() mirror_mok_db("MokListXRT", datasz=17328) returned Out of Resources mok.c:812:mirror_one_mok_variable() returning Out of Resources Could not create MokListXRT: Out of Resources [...] Welcome to GRUB! This would normally be fine as shim would continue to run grubaa64.efi, but shim's error handling code for this case has a bug [1] that causes a synchronous abort on at least chromebook_kevin (but apparently not on QEMU arm64). Double the default variable store size so the variables fit. There is a note about this value matching PcdFlashNvStorageVariableSize when EFI_MM_COMM_TEE is enabled, so keep the old default in that case. [1] https://github.com/rhboot/shim/pull/577 Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-09efi_loader: Avoid underflow when calculating remaining var store sizeAlper Nebi Yasak
The efi_var_mem_free() function calculates the available size for a new EFI variable by subtracting the occupied buffer size and the overhead for a new variable from the maximum buffer size set in Kconfig. This is then returned as QueryVariableInfo()'s RemainingVariableStorageSize output. This can underflow as the calculation is done in and processed as unsigned integer types. Check for underflow before doing the subtraction and return zero if there's no space. Fixes: f1f990a8c958 ("efi_loader: memory buffer for variables") Signed-off-by: Alper Nebi Yasak <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-09x86: Update docs link in bootparam headerPaul Barker
After Linux commit ff61f0791ce9, x86 documentation was moved to arch/x86 and the link in bootparam.h was broken. Signed-off-by: Paul Barker <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2023-07-08Merge branch '2023-07-07-assorted-build-improvements' into nextTom Rini
- Correct a few dependencies in Kconfig and better handle some generated files so that they are properly cleaned later.
2023-07-07sysreset: Change Kconfig GPIO dependencyMichal Simek
DM_GPIO depends on GPIO to be enabled but select will cause that DM_GPIO is selected without GPIO which ends up in compilation error: undefined reference to `dm_gpio_set_value' undefined reference to `dm_gpio_get_value' undefined reference to `dm_gpio_free' undefined reference to `gpio_request_by_name' Signed-off-by: Michal Simek <[email protected]> [trini: Fix configs which had relied on these select's] Signed-off-by: Tom Rini <[email protected]>
2023-07-07tpl: Kconfig: TPL_BANNER_PRINT depends on DEBUG_UART && TPL_SERIALYing Sun
As implemented in the arch/arm/mach-rockchip/tpl.c file, the CONFIG_TPL_BANNER_PRINT option will not work if either of these options is not enabled. Add dependency constraints to the CONFIG_TPL_BANNER_PRINT option definition to prevent configuration problems where option is enabled but do not take effect. Suggested-by: Yanjie Ren <[email protected]> Signed-off-by: Ying Sun <[email protected]>
2023-07-07common: Kconfig: SYS_CONSOLE_ENV_OVERWRITE depends on SYS_CONSOLE_IS_IN_ENVYing Sun
CONFIG_SYS_CONSOLE_ENV_OVERWRITE is implemented in common/console.c when "#if CONFIG_IS_ENABLED(SYS_CONSOLE_IS_IN_ENV)" is met. It is recommended to add dependency constraints to its definition. Suggested-by: Yanjie Ren <[email protected]> Signed-off-by: Ying Sun <[email protected]>
2023-07-07cmd: CONFIG_CMD_SAVES depends on CONFIG_CMD_LOADSYing Sun
CONFIG_CMD_SAVES is used to enable support for the "saveenv" command and is only implemented in cmd/load.c when "#if defined(CONFIG_CMD_LOADS)" is met. It is recommended to add dependency constraints to its definition. Prevents "saveenv" command from not being supported when "CONFIG_CMD_SAVES=y CONFIG_CMD_LOADS=n". Suggested-by: Yanjie Ren <[email protected]> Signed-off-by: Ying Sun <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2023-07-07test: Find leftovers after clean/mrproperTobias Deiminger
Docs describe 'make clean' to delete most generated files, 'make mrproper' to delete current configuration and all generated files. This test tries to assert it. Idea is to search remaining files by patterns in copies of the initial out-of-source build, which has two advantages: - looking in an out-of-source build dir allows to tell generated source code from committed source code - copying is fast (compared to rebuilding each time) which allows to do a "world clean" Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of *.dtbo for sandboxTobias Deiminger
sandbox can generate DT overlays, but they were not cleaned. Extend the explicit clean-files list accordingly. Fixes: 95300f203f32 ("pytest: add sandbox test for "extension" command") Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of *.dtb for some archsTobias Deiminger
'make clean' did not descend into arch/$ARCH/dts for arc, m68k, nios2, sh, xtensa. Fix it by adding the missing archs to the explicit clean-dirs list. Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of VPLTobias Deiminger
VPL artifacts like example vpl/u-boot-vpl are currently not removed by 'make clean'. We can clean them just as it's already done for SPL and TPL. Fixes: f86ca5ad8f78 ("Introduce Verifying Program Loader (VPL)") Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Adjust gitignore for tools/generated/Tobias Deiminger
Tell git that auto-generated C sources are now exclusively expected under tools/generated/. Signed-off-by: Tobias Deiminger <[email protected]>
2023-07-07Kbuild: Fix cleanup of generated sources in toolsTobias Deiminger
On 'make clean', generated C files in tools/env/ and tools/boot/ are currently not removed, but they should. Auto-generation for shared sources was first introduced with ad80c4a3220b ("kbuild, tools: generate wrapper C sources automatically by Makefile"). Cleanup later regressed (see Fixes:), because shared files were moved out of lib/ and common/, but 'clean-dirs := lib common' was not adjusted accordingly. Further, the generated tools/env/embedded.c became a sibling to project files, which prevents directory-wise cleanup at all. To solve it, we establishe tools/generated/ as the sole place for generated sources. Wrappers are now generated as tools/generated/<orig_dirname>/<orig_filename>, and 'make clean' can remove tools/generated/ as a whole (Linux Makefile.asm-generic headers are cleaned similarly). This way we don't have to maintain separate clean-files or clean-dirs entries for each single added or moved wrapper file. Fixes: 0649cd0d4908 ("Move environment files from common/ to env/") Fixes: 19a91f2464a8 ("Create a new boot/ directory") Signed-off-by: Tobias Deiminger <[email protected]> [trini: Correct mkfwupdate case] Signed-off-by: Tom Rini <[email protected]>
2023-07-07MAINTAINERS: correct at91 tree linkEugen Hristev
This was not done when the tree name was changed, fix it now. Signed-off-by: Eugen Hristev <[email protected]>
2023-07-06Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-usb ↵Tom Rini
into next
2023-07-06Merge branch 'riscv-for-next' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-riscv into next - RISC-V CI OpenSBI version update - Andes ae350 board modification - Sync PolarFire SoC dts with Linux - Support building ubifs
2023-07-06board: ae350: Add missing env variables for bootiYu Chien Peter Lin
The 'booti' command is unable to boot Image.gz due to the absence of required environment variables 'kernel_comp_addr_r' and 'kernel_comp_size'. This commit adds these variables and reorganizes the memory layout to prevent any overlap between binaries and files. Signed-off-by: Yu Chien Peter Lin <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>