summaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2025-01-24test: Rename test_get_state() to ut_get_state()Simon Glass
Rename this function and test_set_state() so use the same ut_ prefix as other functions in ut.h Signed-off-by: Simon Glass <[email protected]>
2025-01-24test: Drop unused suite prototypesSimon Glass
Drop some the prototypes for functions which were removed in earlier series. Signed-off-by: Simon Glass <[email protected]>
2025-01-22Merge patch series "upl: Prerequite patches for updated spec"Tom Rini
Simon Glass <[email protected]> says: The current UPL spec[1] has been tidied up and improved over the last year, since U-Boot's original UPL support was written. This series includes some prerequisite patches needed for the real UPL patches. It is split from [2] [1] https://github.com/UniversalPayload/spec/tree/3f1450d [2] https://patchwork.ozlabs.org/project/uboot/list/?series=438574&state=* Link: https://lore.kernel.org/r/[email protected]
2025-01-22dm: core: Provide ofnode_find_subnode_unit()Simon Glass
The ofnode_find_subnode() function currently processes things two different ways, so the treatment of unit addresses differs depending on whether OF_LIVE is enabled or not. Add a new version which uses the ofnode API and add a test to check that unit addresses can be matched correctly. Leave the old function in place for the !OF_LIVE case, to avoid a code-size increase, e.g. on firefly-rk3288 Signed-off-by: Simon Glass <[email protected]>
2025-01-22dm: core: Provide ofnode_name_eq_unit() to accept a unit addressSimon Glass
When a unit-address is provided, use it to match against the node name. Since this increases code size, put it into a separate function. Signed-off-by: Simon Glass <[email protected]>
2025-01-22dm: core: Clarify behaviour of ofnode_name_eq()Simon Glass
This function is somewhat ambiguous, so expand the comments and add a test for the undefined behaviour. Signed-off-by: Simon Glass <[email protected]>
2025-01-22pci: video: Set up the pixel-format fieldSimon Glass
Add this information to the handoff structure so that it is available to U-Boot proper. Update bochs and the video handoff. Signed-off-by: Simon Glass <[email protected]>
2025-01-22boot: Rename fit_image_get_data_and_size()Simon Glass
This function is really just getting the data. The size comes along for the ride. In fact this function is only reliable way to obtain the data for an image in a FIT, since the FIT may use external data. Rename it to fit_image_get_data() Signed-off-by: Simon Glass <[email protected]>
2025-01-22boot: Rename fit_image_get_data()Simon Glass
This function can only be used with FITs that use embedded data. Rename it so this is clear. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]>
2025-01-22ofnode: Update of_add_subnode() to indicate name is allocedSimon Glass
This function allocates memory for the node name, so mention this in the function comment. Signed-off-by: Simon Glass <[email protected]>
2025-01-22cpu: Provide a way to get the physical-address sizeSimon Glass
This concept exists on x86. Declare it as a generic function so that the value can be accessed by UPL. Signed-off-by: Simon Glass <[email protected]>
2025-01-22abuf: Provide a constant bufferSimon Glass
Add a new initialiser which can accept a constant pointer. Signed-off-by: Simon Glass <[email protected]>
2025-01-22abuf: Allow use in host toolsSimon Glass
Some header files included on the host are moving to use abuf, so adjust the header-inclusion to bring in size_t correctly. Signed-off-by: Simon Glass <[email protected]>
2025-01-22abuf: Provide a way to get the buffer addressSimon Glass
In many cases it is useful to get the address of a buffer, e.g. when booting from it. Add a function to handle this. Signed-off-by: Simon Glass <[email protected]>
2025-01-22Merge https://source.denx.de/u-boot/custodians/u-boot-snapdragonTom Rini
The highlights are: * Fixed boot regression due to broken memory parsing * Enable HW RNG and KASLR on all platforms * Add support for Snapdragon X1 Elite hardware (clk/pinctrl) * Add support for QCS9100 ride automotive development platform (clk/ufs) * Add support for PCIe on SM8550, SM8650 and X1E * Implement software debounce for PMIC buttons Additionally, some minor improvements to "ufetch" have been pulled in: * Show CPU architecture (arm/mips/etc) * Make CONFIG_BLK optional * Fix 32-bit support
2025-01-22Merge patch series "spi: Collected fixes"Tom Rini
Alexander Dahl <[email protected]> says: Hello, two patches for header issues I came across when working on (Q)SPI drivers for atmel boards. Link: https://lore.kernel.org/r/[email protected]
2025-01-22Merge https://source.denx.de/u-boot/custodians/u-boot-watchdogTom Rini
CI: https://dev.azure.com/sr0718/u-boot/_build/results?buildId=381&view=results - cyclic: Fix rollover every 72 min on 32 bits platforms (Patrice)
2025-01-22Merge patch series "vbe: Series part F"Tom Rini
Simon Glass <[email protected]> says: This includes various patches towards implementing the VBE abrec bootmeth in U-Boot. It mostly focuses on introducing a relocating SPL-loader so that VBE can run in the limited amount of SRAM available on many devices. Another minor new feature is support in VBE for specifying the image phase when loading from a FIT. This allows a single FIT to include images for several boot phases, thus simplifying image-creation. One lingering niggle in this series is that it has a different code path for sandbox, since it does not support the relocating jump. It should be possible to resolve this with additional work, but I have not attempted this so far. For v2, I have split the first patch into 5 pieces, to make it easier to see the code-size impact, plus added a few tweaks to reduce code size. Again, only MMC is supported so far. Looking ahead, series G will have some more plumbing and H some rk3399 pieces. That should be enough to complete these feature. Here is a run in my lab, with the VBE ABrec bootmeth. You can see that VPL runs before memory is set up. SPL sets up memory and can be upgraded in the field reliably. $ ub-int vbe Building U-Boot in sourcedir for rk3399-generic Bootstrapping U-Boot from dir /tmp/b/rk3399-generic Writing U-Boot using method rockchip U-Boot TPL 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58) Trying to boot from vbe_abrec load: Firefly-RK3399 Board Using 'config-3' configuration Trying 'image-vpl' firmware subimage Using 'config-3' configuration Trying 'fdt-3' fdt subimage U-Boot VPL 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58) Trying to boot from vbe_abrec load: Firefly-RK3399 Board Starting with empty state VBE: Firmware pick A at 800000 Using 'config-3' configuration Trying 'spl' firmware subimage Using 'config-3' configuration Trying 'fdt-3' fdt subimage Channel 0: DDR3, 800MHz BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB Channel 1: DDR3, 800MHz BW=32 Col=10 Bk=8 CS0 Row=15 CS1 Row=15 CS=2 Die BW=16 Size=2048MB 256B stride U-Boot SPL 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58 -0700) Trying to boot from vbe_abrec load: Firefly-RK3399 Board VBE: Firmware pick A at 900000 load_simple_fit: Skip load 'atf-5': image size is 0! Relocating bloblist ff8eff00 to 100000: done ns16550_serial serial@ff1a0000: pinctrl_select_state_full: uclass_get_device_by_phandle_id: err=-19 U-Boot 2025.01-rc3-00345-gdfbdbf1eb56c-dirty (Jan 08 2025 - 10:47:58 -0700) SoC: Rockchip rk3399 Reset cause: POR Model: Firefly-RK3399 Board DRAM: 4 GiB (effective 3.9 GiB) Core: 314 devices, 33 uclasses, devicetree: separate MMC: mmc@fe310000: 3, mmc@fe320000: 1, mmc@fe330000: 0 Loading Environment from SPIFlash... Invalid bus 0 (err=-19) *** Warning - spi_flash_probe_bus_cs() failed, using default environment In: serial,usbkbd Out: serial,vidconsole Err: serial,vidconsole Model: Firefly-RK3399 Board Net: PMIC: RK808 eth0: ethernet@fe300000 starting USB... Bus usb@fe380000: USB EHCI 1.00 Bus usb@fe3a0000: USB OHCI 1.0 Bus usb@fe3c0000: USB EHCI 1.00 Bus usb@fe3e0000: USB OHCI 1.0 Bus usb@fe900000: Register 2000140 NbrPorts 2 Starting the controller USB XHCI 1.10 scanning bus usb@fe380000 for devices... 1 USB Device(s) found scanning bus usb@fe3a0000 for devices... 1 USB Device(s) found scanning bus usb@fe3c0000 for devices... 2 USB Device(s) found scanning bus usb@fe3e0000 for devices... 1 USB Device(s) found scanning bus usb@fe900000 for devices... 1 USB Device(s) found scanning usb for storage devices... 0 Storage Device(s) found Hit any key to stop autoboot: 0 Link: https://lore.kernel.org/r/[email protected]
2025-01-22vexpress64: Fix bootargs when building without NETChanho Park
When building without DHCP/PXE configurations (NET disabled), compilation errors may occur due to mismatched bootargs. Ensure bootargs related to DHCP/PXE are not enabled if the corresponding commands are disabled. include/config_distro_bootcmd.h:443:9: error: expected ‘}’ before ‘BOOT_TARGET_DEVICES_references_PXE_without_CONFIG_CMD_DHCP_or_PXE’ 443 | BOOT_TARGET_DEVICES_references_PXE_without_CONFIG_CMD_DHCP_or_PXE | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Chanho Park <[email protected]> Acked-by: Linus Walleij <[email protected]>
2025-01-22Revert "mem: spi-mem: add declaration for spi_mem_default_supports_op"Alexander Dahl
We have a duplicate declaration of spi_mem_default_supports_op() which was added twice, first with commit af6266c1c27a ("mem: spi-mem: add declaration for spi_mem_default_supports_op") for v2021.04, and again with commit 2299076e34f8 ("spi: spi-mem: export spi_mem_default_supports_op()") for v2021.07. The first commit is reverted here, because the second better matches the definition and has a better place in the declaration order. Note: Linux declares this in a different section of spi-mem.h which is disabled in U-Boot through `#ifndef __UBOOT__`. This reverts commit af6266c1c27add8beac7f3365c00b3525a9012c4. Signed-off-by: Alexander Dahl <[email protected]>
2025-01-22spl: Plumb in the relocating loaderSimon Glass
This is fairly easy to use. The SPL loader sets up some fields in the spl_image_info struct and calls spl_reloc_prepare(). When SPL is ready to do the jump it must call spl_reloc_jump() instead of jump_to_image(). Add this logic. Signed-off-by: Simon Glass <[email protected]>
2025-01-22spl: Add support for a relocating jump to the next phaseSimon Glass
When one xPL phase wants to jump to the next, the next phase must be loaded into its required address. This means that the TEXT_BASE for the two phases must be different and there cannot be any memory overlap between the code used by the two phases. It also can mean that phases need to be moved around to accommodate any size growth. Having two xPL phases in SRAM at the same time can be tricky if SRAM is limited, which it often is. It would be better if the second phase could be loaded somewhere else, then decompressed into place over the top of the first phase. Introduce a relocating jump for xPL to support this. This selects a suitable place to load the (typically compressed) next phase, copies some decompression code out of the first phase, then jumps to this code to decompress and start the next phase. This feature makes it much easier to support Verified Boot for Embedded (VBE) on RK3399 boards, which have 192KB of SRAM. Signed-off-by: Simon Glass <[email protected]>
2025-01-22spl: Add a type for the jumper functionSimon Glass
This function will be used by the relocating jumper too, so add a typedef to the header file to avoid mismatches. Signed-off-by: Simon Glass <[email protected]>
2025-01-22spl: Add fields for VBESimon Glass
Add some fields to track the VBE state in SPL. Signed-off-by: Simon Glass <[email protected]>
2025-01-22pci: Add support for Qualcomm PCIe controllerNeil Armstrong
Add support for the PCIe busses on Qualcomm platforms, by using the pcie_dw_common infrastructure. The driver is based on the Linux driver but only supporting the "1_9_0" and compatible platforms like: - sa8540p - sc7280 - sc8180x - sc8280xp - sdm845 - sdx55 - sm8150 - sm8250 - sm8350 - sm8450 - sm8550 - sm8650 - x1e80100 But it has only been tested on: - sc7280 - sm8550 - sm8650 - x1e80100 It supports setting the IOMMU SID table for supported platforms. Signed-off-by: Neil Armstrong <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Caleb Connolly <[email protected]>
2025-01-22cyclic: Fix typo in struct cyclic_info descriptionPatrice Chotard
Replace delay_ns by delay_us which is the field name used into struct cyclic_info. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Stefan Roese <[email protected]>
2025-01-21Merge patch series "MediaTek MT7629 OF_UPSTREAM migration (v2)"Tom Rini
Weijie Gao <[email protected]> says: This patch series migrates MediaTek MT7629 to OF_UPSTREAM Changes in v2: * Remove mt7629-rfb.dtb from arch/arm/dts/Makefile * Add wdt-reboot node to make reset command work Link: https://lore.kernel.org/r/[email protected]
2025-01-21board: mediatek: mt7629: Migrate to OF_UPSTREAMSam Shih
Move differences in DT files between upstream Linux DT and U-Boot DT to mt7629-rfb-u-boot.dtsi. Remove old copies of mt7629-related clock bindings, .dts, and .dtsi files. Update defconfig to switch the whole mt7629 SoC to use OF_UPSTREAM. Signed-off-by: Sam Shih <[email protected]> Signed-off-by: Weijie Gao <[email protected]>
2025-01-18Merge patch series "add the support of sha256_hmac and sha256_hkdf"Tom Rini
Philippe Reynes <[email protected]> says: This serie adds the support of sha256_hmac and sha256_hkdf. A first version was sent several months ago just before the integration of mbedtls. This new version is based on mbedtls. The first patch of this serie add the support of hkdf using mbedtls. Link: https://lore.kernel.org/r/[email protected]
2025-01-18lib: mbedtls: sha256: add support of key derivationPhilippe Reynes
Adds the support of key derivation using the scheme hkdf. This scheme is defined in rfc5869. Signed-off-by: Philippe Reynes <[email protected]> Reviewed-by: Raymond Mao <[email protected]>
2025-01-18lib: sha256: add feature sha256_hmacPhilippe Reynes
Adds the support of the hmac based on sha256. This implementation is based on rfc2104. Signed-off-by: Philippe Reynes <[email protected]> Reviewed-by: Raymond Mao <[email protected]>
2025-01-16imx: imx8mq_evk: Switch to BOOTSTDPeng Fan
Move env to imx8mq_evk.env Switch to support BOOTSTD with a bsp bootcmd as fallback. Signed-off-by: Peng Fan <[email protected]>
2025-01-16imx: imx8mm_evk: Switch to BOOTSTDPeng Fan
Move env to imx8mm_evk.env Switch to support BOOTSTD with a bsp bootcmd as fallback. Signed-off-by: Peng Fan <[email protected]>
2025-01-16imx: imx8mn_evk: Switch to BOOTSTDPeng Fan
Move env to imx8mn_evk.env Switch to support BOOTSTD with a bsp bootcmd as fallback. Signed-off-by: Peng Fan <[email protected]>
2025-01-16imx: imx8mp_evk: Switch to BOOTSTDPeng Fan
Move env to imx8mp_evk.env. Switch to support BOOTSTD with a bsp bootcmd as fallback. Signed-off-by: Peng Fan <[email protected]>
2025-01-16imx: imx93_evk: switch to BOOTSTDPeng Fan
Switch to support BOOTSTD with a bsp bootcmd as fallback. Move the env to imx93_evk.env Signed-off-by: Peng Fan <[email protected]>
2025-01-15Merge patch series "bootstd: Support recording images"Tom Rini
Simon Glass <[email protected]> says: This series provides a way to keep track of the images used in bootstd, including the type of each image. At present this is sort-of handled by struct bootflow but in quite an ad-hoc way. The structure has become quite large and is hard to query. Future work will be able to reduce its size. Ultimately the 'bootflow info' command may change to also show images as a list, but that is left for later, as this series is already fairly long. So for now, just introduce the concept and adjust bootstd to use it, with a simple command to list the images. This series includes various alist enhancements, to make use of this new data structure a little easier. [trini: Drop patch 18 and 19 for now due to size considerations] Link: https://lore.kernel.org/r/[email protected]
2025-01-15bootstd: Export bootdev_get_from_blk()Simon Glass
Export this function so it can be used from other files. Signed-off-by: Simon Glass <[email protected]>
2025-01-15bootstd: Add a simple command to list imagesSimon Glass
Add a new 'bootstd images' command, which lists the images which have been loaded. Update some existing tests to use it. Provide some documentation about images in general and this command in particular. Use a more realistic kernel command-line to make the test easier to follow. Signed-off-by: Simon Glass <[email protected]>
2025-01-15Update bootmeth_alloc_other() to record imagesSimon Glass
Update this function to add the image to the list. Signed-off-by: Simon Glass <[email protected]>
2025-01-15boot: Update extlinux pxe_getfile_func() to include typeSimon Glass
Add a file-type parameter to this function and update all users. Add a proper comment to the function which we are here. This will allow tracking of the file types loaded by the extlinux bootmeth. Signed-off-by: Simon Glass <[email protected]>
2025-01-15bootmeth: Update the read_file() method to include a typeSimon Glass
We want to record the type of each file which is loaded. Add an new parameter for this, to the read_file() method. Update all users. Make bootmeth_common_read_file() store information about the image that is read. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]>
2025-01-15bootstd: Update bootmeth_alloc_file() to record imagesSimon Glass
As a first step to recording images and where they came from, update this function to do so, since it is used by two bootmeths Create a helper function in the bootflow system, since recorded images are always associated with bootflows. Signed-off-by: Simon Glass <[email protected]>
2025-01-15bootstd: Maintain a list of imagesSimon Glass
We want to keep track of images which are loaded, or those which could perhaps be loaded. This will make it easier to manage memory allocation, as well as permit removal of the EFI set_efi_bootdev() feature. Add a list of these, attached to the bootflow. For now the list is empty. Signed-off-by: Simon Glass <[email protected]>
2025-01-15bootstd: Move the bootflow list into an alistSimon Glass
Use an alist for this data structure as it is somewhat simpler to manage. This means that bootstd holds a simple list of bootflow structs and can drop it at will, without chasing down lists. Signed-off-by: Simon Glass <[email protected]>
2025-01-15bootstd: Drop the bootdev-specific list of bootflowsSimon Glass
This list is only used by two functions, which can be updated to iterate through the global list. Take this approach, which allows the bootdev list to be dropped. Overall this makes the code slightly more complicated, but will allow moving the bootflow list into an alist Signed-off-by: Simon Glass <[email protected]>
2025-01-15bootstd: Add a function to get bootstd only if availableSimon Glass
Provide a function which is safe to call in the 'unbind' path, which returns the bootstd priv data if available. Signed-off-by: Simon Glass <[email protected]>
2025-01-15bootstd: Move bootflow-clearing to bootstdSimon Glass
This relates to more than just the bootdev, since there is a global list of bootflows. Move the function to the bootstd file and rename it. Signed-off-by: Simon Glass <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]>
2025-01-15bootstd: Move bootflow-adding to bootstdSimon Glass
This relates to more than just the bootdev, since there is a global list of bootflows. Move the function to the bootstd file and rename it. Signed-off-by: Simon Glass <[email protected]>
2025-01-14Merge patch series "fdt_support: improve board_fdt_chosen_bootargs() for ↵Tom Rini
flexibility" Dmitry Rokosov <[email protected]> says: This series consists of three patches. The first patch modifies the function documentation style in the include/fdt_support.h file to comply with kernel-doc requirements. The second patch modifies the board_fdt_chosen_bootargs() function to return a const char* type. This change clarifies to the caller that the returned string should neither be freed nor modified. It aligns with the existing fdt_setprop() function, which already utilizes a const char* parameter. This promotes consistency within the codebase and enhances code safety by preventing unintended modifications to the returned string. The third patch addresses the need for flexibility in providing kernel command line arguments (bootargs) for different kernel images within the same U-Boot environment. It introduces a read-only (RO) fdt_property argument to the board_fdt_chosen_bootargs() function, allowing access to the original chosen/bootargs data. This is crucial for scenarios where different kernel versions require distinct console setups (e.g., ttyS0 for vendor kernels and ttyAML0 for upstream kernels). By enabling board developers to either merge or replace the original bootargs, this patch enhances the configurability of U-Boot for various kernel images without relying on outdated configurations like CMDLINE_EXTEND. CI/CD results: https://github.com/u-boot/u-boot/pull/716/checks Link: https://lore.kernel.org/r/20241220-board_fdt_chosen_bootargs_improvements-v1-0-f6a7181787c5@salutedevices.com