summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-08Merge tag 'net-next-20250708' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-net Pull request net-next-20250708 lwip: - Call sys_check_timeouts() and schedule() on RX to fix an issue on boards with a watchdog and simplify the code - Enable IP_FRAG and IP_REASSEMBLY - Add support for setting the TFTP blocksize at runtime - Fix DNS initialization in wget - Add the sntp command - Move code from net/lwip/${cmd}.c to cmd/lwip/${cmd}.c
2025-07-08arm64: versal2: Remove the ZynqMP Firmware from mini ospiVenkatesh Yadav Abbarapu
Remove the config ZYNQMP_FIRMWARE and also update the initial stack address. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08cadence_qspi: fix odd byte read issue in STIG modeVenkatesh Yadav Abbarapu
In DDR mode, even bytes are read using DMA, while the remaining odd bytes are read using STIG mode. However, the data is not correctly transferred into the flash read data lower register because the supplementary byte of the STIG opcode is not being written to the opcode extension register, resulting in incorrect data being read. To resolve this issue, when using STIG transactions, the corresponding supplementary byte of any STIG opcode must be defined in the Opcode Extension Register (Lower). Issue has been observed on the Macronix MX66UM2G45G flashes. Signed-off-by: Prasad Kummari <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08spi: cadence_qspi: Set tshsl_ns to at least one sclk_nsVenkatesh Yadav Abbarapu
tshsl_ns is the clock delay for chip select deassert. This is the delay in master reference clocks for the length that the master mode chip select outputs are de-asserted between transactions. The minimum delay is always SCLK period to ensure the chip select is never re-asserted within one SCLK period. That is why tshsl_ns delay should be at least one sclk_ns value. If it is less than sclk_ns, set it equal to sclk_ns. Signed-off-by: Ashok Reddy Soma <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08xilinx: Disable help command for all mini configurationsMichal Simek
There is no reason to have help command available because none is calling it and only make binary bigger that's why disable it. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/885a74b7f5b28ea7850a6ebaaf879dd8b13e18c8.1751286059.git.michal.simek@amd.com
2025-07-08cmd: Introduce CMD_HELPMichal Simek
Add option to disable help command in size constrained systems to save some space. There is also no need to have ifdefs around CMDLINE because all commands depends on it. And also mark cmd_help dependency in test_help.py. Reviewed-by: Peter Robinson <[email protected]> Reviewed-by: Mattijs Korpershoek <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/c17f825fb8a74e1d1912a3fd09a9a880c84a8bfd.1751286059.git.michal.simek@amd.com
2025-07-08arm64: zynqmp: Enable rng-seed generationMichal Simek
SOM has TPM with RNG in it that's why enable rng-seed generation. Acked-by: Ilias Apalodimas <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/0e55eb3eade94e9cd0ffe04da0618aa6b1589f01.1751442246.git.michal.simek@amd.com
2025-07-08spi: cadence_qspi: Fix odd byte write issue in STIG modeVenkatesh Yadav Abbarapu
Starting from 'commit <8077d296adff> ("spi: cadence-quadspi: Use STIG mode for all ops with small payload") the utilization of STIG mode has been implemented for read and write operations involving less than 8 bytes of data. However, following this commit, encountering timeout issues occurs when writing odd bytes of data in DDR mode, as indicated below: "jedec_spi_nor flash@0: flash operation timed out SF: 3 bytes @ 0x0 Written: ERROR -110" To resolve this issue, the number of bytes to write has been updated specifically for DDR mode. Signed-off-by: Tejas Bhumkar <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08config: versal2: Update timer clock to 100MhzVenkatesh Yadav Abbarapu
U-Boot timer clock is not updated when it is migrated from emulator to silicon. Update CONFIG_COUNTER_FREQUENCY to 100Mhz. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08arm64: versal2: Enable reset and poweroff via sysreset frameworkVenkatesh Yadav Abbarapu
reset and poweroff are called via hooks in psci driver which is going around sysreset framework that's why enable sysreset drivers and do reset and poweroff via this framework. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08arm64: versal2: Do not define do_reset() if sysreset is enabledVenkatesh Yadav Abbarapu
If sysreset is enabled reset_cpu is defined in sysreset uclass that's why it can't be in platform/board code. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08xilinx: zynqmp: disable CONFIG_SPI_FLASH_BARVenkatesh Yadav Abbarapu
Legacy SPI flash devices used a 24-bit (3-byte) addressing scheme, limiting the addressable memory to 16 MB. To support larger densities (256 Mbit and higher), extended addressing schemes, such as 32-bit (4-byte) addressing, were introduced. If the flash density exceeds 16 MB and CONFIG_SPI_FLASH_BAR is disabled, the device will use a 4-byte addressing mode. Signed-off-by: Prasad Kummari <[email protected]> Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08config: amd: Enable the SPI_STACKED_PARALLEL config optionVenkatesh Yadav Abbarapu
Enable the SPI_STACKED_PARALLEL config option for AMD versal2 platform, as this is required for parallel and stacked memories. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08drivers: fpga: intel_sdm_mb: Check SIP SMC status in send_bitstream()Naresh Kumar Ravulapalli
While sending bitstream via SIP SMC, busy status received does not correspond to error, instead it means transfer is accepted but SDM doesn't have any more free buffer space. Hence, data transmission is continued when busy status is received. Signed-off-by: Naresh Kumar Ravulapalli <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08xilinx: Remove simple-bus description from mini configurationsMichal Simek
simple bus node and drivers not bringing up any value for mini configuration that's why remove it and disable drivers for it to save some space. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/a51b11fa21c504a19701ebdccc1e61e899e1aed5.1751016029.git.michal.simek@amd.com
2025-07-08mmc: zynq_sdhci: Reset the host controllerVenkatesh Yadav Abbarapu
Reset the host controller at the early stage of probe so that the configuration will be done properly for reboot cases. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08firmware: xilinx: Prepare code for new SMC firmware formatMichal Simek
Separate code to own function to be able to add new enhancement format. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/cf99fe1af82bc004de3e313d4018464f4504f380.1750858165.git.michal.simek@amd.com
2025-07-08firmware: xilinx: Tighten dependencies for ZYNQMP_FIRMWARETom Rini
The ZYNQMP_FIRMWARE code cannot build without platform specific headers being available. Express that requirement in Kconfig as well. Signed-off-by: Tom Rini <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08xilinx: zynqmp: Enable xilinx ethernet phyPadmarao Begari
Enable xilinx ethernet phy on ZynqMP by default. Signed-off-by: Padmarao Begari <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08clk: zynqmp: Add support for dpll clock sourcePadmarao Begari
The clock driver fails to correctly calculate the PLL clock rate for peripherals when using the DPLL as the clock source. The DPLL operates within the full power domain, while peripheral clocks reside in the low power domain. To ensure accurate PLL clock rate computation when the peripheral clock source is set to DPLL, the DPLL-to-LPD cross divisor is used. Signed-off-by: Padmarao Begari <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08arm: zynqmp: Remove local copy of 'dt-bindings/clock/xlnx-zynqmp-clk.h'Tom Rini
As part of the recent cleanup of dt-bindigns header files we did not remove our copy of dt-bindings/clock/xlnx-zynqmp-clk.h at the time. This is because the difference between ours and current upstream is that current upstream has a #warning to not use it and to instead use xlnx-zynqmp-clk.h. So we change zynqmp-clk-ccf.dtsi to use the other and upstream-only file and then delete our dt-bindings file. Signed-off-by: Tom Rini <[email protected]> Tested-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Michal Simek <[email protected]>
2025-07-08clk: versal: Fix clock driver dependencyMichal Simek
Driver fully depends on firmware driver to be present that's why change imply to depends on to cover it. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/bd18a4ce3e65411bb956636d4a2ef4b5fbe8b9e1.1749104235.git.michal.simek@amd.com
2025-07-08configs: qemu_arm64_lwip_defconfig: enable CMD_SNTPJerome Forissier
Enable the sntp command by default in the arm64 QEMU defconfig for lwIP since this config is meant to have all the features supported by lwIP. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08doc: add doc/cmd/sntp.rst and remove doc/README.SNTPJerome Forissier
Add a proper documentation file for the sntp command in RST format and drop doc/README.SNTP. The documentation now includes the NET_LWIP specificities. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: add sntp commandJerome Forissier
Implement the sntp command when NET_LWIP=y. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08net: extract function net_sntp_set_rtc() from sntp_handler()Jerome Forissier
Extract the code that sets the RTC clock from sntp_handler() in net/sntp.c and make it a new function net_sntp_set_rtc() in net/net-common.c. This will allow re-use with NET_LWIP. According to [1] it is safe to assume that all devices have been converted to DM_RTC so drop the useless code. [1] https://lists.denx.de/pipermail/u-boot/2025-June/591376.html Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: ping: accept host name when CONFIG_CMD_DNS=yJerome Forissier
Update the ping command so that a host name is accepted in addition to an IP address, provided DNS support is enabled. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: add net_lwip_dns_resolve()Jerome Forissier
Add a helper fonction to convert an IP address (supplied as a text string) or a host name to an ip_addr_t. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: dns: do not print IP address when a variable is specifiedJerome Forissier
When calling "dns <hostname> <varname>", do not print out the IP address of <hostname> onto the console. Print it only when no variable is passed. The reason is to be able to call do_dns() from another command in need of the DNS services without polluting the output. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: dns: do not return CMD_RET_FAILURE on successful resolutionJerome Forissier
The DNS loop checks for a non-zero IP address after DNS resolution, but the address is in fact never copied into the context. Fix that. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: split net/lwip/wget.cJerome Forissier
Split net/lwip/wget.c in two: one part which implements CONFIG_WGET stays in net/ while the part that implements CONFIG_CMD_WGET is moved into cmd/. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: split cmd/net-lwip.c into one file per commandJerome Forissier
Move each command in cmd/net-lwip.c into its own file (cmd/lwip/${cmd}.c). Suggested-by: Heinrich Schuchardt <[email protected]> Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: move net/lwip/ping.c to cmd/lwipJerome Forissier
Prepare to split the ping command from cmd/net-lwip.c by moving the implementation from net/lwip/dns.c to cmd/lwip. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: move net/lwip/dns.c to cmd/lwipJerome Forissier
Prepare to split the dns command from cmd/net-lwip.c by moving the implementation from net/lwip/dns.c to cmd/lwip. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08lwip: remove net/lwip/eth_internal.hJerome Forissier
net/lwip/eth_internal.h is not used. Remove it. Signed-off-by: Jerome Forissier <[email protected]>
2025-07-08net: lwip: wget: initialize dns if a hostname is used in a URLTim Harvey
Initialize dns servers if a hostname (vs ipaddr) is used in a URL. Otherwise the wget will fail without displaying an error due to dns_gethostbyname failing silently when no DNS servers are set unless you have previously performed a 'dns <arg>' command. Signed-off-by: Tim Harvey <[email protected]> Acked-by: Jerome Forissier <[email protected]>
2025-07-08net: lwip: move dns init to common functionTim Harvey
move the dns init including setting the dns servers from env vars to a common function as other commands that support hostname lookups will need this. Signed-off-by: Tim Harvey <[email protected]> [jf: add CMD_DNS conditional to support NET_LWIP && !CMD_DNS] Reviewed-by: Jerome Forissier <[email protected]>
2025-07-08net: lwip: tftp: add support for setting blocksize at runtimeTim Harvey
Add support for setting the blocksize at runtime via the tftpblocksize env variable as such is done with the legacy stack (CONFIG_NET). Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2025-07-08net: lwip: enable IP_FRAG and IP_REASSEMBLYTim Harvey
Enable IP_FRAG and IP_REASSEMBLY to allow packets larger than MTU. Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Jerome Forissier <[email protected]> Acked-by: Heinrich Schuchardt <[email protected]>
2025-07-08net: lwip: call sys_check_timeouts and schedule on rxTim Harvey
Call schedule() in net_lwip_rx() to service U-Boot tasks and actions during packet rx. As a cleanup also move sys_check_timeouts() here and remove it from the functions that call net_lwip_rx(). This resolves the issue of an active watchdog resetting the board on long network activities. Suggested-by: Jerome Forissier <[email protected]> Signed-off-by: Tim Harvey <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2025-07-07configs: Resync with savedefconfigTom Rini
Resync all defconfig files using qconfig.py Signed-off-by: Tom Rini <[email protected]>
2025-07-07Merge branch 'next'Tom Rini
2025-07-07Prepare v2025.07v2025.07Tom Rini
Signed-off-by: Tom Rini <[email protected]>
2025-07-04configs: legoev3: adjust to reduce binary sizeDavid Lechner
Adjust legoev3_defconfig to reduce the binary output size. As u-boot has bloated a bit over the years, the legoev3_defconfig can no longer build something that fits in the 256kB size limit of the EV3. This drops a few unused features, but the real difference-makers are enabling thumb instructions and using link time optimization to reduce the size. This reduced u-boot.bin from 279,920 to 198,416 bytes on my local machine with arm-none-eabi-gcc (15:13.2.rel1-2) 13.2.1 20231009. HAS_BOARD_SIZE_LIMIT is also added to catch any future regressions. Signed-off-by: David Lechner <[email protected]>
2025-07-04mx6sabresd: Reduce U-Boot proper size to fix boot regressionFabio Estevam
The mx6sabresd U-Boot proper binary size has grown beyond the CONFIG_BOARD_SIZE_LIMIT. Reduce its size by removing the CONFIG_MULTI_DTB_FIT, BOOTM_PLAN9 and BOOTM_RTEMS options. According to doc/README.multi-dtb-fit: "Usually the DTB is selected by the SPL and passed down to U-Boot. But some platforms don't use the SPL. In this case MULTI_DTB_FIT can used to provide U-Boot with a choice of DTBs" mx6sabresd uses SPL, so MULTI_DTB_FIT can be safely dropped as the DTB selection in SPL is done by board_fit_config_name_match(). Tested boot on the imx6dl and imx6q variants. Signed-off-by: Fabio Estevam <[email protected]>
2025-07-03Merge tag 'u-boot-dfu-next-20250703' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-dfu into next u-boot-dfu-next-20250703 CI job: - https://source.denx.de/u-boot/custodians/u-boot-dfu/-/pipelines/26938 Android: - Fix uninitialized vhdr pointer in image-android.c - Fix uninitialized vhdr pointer in abootimg cmd DFU: - Update maintainers file to include spl/spl_dfu
2025-07-03Merge branch 'next' of https://source.denx.de/u-boot/custodians/u-boot-riscv ↵Tom Rini
into next CI: https://source.denx.de/u-boot/custodians/u-boot-riscv/-/pipelines/26936 - RISC-V: Add big-endian build support - Board: aclint_ipi: Support T-Head C900 CLINT - Board: mpfs_icicle: Implement board_fdt_blob_setup()/board_fit_config_name_match() - Driver: pinctrl: Port pin controller driver for T-Head TH1520 SoC - Driver: cache: Update dependency for ANDES_L2_CACHE
2025-07-03Merge tag 'efi-next-03072025' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-tpm into next Sughosh added EFI HTTP(s) support into our eficonfig application. Up to now we could only enable that via our efidebug command. Users now get that option on the eficonfig menu. Javier implemented support for the EFI_PARTITION_INFO_PROTOCOL, to provide cached partition information for GPT partition types. The protocol describes legacy MBR partition types, but that's for backward compatibility and not implemented by this series. The protocol is needed by [0], an implementation of a UEFI based A/B boot protocol for the root filesystem. Paul added support for EFI_DEBUG_IMAGE_INFO_TABLE. This is part of the EFI spec and is defining a debug protocol that Google currently uses to debug their Generic Bootloader project [1][2], using EFI to load Android. Heinrich contributed a test EFI application for it as well. The efi_realloc() function he added will realloc any type of memory to BootServicesData, but keeping in mind the new protocol is the only consumer he will fix that on a followup patch. Finally another round of smatch fixes from Andrew cleans up coding errors. The CI https://source.denx.de/u-boot/custodians/u-boot-tpm/-/pipelines/26935 seems happy [0] https://gitlab.com/CentOS/automotive/src/ukiboot [1] https://lpc.events/event/18/contributions/1704/attachments/1550/3231/Android%20Generic%20Boot%20Loader.pdf [2] https://source.android.com/docs/core/architecture/bootloader/generic-bootloader
2025-07-03cache: Update dependency for ANDES_L2_CACHETom Rini
The cache driver here can only build on RISCV due to header dependencies. Express that requirement in Kconfig as well. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Leo Yu-Chi Liang <[email protected]>
2025-07-03board: mpfs_icicle: implement ↵Conor Dooley
board_fdt_blob_setup()/board_fit_config_name_match() The firmware on the Icicle is capable of providing a devicetree in a1 to U-Boot, but until now the devicetree has been packaged in a "payload" [1] alongside U-Boot (or other bootloaders/RTOSes) and appended to the image. The address of this appended devicetree is placed in a1 by the firmware. This meant that the mechanism used by OF_SEPARATE to locate the devicetree at the end of the image would pick up the one provided by the firmware when u-boot-nodtb.bin was in the payload and U-Boot's devicetree when u-boot.bin was. The firmware is now going to be capable of providing a minimal devicetree (quite cut down due to severe space constraints), but this devicetree is linked into the firmware that runs out of the L2 rather than at the end of the U-Boot image. Implement board_fdt_blob_setup() so that this devicetree can be optionally used, and the devicetree provided in the "payload" can be used without relying on "happening" to implement the same strategy as OF_SEPARATE expects in combination with u-boot-nodtb.bin. Unlike other RISC-V boards, the firmware provided devicetree is only used when OF_BOARD is set, so that the almost certainly more complete devicetree in U-Boot will be used unless explicitly requested otherwise. Implement board_fit_config_name_match(), so that, using the firmware provided cut-down/minimal dtb, U-Boot can select one of several devicetrees when MULTI_DTB_FIT is enabled. Enabling both MULTI_DTB_FIT and OF_BOARD will lead to a conflict between the two options, with the latter taking priority due to board_fdt_blob_setup() being executed before board_fit_config_name_match(), which causes gd->fdt_blob to be overwritten with a pointer to the minimal devicetree rather than the location of the fit image containing the multiple dtbs. Let MULTI_DTB_FIT take priority in this case, by explicitly blocking the override when MULTI_DTB_FIT is enabled. Link: https://github.com/polarfire-soc/hart-software-services/blob/master/tools/hss-payload-generator/README.md [1] Signed-off-by: Conor Dooley <[email protected]> Acked-by: Leo Yu-Chi Liang <[email protected]>