summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-10-18x86: Add msr commandSimon Glass
It is useful to obtain the results of MSR queries as well as to update MSR registers, so add a command these tasks. Signed-off-by: Simon Glass <[email protected]>
2024-10-18x86: Add a cpuid commandSimon Glass
It is useful to obtain the results of cpuid queries, so add a command for this. Signed-off-by: Simon Glass <[email protected]>
2024-10-18x86: Sync up tsc_timer with LinuxSimon Glass
Since we are using the code from Linux, update it to the newer version in v6.11 Signed-off-by: Simon Glass <[email protected]>
2024-10-18x86: Avoid timer-clock overflowSimon Glass
When the clock speed is above about 4GHz, e.g. on modern PC hardware, the timer overflows, resulting in a much lower frequency than expected. Deal with this by capping the clock speed. It would be possible to move to a 64-bit value for the clock, but that is a pain to deal with. A better approach might be to express the clock in MHz but that is left for later consideration. Signed-off-by: Simon Glass <[email protected]>
2024-10-18x86: Ensure the CPU identity exists for timer initSimon Glass
When bootstage is used the timer can be inited before the CPU identity is set up, resulting in the checks for the vendor not working. Add a special call to work around this. Signed-off-by: Simon Glass <[email protected]>
2024-10-18x86: Show the CPU vendor in bdinfoSimon Glass
Refactor the cpu code and use it to show the CPU vendor, e.g. AuthenticAMD or GenuineIntel Signed-off-by: Simon Glass <[email protected]>
2024-10-18virtio: blk: introduce virtio-block erase supportDmitrii Merkurev
Co-developed-by: Cody Schuffelen <[email protected]> Signed-off-by: Cody Schuffelen <[email protected]> Signed-off-by: Dmitrii Merkurev <[email protected]> Cc: Tuomas Tynkkynen <[email protected]> Cc: Simon Glass <[email protected]> Cc: Mattijs Korpershoek <[email protected]> Cc: Ying-Chun Liu (PaulLiu) <[email protected]> Tested-by: Mattijs Korpershoek <[email protected]> # sandbox
2024-10-18x86: Make default_print_cpuinfo be a weak alias for print_cpuinfoTom Rini
While a few SoCs have a unique print_cpuinfo function, a number of them just use default_print_cpuinfo. Make default_print_cpuinfo have a weak alias to provie print_cpuinfo. Signed-off-by: Tom Rini <[email protected]>
2024-10-18coreboot: Switch to a monospaced fontSimon Glass
The default font is proportional, with different character widths. Select a monospace font for coreboot so that the 'dm tree' output lines up correctly. Update the coreboot tests to match. Signed-off-by: Simon Glass <[email protected]>
2024-10-18video: Allow querying the font sizeSimon Glass
All the font size to be queried using the 'font size' command. Signed-off-by: Simon Glass <[email protected]>
2024-10-18efi_driver: use blk_create_devicef()Heinrich Schuchardt
The EFI block device driver is the only user of blk_create_device() outside the block device uclass. Use blk_create_devicef() instead like other block device drivers. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-18efi_loader: remove ERROR:, WARNING: prefixes in messagesHeinrich Schuchardt
We should not write "ERROR:" or "WARNING:" when using log_err() or log_warning(). These prefixed don't provide additional information. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-10-18efi_loader: add missing lf in error messageHeinrich Schuchardt
Messages written with log_err() should terminate with a linefeed. Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Simon Glass <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-10-18Merge tag 'u-boot-imx-master-20241018a' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/22796 - Switch to using upstream DT on DH i.MX8MP DHCOM PDK2/PDK3. - Add ability to build fallback DTBOs from arch/$(ARCH)/dts. - Remove fdt_high and initrd_high env variables from imx6-dhcom. - Add dummy clk for imx8. - Fix DT corruption in imx8_cpu. - Improve DDR stability on pico-imx7d.
2024-10-18Merge tag 'u-boot-at91-fixes-2025.01-a' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 First set of u-boot-at91 fixes for the 2025.01 cycle: This small set includes the maintainer e-mail update and a missing header that was causing some build issues.
2024-10-18Azure: Update to latest containersTom Rini
Soon Azure will be removing the macOS-12 container in following their normal support schedule. Move us to macOS-14 so we won't have problems there for a while. At the same time, our Windows container is the oldest supported, so move to the newer option. Finally, Ubuntu 22.04 is the middle option currently, but 24.04 should be fine. Link: https://github.com/actions/runner-images/issues/10721 Signed-off-by: Tom Rini <[email protected]>
2024-10-18efi_loader: reduce noisiness if ESP is missingHeinrich Schuchardt
EFI variables can be stored in a file on the EFI system partition. If that partition is missing we are writing two error messages per variable. This is too noisy. Just warn once about the missing ESP. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-10-18efi_loader: avoid #ifdef in efi_setup.cHeinrich Schuchardt
We prefer `if` over `#ifdef` in our code. Eliminate #ifdef statements in efi_setup.c. Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2024-10-18cmd: wget: CONFIG_CMD_WGET must depend on CONFIG_CMD_NETHeinrich Schuchardt
do_wget is defined in cmd/net.c. cmd/net.c is not compiled if CONFIG_CMD_NET=n. Signed-off-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2024-10-18doc: blkmap: Fix typo in command exampleKen Kurematsu
Fixed a variable that was incorrect during the calculation of fileblks. Signed-off-by: Ken Kurematsu <[email protected]> Reviewed-by: Quentin Schulz <[email protected]>
2024-10-18doc: board: ti: am62x_sk: Add document for Ethernet boot on AM62x SoC.Chintan Vankar
Document the procedure to enable Ethernet Boot on AM62x SoC. Signed-off-by: Chintan Vankar <[email protected]>
2024-10-18cpu: imx8_cpu: Avoid revision to corrupt device treePeng Fan
U-Boot device tree is padded just after U-Boot proper. After the whole stuff loaded to DRAM space, the device tree area is conflict with BSS region before U-Boot relocation. So any write to BSS area before reloc_fdt will corrupt the device tree. Without the fix, there is issue that “binman_init failed:-2” on i.MX8MP-EVK board. Drop 'revision' and use malloc area in cpu_imx_plat->rev. Signed-off-by: Peng Fan <[email protected]>
2024-10-18pico-imx7d: Increase ODT resistor valueRay Chang
Increase ODT resistor value from 60 to 120 ohm to improve DRAM stability. Based on the following commit from TechNexion U-Boot: https://github.com/TechNexion/u-boot-tn-imx/commit/8a00e57b697c6f7d3d3abcfc552550ac7d8cc96d Signed-off-by: Ray Chang <[email protected]> Signed-off-by: Benjamin Szőke <[email protected]>
2024-10-18clk: imx8: Add dummy clkPeng Fan
There is a dummy clk entry for i.MX8QM/QXP, so add the dummy clk enable and get rate. Otherwise "__imx8_clk_enable(Invalid clk ID #0)". Fixes: 76332fae769 ("mmc: fsl_esdhc_imx: Enable AHB/IPG clk with clk bulk API") Reviewed-by: Heiko Schocher <[email protected]> Signed-off-by: Peng Fan <[email protected]> Tested-by: Heiko Schocher <[email protected]>
2024-10-18ARM: dts: imx6-dhcom: Remove fdt_high and initrd_high env variablesMarek Vasut
Remove both "fdt_high" and "initrd_high" environment variables in favor of "bootm_size" to safely contain a kernel, device tree and initrd for relocation inside of 256 MiB region of DRAM. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Fabio Estevam <[email protected]>
2024-10-18arm64: dts: imx: Switch to using upstream DT on DH i.MX8MP DHCOM PDK2/PDK3Marek Vasut
Enable OF_UPSTREAM to use upstream DT and add freescale/ prefix to the DEFAULT_DEVICE_TREE. And thereby directly build DTB from dts/upstream/src/ including *-u-boot.dtsi and DTBOs from arch/$(ARCH)/dts/ directory. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2024-10-18dts: Add ability to build fallback DTBOs from arch/$(ARCH)/dtsMarek Vasut
Currently the enablement of OF_UPSTREAM results on the build system searching for DTs only in dts/upstream/ . There are platforms which use U-Boot specific DTBOs applied on top of U-Boot control DT during SPL stage, and source DTs for these are located in arch/$(ARCH)/dtb. Add dedicated 'dtbos' target which builds only .dtbos and not .dtbs and in case CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is enabled, build this target for arch/$(ARCH)/dtb to generate local U-Boot specific DTBOs. Adjust top level Makefile so binman would search for .dtb and .dtbo in both OF_UPSTREAM specific paths and arch/$(ARCH)/dtb for the .dtbo case in case CONFIG_OF_UPSTREAM_INCLUDE_LOCAL_FALLBACK_DTBOS is enabled. Reviewed-by: Sumit Garg <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2024-10-18ARM: at91: clock: Add missing include of asm/io.hAlexander Dahl
In one inline function in this header `readl()` is used, but the declaration was not found, so buildman gave this warning: w+include/asm/arch/clk.h: In function 'get_h32mxdiv': w+include/asm/arch/clk.h:65:16: warning: implicit declaration of function 'readl' [-Wimplicit-function-declaration] Fixes: 927b901b47a6 ("ARM: atmel: add sama5d4ek board support") Signed-off-by: Alexander Dahl <[email protected]>
2024-10-17Merge patch series "Cleanup dma device in spl and move dma channel[0]"Tom Rini
Prasanth Babu Mantena <[email protected]> says: The channel allocation and deallocation for dma copy was happening on every dma transfer. This is a overhead for transactions like NAND, which does page reads recursively for complete data. So, moving the dma allocation to probe and implement corresponding remove function and cleanup dma device while exiting from spl. Enable SPL_DM_DEVICE_REMOVE, for device removal capability in SPL. Link: https://lore.kernel.org/r/[email protected]
2024-10-17dma: ti: k3-udma: Move DMA channel[0] allocation to probe and add udma_remove()Santhosh Kumar K
Currently, the allocation of DMA channel[0] for memcpy is happening in udma_transfer() for every transfer, which leads to a huge overhead for each transfer, especially in case of nand page reads. So, move this allocation to udma_probe(), as a result, the allocation is done once during probe. Introduce udma_remove() for the cleanup of allocated channel during probe. Signed-off-by: Santhosh Kumar K <[email protected]> Signed-off-by: Prasanth Babu Mantena <[email protected]>
2024-10-17dma: ti: k3-udma: Move udma_probe() below all APIsSanthosh Kumar K
The udma_probe() function was placed above many important APIs related to bcdma, pktdma, which restricts these APIs to be accessed during probe. So, move udma_probe() below all of them. Signed-off-by: Santhosh Kumar K <[email protected]> Signed-off-by: Prasanth Babu Mantena <[email protected]>
2024-10-17configs: k3: Enable device removal in SPLPrasanth Babu Mantena
Enable CONFIG_SPL_DM_DEVICE_REMOVE in a72 and r5. Signed-off-by: Prasanth Babu Mantena <[email protected]>
2024-10-17mach-k3: common.c: Remove dma device in spl exitPrasanth Babu Mantena
While exiting from spl, remove any dma device active through spl_board_prepare_for_boot(). This is required for cleaning up any dma channels being used in spl and avoid issues with overlapping channel allocation in the next stage bootloaders. Signed-off-by: Prasanth Babu Mantena <[email protected]>
2024-10-17arm: dts: k3-j722s-binman: Add support for HS-SEUdit Kumar
J722S SOC have two variants as HS-FS and HS-SE. Add binman support for HS-SE variant. Signed-off-by: Udit Kumar <[email protected]> [[email protected]: Fix load-dm-data entry and indentation] Signed-off-by: Jayesh Choudhary <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2024-10-17arm: mach-k3: j784s4: Add clk and power support for wkup_uartBhavya Kapoor
Add clk and device data which can be used by wkup_uart driver to configure clocks and PSC. Signed-off-by: Bhavya Kapoor <[email protected]> Reviewed-by: Bryan Brattlof <[email protected]>
2024-10-17cmd: irq: Move do_irqinfo() prototype to a header fileAndy Shevchenko
Move do_irqinfo() prototype to a header file, otherwise compiler is not happy: arch/x86/lib/interrupts.c:130:5: warning: no previous prototype for ‘do_irqinfo’ [-Wmissing-prototypes] Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Simon Glass <[email protected]> [trini: Add 'struct cmd_tbl;' to irq_func.h] Signed-off-by: Tom Rini <[email protected]>
2024-10-17arm: mach-k3: am62: fixup thermal cooling device cpusParth Pancholi
AM62x devices now support CPU throttling based on thermal alerts with a Linux commit 10e7bfd8114c ("arm64: dts: ti: k3-am62: Enable CPU freq throttling on thermal alert"). However, this functionality does not work correctly across all variants of the AM62x SoCs which have different numbers of Cortex-A CPU cores: AM62x1 (1 core), AM62x2 (2 cores), and AM62x4 (4 cores). On single-core and dual-core AM62x devices, the following error is observed in the Linux kernel: OF: /thermal-zones/main0-thermal/cooling-maps/map0: could not find phandle 94 OF: /thermal-zones/main1-thermal/cooling-maps/map0: could not find phandle 94 This commit adds a fixup to dynamically adjust the cooling-device nodes in the thermal zones based on the actual number of CPU cores available. This resolves the issue of CPU throttling not working correctly on single-core and dual-core AM62x devices, while maintaining the functionality for AM62x quad-core devices. A similar approach is implemented for example on i.MX8MM SoC. Signed-off-by: Parth Pancholi <[email protected]>
2024-10-17lib: fdtdec: Parse the gzip/lzo headers only when dependencies have metLad Prabhakar
It might happen that CONFIG_GZIP and CONFIG_LZO are enabled but we might have CONFIG_MULTI_DTB_FIT_LZO enabled in this case in the code path of uncompress_blob() we parse the gzip headers first which results in `Error: Bad gzipped data` being printed. To avoid this parse the gzip/lzo headers only when dependencies have met. Signed-off-by: Lad Prabhakar <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2024-10-17Extend usage for OF_OVERLAY_LIST beyond SPLJan Kiszka
Allow to use OF_OVERLAY_LIST also for the case that the overlays just need be built, e.g. when they will be picked up by binman as artifacts of the final U-Boot image. The IOT2050 boards have such a need when switching to OF_UPSTREAM. Signed-off-by: Jan Kiszka <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2024-10-17Makefile: Drop SPL_FIT_SOURCE supportMarek Vasut
The SPL_FIT_SOURCE is long superseded by SPL_FIT_GENERATOR which is long superseded by binman, drop SPL_FIT_SOURCE support as there are no more users. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]> Reviewed-by: Peter Robinson <[email protected]>
2024-10-17Merge tag 'u-boot-stm32-20241017' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm CI: https://source.denx.de/u-boot/custodians/u-boot-stm/-/pipelines/22732 - stm32mp: fix boot issue with OP-TEE - stm32mp: Add script to install U-Boot from SD/eMMC to SPI NOR on DH STM32MP15xx - stm32mp: Switch to using upstream DT on DH STM32 DHSOM - stm32mp: Generate u-boot.itb using binman on DH STM32 DHSOM
2024-10-17Merge tag 'u-boot-dfu-20241017' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu u-boot-dfu-20241017 CI: https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/22742 Usb Gadget: - Fix cdns3 endpoint configuration by setting maxpacket - Fix dwc3 cache handling when using DMA Fastboot: - Make AVB_VERIFY depends on FASTBOOT
2024-10-16Merge https://source.denx.de/u-boot/custodians/u-boot-usbTom Rini
2024-10-17MAINTAINERS: add TCPM sectionSebastian Reichel
Add new section for USB TypeC Port Manager (TCPM) support, which is needed to figure out cable orientation of USB-C plus and to do USB PD communication. Signed-off-by: Sebastian Reichel <[email protected]> Acked-by: Marek Vasut <[email protected]>
2024-10-17rockchip: rock5b-rk3588: Enable USB-C PD supportSebastian Reichel
Now that all code has been prepared update the default configuration to make use of it. Reviewed-by: Kever Yang <[email protected]> Tested-by: Soeren Moch <[email protected]> Tested-by: Anand Moon <[email protected]> Reviewed-by: Jonas Karlman <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2024-10-17rockchip: rk3588-rock-5b: Add USB-C controller to u-boot.dtsiSebastian Reichel
Add USB-C controller (fusb302), which will be used by U-Boot to initialize USB-PD. This is needed, because USB-PD communication must happen within 5 seconds after the USB-C connector got plugged. On my Rock 5B it often takes 5 seconds to jump to the Linux binary, so it must happen before Linux is initialized. This adds the DT node to the U-Boot specific file, since the Linux kernel DT currently does not describe it to avoid a system reset. The plan is to add it to the Linux DT with status = 'fail' and then let U-Boot mark it as status = 'okay' if it properly dealt with early USB-PD initialization. Until the Kernel DT has the node, let's add it in U-Boot to get things going. Reviewed-by: Kever Yang <[email protected]> Tested-by: Soeren Moch <[email protected]> Tested-by: Anand Moon <[email protected]> Reviewed-by: Jonas Karlman <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2024-10-17board: rock5b-rk3588: enable USB-C in operating systemSebastian Reichel
Since older U-Boot releases do not negotiate USB PD, the kernel DT may not enable the USB-C controller by default to avoid a regression. The plan is to upstream it with 'status = "fail";' instead. U-Boot should then mark it as 'status = "okay";' if it negotiated USB PD. Currently existing upstream kernel DTs do not yet have the USB-C controller at all, so we ignore any failures. Reviewed-by: Kever Yang <[email protected]> Tested-by: Soeren Moch <[email protected]> Tested-by: Anand Moon <[email protected]> Reviewed-by: Jonas Karlman <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2024-10-17usb: tcpm: fusb302: add driverSebastian Reichel
Now that the TCPM framework exists we can introduce fusb302 driver using it. This chip is a very common USB-C controller chip with PD support, which can be found in the Radxa Rock 5B among many other boards. Apart from Power Delivery, it also handles detection of the cable orientation. That can be used to control a mux for connecting the right USB3 lane pair to the USB3 controller. The driver is originally from the Linux kernel, but has been adapted to the requirements of U-Boot and its TCPM framework. Co-developed-by: Wang Jie <[email protected]> Signed-off-by: Wang Jie <[email protected]> Tested-by: Soeren Moch <[email protected]> Tested-by: Anand Moon <[email protected]> Reviewed-by: Jonas Karlman <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2024-10-17usb: tcpm: add core frameworkSebastian Reichel
This adds TCPM framework in preparation for fusb302 support, which can handle USB power delivery messages. This is needed to solve issues with devices, that are running from a USB-C port supporting USB-PD, but not having a battery. Such a device currently boots to the kernel without interacting with the power-supply at all. If there are no USB-PD message replies within 5 seconds, the power-supply assumes the peripheral is not capable of USB-PD. It usually takes more than 5 seconds for the system to reach the kernel and probe the I2C based fusb302 chip driver. Thus the system always runs into this state. The power-supply's solution to fix this error state is a hard reset, which involves removing the power from VBUS. Boards without a battery (or huge capacitors) will reset at this point resulting in a boot loop. This imports the TCPM framework from the kernel. The porting has originally been done by Rockchip using hardware timers and the Linux kernel's TCPM code from some years ago. I had a look at upgrading to the latest TCPM kernel code, but that beast became a lot more complex due to adding more USB-C features. I believe these features are not needed in U-Boot and with multiple kthreads and hrtimers being involved it is non-trivial to port them. Instead I worked on stripping down features from the Rockchip port to an even more basic level. Also the TCPM code has been reworked to avoid complete use of any timers (Rockchip used SoC specific hardware timers + IRQ to implement delayed work mechanism). Instead the delayed state changes are handled directly from the poll loop. Note, that (in contrast to the original Rockchip port) the state machine has the same hard reset quirk, that the kernel has - i.e. it avoids disabling the CC pin resistors for devices that are not self-powered. Without that quirk, the Radxa Rock 5B will not just end up doing a machine reset when a hard reset is triggered, but will not even recover, because the CPU will loose power and the FUSB302 will keep this state because of leak voltage arriving through the RX serial pin (assuming a serial adapter is connected). This also includes a 'tcpm' command, which can be used to get information about the current state and the negotiated voltage and current. Co-developed-by: Wang Jie <[email protected]> Signed-off-by: Wang Jie <[email protected]> Tested-by: Soeren Moch <[email protected]> Tested-by: Anand Moon <[email protected]> Reviewed-by: Jonas Karlman <[email protected]> Signed-off-by: Sebastian Reichel <[email protected]>
2024-10-16Merge patch series "some serial rx buffer patches"Tom Rini
Rasmus Villemoes <[email protected]> says: Some small improvements to the serial rx buffer feature. CI seems happy: https://github.com/u-boot/u-boot/pull/674 Link: https://lore.kernel.org/r/[email protected]