summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-03-11common: edid: update timing selection logicJonas Schwöbel
Older EDID timing algorithms relied solely on detailed timings, typically optimized for a display's native resolution. This caused issues with newer 4K panels on older hardware, which couldn't handle those high resolutions. To address this, the algorithm now also considers standard timings, offering lower, compatible resolutions. Future improvements may include checking established timings for even broader compatibility. Signed-off-by: Jonas Schwöbel <[email protected]> Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-11board: xiaomi: mocha: add Xiaomi Mi Pad A0101 supportSvyatoslav Ryhel
The Mi Pad is a tablet computer based on Nvidia Tegra K1 SoC which originally ran the Android operating system. The Mi Pad has a 7.9" IPS display with 1536 x 2048 (324 ppi) resolution. 2 GB of RAM and 16/64 GB of internal memory that can be supplemented with a microSDXC card giving up to 128 GB of additional storage. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-11Merge tag 'net-next-20250310' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-net into next Pull request net-next-20250310. CI: * https://source.denx.de/u-boot/custodians/u-boot-net/-/pipelines/25084 net-lwip: * Add support for CA (root) certificates to HTTPS * Add CONFIG_LWIP_DEBUG_RXTX to trace in/out messages
2025-03-11configs: qemu_arm64_lwip_defconfig: enable WGET_CACERTJerome Forissier
Enable the "wget cacert" command. Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-11doc: cmd: wget: document cacert subcommandJerome Forissier
Document the 'wget cacert' subcommand which allows to configure root (CA) certificates for HTTPS. Signed-off-by: Jerome Forissier <[email protected]> Acked-by: Ilias Apalodimas <[email protected]>
2025-03-11net: lwip: add support for built-in root certificatesJerome Forissier
Introduce Kconfig symbols WGET_BUILTIN_CACERT and WGET_BUILTIN_CACERT_PATH to provide root certificates at build time. Usage example: wget -O cacert.crt https://cacerts.digicert.com/DigiCertTLSECCP384RootG5.crt make qemu_arm64_lwip_defconfig echo CONFIG_WGET_BUILTIN_CACERT=y >>.config echo CONFIG_WGET_BUILTIN_CACERT_PATH=cacert.crt >>.config make olddefconfig make -j$(nproc) CROSS_COMPILE="ccache aarch64-linux-gnu-" qemu-system-aarch64 -M virt -nographic -cpu max \ -object rng-random,id=rng0,filename=/dev/urandom \ -device virtio-rng-pci,rng=rng0 -bios u-boot.bin => dhcp # HTTPS transfer using the builtin CA certificates => wget https://digicert-tls-ecc-p384-root-g5.chain-demos.digicert.com/ 1867 bytes transferred in 1 ms (1.8 MiB/s) Bytes transferred = 1867 (74b hex) Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-11lwip: tls: warn when no CA exists amd log certificate validation errorsJerome Forissier
Using HTTPS without root (CA) certificates is a security issue. Print a warning in this case. Also, when certificate verification fail, print an additional message because "HTTP client error 4" is not very informative (4 is HTTPC_RESULT_ERR_CLOSED). Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-11lwip: tls: enforce checking of server certificates based on CA availabilityJerome Forissier
Instead of relying on some build time configuration to determine if server certificates need to be checked against CA certificates, do it based on the availability of such certificates. If no CA is configured then no check can succeed; on the other hand if we have CA certs then we should not ignore them. It is always possible to remove the CA certs (via 'wget cacert 0 0') to force an HTTPS download that would fail certificate validation. Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-11net: lwip: extend wget to support CA (root) certificatesJerome Forissier
Add the "cacert" (Certification Authority certificates) subcommand to wget to pass root certificates to the code handling the HTTPS protocol. The subcommand is enabled by the WGET_CACERT Kconfig symbol. Usage example: => dhcp # Download some root certificates (note: not authenticated!) => wget https://cacerts.digicert.com/DigiCertTLSECCP384RootG5.crt # Provide root certificates => wget cacert $fileaddr $filesize # Enforce verification (it is optional by default) => wget cacert required # Forget the root certificates => wget cacert 0 0 # Disable verification => wget cacert none Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-11net: lwip: add CONFIG_LWIP_DEBUG_RXTXJerome Forissier
Add Kconfig symbol LWIP_DEBUG_RXTX to dump the incoming and outgoing packets when NET_LWIP=y. Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-11net: lwip: rename linkoutput() as net_lwip_tx()Jerome Forissier
Rename static function linkoutput() as net_lwip_tx() for consistency with net_lwip_rx(). Signed-off-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-10Merge tag 'v2025.04-rc4' into nextTom Rini
This uses Heinrich's merge of lib/efi_loader/efi_net.c which results in no changes.
2025-03-10Prepare v2025.04-rc4v2025.04-rc4Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-03-10configs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
2025-03-10Merge tag 'u-boot-dfu-next-20250310' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-next-20250310 CI: - https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/25060 Usb gadget: - Remove legacy CONFIG_USB_DEVICE - Remove legacy usbtty driver
2025-03-10env: Provide a work-around for unquoting fdtfileSimon Glass
Some boards use a CONFIG option to specify the value of this variable. This is normally handled by efi_get_distro_fdt_name() but in the case of sunxi this does not work, since 'soc' is sunxi, but the files are in the allwinner directory. Provide a work-around for this particular case. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-03-10Merge tag 'efi-next-20250310' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-efi into next Pull request efi-next-20250310 CI: * https://source.denx.de/u-boot/custodians/u-boot-efi/-/pipelines/25043 UEFI: * Clean up usage of structure jmp_buf_data * Refactor EFI network protocol implementation for future support of multiple network interfaces. - efi_net: let efi_net_set_dp properly update the device path - expose symbols to be used by the EFI network stack - efi_setup: Add efi_start_obj_list() to efi_setup.c - efi_net: Add efi_net_do_start() to efi_net.c - efi_device_path: Pass net udevice as argument - efi_net: Add device path cache - efi_net: Add dhcp cache - efi_net: Add support for multiple efi_net_obj Others: * legacy-net: wget: fix wget_info handling after new tcp legacy stack * lib: correct description of CONFIG_SYS_FDT_PAD * Separate setjmp.h into architecture dependent and independent parts - sandbox: remove linux/types.h dependency in setjmp.h - arm: include asm-generic/int-ll64.h in setjmp.h - common: clean up setjmp.h * arm: use type jmp_buf instead of struct jmp_buf_data
2025-03-10Merge tag 'u-boot-stm32-20250310' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm ARM: stm32mp: Fix boot hang on STM32MP15xx with 1 GiB of DRAM.
2025-03-10ARM: dts: stm32: Add support for environment in eMMC on STM32MP13xx DHCOR SoMMarek Vasut
Enable support for environment in eMMC on STM32MP13xx DHCOR SoM, in addition to existing support for environment in SPI NOR. The environment size is the same, except in case the environment is placed in eMMC, it is stored at the end of eMMC BOOT partitions in the last 32 sectors of each eMMC HW BOOT partition. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10configs: stm32f769-disco: Fix console cmdlineLinus Walleij
The Linux cmdline encoded in the defconfig is wrong, the STM32 USART driver registers as ttySTM0 not ttyS0. Signed-off-by: Linus Walleij <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10ARM: stm32: Introduce DH STM32MP15xx DHSOM board specific defconfigsMarek Vasut
Move stm32mp15_dhcom_basic_defconfig into stm32mp15_dhcom_basic.config. Retain legacy stm32mp15_dhcom_basic_defconfig as multi-config for all DH STM32MP15xx DHCOM based boards. Move stm32mp15_dhsor_basic_defconfig into stm32mp15_dhsor_basic.config. Retain stm32mp15_dhsor_basic_defconfig as multi-config for all DH STM32MP15xx DHCOR based boards. Introduce separate stm32mp15_dhcom_drc02_basic_defconfig, stm32mp15_dhcom_pdk2_basic_defconfig, stm32mp15_dhcom_picoitx_basic_defconfig for each STM32MP15xx DHCOM based board and separate stm32mp15_dhcor_avenger96_basic_defconfig, stm32mp15_dhcor_drc_compact_basic_defconfig, stm32mp15_dhcor_testbench_basic_defconfig for each STM32MP15xx DHCOR based board, to make build for those boards easier. No functional change. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10ARM: stm32: Fix CONFIG_BOOTCOUNT_ALTBOOTCMD update on DH STM32MP1 DHSOMMarek Vasut
The environment is missing closing quotes for string variable, but the variable is empty on this system, remove the CONFIG_BOOTCOUNT_ALTBOOTCMD assignment entirely. Fixes: 940135eea5df ("Kconfig: Move CONFIG_BOOTCOUNT_ALTBOOTCMD to Kconfig") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Tom Rini <[email protected]>
2025-03-10board: stm32f746-disco: drop board_late_init()Dario Binacchi
The removal of the "st,button1" and "st,led1" compatibles has emptied the board_late_init(), so let's remove it along with the configuration that allows its invocation. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10ARM: dts: stm32: drop "st,led1" compatibleDario Binacchi
It is pointless to use the custom compatible "st,led1" when stm32746g-eval.dts and stm32f769-disco.dts already contain the "gpio-leds" compatible, which is specifically used for GPIO LEDs management. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10ARM: dts: stm32: drop "st,button1" compatibleDario Binacchi
It is pointless to use the custom compatible "st,button1" when stm32746g-eval.dts and stm32f769-disco.dts already contain the "gpio-keys" compatible, which is specifically used for button management. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10ARM: dts: stm32: Add support for STM32MP13xx DHCOR SoM and DHSBC rev.200 boardMarek Vasut
LDO2 is expansion connector supply on STM32MP13xx DHCOR DHSBC rev.200. LDO5 is carrier board supply on STM32MP13xx DHCOR DHSBC rev.200. Keep both regulators always enabled to make sure both the carrier board and the expansion connector is always powered on and supplied with correct voltage. Describe ST33TPHF2XSPI TPM 2.0 chip reset lines. This is a port of Linux kernel patch posted at: https://patchwork.kernel.org/project/linux-arm-kernel/patch/[email protected]/ This change shall be removed when the Linux kernel DT change lands and Linux kernel DTs get synchronized with U-Boot DTs. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10ARM: stm32mp: Fix dram_bank_mmu_setup() for ram_top=0Marek Vasut
On STM32MP15xx with 1 GiB of DRAM, the gd->ram_top becomes 0, because DRAM base 0xc0000000 + DRAM size 0x40000000 leads to gd->ram_top overflow which resets it to 0. Handle this special case simply by checking for gd->ram_top being zero, and if it is, assume there is no addr >= gd->ram_top . This fixes boot hang on STM32MP15xx with 1 GiB of DRAM. Fixes: 25fb58e88aba ("ARM: stm32mp: Fix dram_bank_mmu_setup() for LMB located above ram_top") Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-03-10usb: gadget: Remove the legacy usbtty driverTom Rini
The lone user of this driver has been removed for some time. Remove this driver as well. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-03-10usb: gadget: Remove final remnants of CONFIG_USB_DEVICETom Rini
The lone user of the legacy USB device framework have been removed for some time. Remove the final parts of the code that were missed. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Mattijs Korpershoek <[email protected]>
2025-03-10lib: correct description of CONFIG_SYS_FDT_PADHeinrich Schuchardt
CONFIG_SYS_FDT_PAD defines the number of unused bytes added to a device-tree and not the total size. Fixes: 40ed7be4af52 ("Convert CONFIG_SYS_FDT_PAD to Kconfig") Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-03-10arm: use type jmp_buf instead of struct jmp_buf_dataHeinrich Schuchardt
Instead of using the implementation specific struct jmp_buf_data use the standard compliant type jmp_buf when switching exception levels. Reviewed-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-03-10efi_loader: Clean up usage of structure jmp_buf_dataYao Zi
Structure jmp_buf_data provides the underlying format of jmp_buf, which we actually don't care about. Clean up existing code to use the standard jmp_buf type. This introduces no functional change. Signed-off-by: Yao Zi <[email protected]> Reviewed-by: Jerome Forissier <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-03-10common: clean up setjmp.hHeinrich Schuchardt
Separate setjmp.h into an architecture independent part and an architecture specific part. This simplifies moving from using struct jmp_buf_data directly to using type jmp_buf in our code which is the C compliant way. Reviewed-by: Jerome Forissier <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-03-10arm: include asm-generic/int-ll64.h in setjmp.hHeinrich Schuchardt
Don't assume that u32 and u64 are already defined. Reviewed-by: Jerome Forissier <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-03-10sandbox: remove linux/types.h dependency in setjmp.hHeinrich Schuchardt
ulong is defined in linux/types.h use unsigned long instead. Reviewed-by: Jerome Forissier <[email protected]> Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-03-10efi_loader: efi_net: Add support for multiple efi_net_objAdriano Cordova
Add support for multiple efi_net_obj structs in efi_net.c. This comes in preparation for an EFI network driver supporting multiple network interfaces. For now the EFI network stack still registers a single ethernet udevice as an EFI network device even if multiple are present, namely the one that was the current device at the moment of EFI initialization. Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10efi_loader: efi_net: Add dhcp cacheAdriano Cordova
Add a dhcp cache to store the DHCP ACKs received by the U-Boot network stack. Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10efi_loader: efi_net: Add device path cacheAdriano Cordova
In preparation to support mutiple efi net udevices. Add a device path cache to support device paths from multiple ethernet udevices. The device paths can be added to the cache before EFI gets initialized and the protocols get installed. Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10efi_loader: efi_device_path: Pass net udevice as argumentAdriano Cordova
In preparation to support multiple EFI net objects, support constructing device paths using an ethernet device different than the default. Add a udevice argument to the device path generation, and keep the callsites with eth_get_dev() to preserve existing functionality. Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10efi_loader: efi_net: Add efi_net_do_start() to efi_net.cAdriano Cordova
This gets called each time a payload is to get executed by bootefi. For now this only updates the PXE IP address. Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10efi_loader: efi_setup: Add efi_start_obj_list() to efi_setup.cAdriano Cordova
The coomand bootefi calls efi_init_obj_list to do the efi set up before launching an .efi payload, but efi_init_obj_list is called only once. There are some initializations which depend on the environment and should be done each time a payload gets launched and not only once. A motivation for this changes is the following order of events: 1. Launch an EFI application (e.g. bootefi hello) 2. Change the ip address 3. Launch another application which uses the pxe protocol As the EFI pxe protocol was initialized when the handles for efi net were created in 1., the ip was hardcoded there. In this example, another possibility would be to make a callback for ip address changes to go all the way up to efi_net. Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10efi_loader: expose symbols to be used by the EFI network stackAdriano Cordova
The following symbols are exposed: - efi_reinstall_protocol_interface This is done so that the device path protocol interface of the network device can be changed internally by u-boot when a new bootfile gets downloaded. - eth_set_dev To support multiple network udevices - efi_close_event This comes in preparation to support unregistering an EFI network device from the EFI network stack when the underlying U-boot device gets removed - efi_[dis]connect_controller The EFI network driver uses ConnectController to add a NIC to the EFI network stack. - efi_uninstall_protocol_interface connect_controler for the efi network driver can install protocols, which need to be uninstalled in disconnect_controller - EFI_SIMPLE_NETWORK_PROTOCOL_GUID Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10legacy-net: wget: fix wget_info handling after new tcp legacy stackAdriano Cordova
Check wget_info->buffer_size for overflow and do not clean the wget_info struct on failure, let the owner of the struct handle the error. The latter is necesary , e.g., for when a request fails because the provided buffer was too small. Signed-off-by: Adriano Cordova <[email protected]>
2025-03-10efi_loader: efi_net: let efi_net_set_dp properly update the device pathAdriano Cordova
This commit fixes an use after free introduced in Commit e55a4acb54 (" efi_loader: net: set EFI bootdevice device path to HTTP when loaded from wget"). The logic in efi_net_set_dp is reworked so that when the function is invoked it not only changes the value of the static variable net_dp (this is how the function was implemented in e55a4acb54) but also updates the protocol interface of the device path protocol in case efi has started. Fixes: e55a4acb54e8 ("efi_loader: net: set EFI bootdevice device path to HTTP when loaded from wget") Signed-off-by: Adriano Cordova <[email protected]>
2025-03-08test: dm: add video bridge testsSvyatoslav Ryhel
Add tests for video bridge ops. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-03-08video: bridge: add transparent LVDS de/encoder bridgeSvyatoslav Ryhel
Add a simple and transparent LVDS de/encoder driver with a powerdown gpio and a power supply. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-03-08video: bridge-uclass: add inline fallbacks of video bridge functionsSvyatoslav Ryhel
Hide video bridge functions behind config condition and add inline fallbacks to avoid erroring out when using header without config enabled. Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-03-08video: bridge-uclass: add get_display_timing opsSvyatoslav Ryhel
Add get_display_timing ops for internal bridges linked to panels that do not support EDID (MIPI-DSI panels for example) or have EDID not routed. Tested-by: Dang Huynh <[email protected]> (PineTab 2) Signed-off-by: Svyatoslav Ryhel <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2025-03-08test: dm: add ofnode_graph testsSvyatoslav Ryhel
Test suit for of_graph parsing helpers. Signed-off-by: Svyatoslav Ryhel <[email protected]>
2025-03-08core: ofnode: add of_graph parsing helpersSvyatoslav Ryhel
Add a mostly complete list of ofnode analogs of of_graph parsing helpers. Signed-off-by: Svyatoslav Ryhel <[email protected]>