summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-04-02board/tq: Add common baseboard APIMarkus Niebel
TQMa6 and other SoMs from TQ-Systems GmbH need a baseboard. Therefore functionality of U-Boot board callbacks may be distributed between SoM and baseboard implementation. To prevent code duplication and boilerplate implement a baseboard specific API for TQ boards with weak defaults that can be filled out for baseboard implementations as needed. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-04-02configs: tqma6: change to include tqma6.h in baseboard headersMax Merchel
The SoM (TQMa6) can be used on various baseboards. No modifications to the SoM files should be required to use the SoM on different baseboards. Therefore, include the SoM headers in the baseboard. Signed-off-by: Max Merchel <[email protected]>
2026-04-02board: tqma6: change to use shareable tq environmentMax Merchel
Create tqma6 environment file and remove CFG_FEC_MXC_PHYADDR as it comes from device tree. Signed-off-by: Max Merchel <[email protected]>
2026-04-02configs: tqma6.h: remove unused define for PFUZE100_I2CMax Merchel
Remove the definition of CFG_POWER_PFUZE100_I2C_ADDR and TQMA6_PFUZE100_I2C_BUS as it is not used. Signed-off-by: Max Merchel <[email protected]>
2026-04-02configs: tqma6.h: remove unused define for PHYS_SDRAM_SIZEMax Merchel
Remove the definition of PHYS_SDRAM_SIZE as it is not used. Signed-off-by: Max Merchel <[email protected]>
2026-04-02env: tq: add shareable environment settingsMarkus Niebel
Prepare moving boiler plate code out of board confguration header and prepare to share a lot of things between boards. Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
2026-04-02board: phytec: phycore-imx91-93: Add phyCORE-i.MX91 supportPrimoz Fiser
As the PHYTEC phyCORE-i.MX91 [1] is just another variant of the existing PHYTEC phyCORE-i.MX93 SoM but with i.MX91 SoC populated instead, add it to the existing board-code "phycore_imx93", and rename that board to "phycore_imx91_93" to reflect the dual SoCs support. While at it, also rename and change common files accordingly. This way i.MX91 and i.MX93 SoC variants of the phyCORE SoM share most of the code and documentation without duplication, while maintaining own device-tree and defconfigs for each CPU variant. Supported features: - 1GB LPDDR4 RAM - Debug UART - EEPROM - eMMC - Ethernet - SD-card - USB Product page SoM: [1] https://www.phytec.eu/en/produkte/system-on-modules/phycore-imx-91-93/ Signed-off-by: Primoz Fiser <[email protected]>
2026-04-02pci: imx: Properly support upstream Linux reset-gpios propertyKrzysztof Kozlowski
The driver requests explicitly "reset-gpio" property, not the one with "gpios" suffix but upstream Linux kernel deprecated it in 2021. Existing upstream Linux kernel DTS is being changed to "reset-gpios" property, thus update the driver to read that one too. Note that driver is probably broken already, because it parsed GPIO in standard way respecting the flags and on top of that applied the "reset-gpio-active-high" flag, thus "reset-gpio ACTIVE_LOW" with the "reset-gpio-active-high" property would be double inverted. Signed-off-by: Krzysztof Kozlowski <[email protected]>
2026-03-31Merge tag 'net-20260331' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-net into next Pull request net-20260331. net: - airoha_eth & pcs_airoha driver fixes - Rework some symbol dependencies - dwc_eth_xgmac: Move DMA reset and pad calibration after PHY init - rtl8169: add support for RTL8125d - rswitch: Avoid NULL pointer dereference during PHY access - rswitch: Remap CPU to bus addresses using dev_phys_to_bus() - phy: dp83867: reset PHY on init to ensure clean state net-lwip: - nfs: fix buffer overflow when using symlinks - tftp: update image_load_addr after successful transfer [trini: Add missing "if NET" to CMD_DHCP select's CMD_BOOTP] Signed-off-by: Tom Rini <[email protected]>
2026-03-31net: rswitch: Remap CPU to bus addresses using dev_phys_to_bus()Marek Vasut
Use dev_phys_to_bus() to convert CPU addresses of DMA descriptors into bus addresses of DMA descriptors. This is necessary on hardware which does not have 1:1 mapping between CPU and memory addressed by the DMA. This has no impact on other hardware which does not need this conversion. Signed-off-by: Marek Vasut <[email protected]>
2026-03-31net: phy: dp83867: reset PHY on init to ensure clean statePranav Tilak
After a warm reboot, the PHY is left in power-down state (BMCR_PDOWN set) causing auto-negotiation to timeout when running the dhcp command. Fix this by calling phy_reset() in dp83867_config() which brings the PHY to a known clean state. The existing DP83867_SW_RESTART is removed as it is redundant after phy_reset(). Fixes: 721aed79126b ("net: phy: Add support for Texas Instruments DP83867") Signed-off-by: Pranav Tilak <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2026-03-31net: lwip: tftp: update image_load_addr after successful transferPranav Sanwal
do_tftpb() parses the load address into a local variable laddr but never updates the global image_load_addr. Commands that rely on image_load_addr as their default address (e.g. 'bmp info') therefore operate on the wrong address when called without an explicit argument after tftpboot. Update image_load_addr to laddr only on a successful transfer, so that it accurately reflects where data was actually loaded. Fixes: 4d4d7838127e ("net: lwip: add TFTP support and tftpboot command") Signed-off-by: Pranav Sanwal <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2026-03-31net: rswitch: Avoid NULL pointer dereference during PHY accessMarek Vasut
At the very early stage when PHY ID is being auto-detected, the PHY device is not yet instantiated and rswitch_etha .phydev is still NULL. Add missing check for this condition and perform C22 fallback access in this PHY ID auto-detection case. Signed-off-by: Marek Vasut <[email protected]>
2026-03-31net: bootp: Drop unused codeMarek Vasut
This code is surely unused and there are not even commented out references to the function name. Drop the code. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Kory Maincent <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2026-03-31cmd: dhcp: Select CMD_BOOTPMarek Vasut
The DHCP command depends on bootp_reset() function, which is implemented only if CMD_BOOTP is enabled. Select CMD_BOOTP to satisfy the dependency. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Tom Rini <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Kory Maincent <[email protected]>
2026-03-31net: Correct dependencies for HIFEMAC_ETHTom Rini
The HIFEMAC_ETH functionality can only work with both DM_ETH_PHY and DM_MDIO enabled (it calls one of the functions that requires both), so express this dependency in Kconfig. Signed-off-by: Tom Rini <[email protected]>
2026-03-31net: cmd: Correct dependencies for CMD_PXETom Rini
The CMD_PXE functionality can only build with CMD_TFTPBOOT enabled (or we get undefined references to do_tftpb), so express this dependency in Kconfig. Signed-off-by: Tom Rini <[email protected]>
2026-03-31rtl8169: add support for RTL8125dJaven Xu
This patch adds support for RTL8125d. Its chip version is 0x6a. Signed-off-by: Javen Xu <[email protected]> [jf: add missing comma] Signed-off-by: Jerome Forissier <[email protected]>
2026-03-31net: lwip: nfs: fix buffer overflow when using symlinksPranav Tilak
When resolving a symlink, nfs_path points into a heap allocated buffer which is just large enough to hold the original path with no extra space. If the symlink target name is longer than the original filename, the write goes beyond the end of the buffer corrupting heap memory. Fix this by ensuring nfs_path always points to a buffer large enough to accommodate the resolved symlink path. Fixes: 230cf3bc2776 ("net: lwip: nfs: Port the NFS code to work with lwIP") Signed-off-by: Pranav Tilak <[email protected]> Acked-by: Jerome Forissier <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2026-03-31net: lwip: nfs: Add missing dependencyTom Rini
In order to use NFS with lwIP we need to select PROT_UDP_LWIP. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2026-03-31net: Rework dependencies around NET/NET_LWIP and NETDEVICESTom Rini
Functionally, both networking stacks require DM_ETH. This is because they both also require some networking devices to be enabled. Express this more correctly by having both NET and NET_LWIP select NETDEVICES. In turn NETDEVICES no longer depends on NET or NET_LWIP as it's not prompted anymore. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Jerome Forissier <[email protected]>
2026-03-31phy: micrel: ksz90x1: Issue PHY soft reset during configurationBoon Khai Ng
- Add a call to phy_reset() in ksz9031_config() to ensure the PHY is properly reset during initialization. - This clears the power-down bit and ensures the PHY recovers correctly after Linux reboot. Tested on Agilex5 hardware with KSZ90X1 PHY. Signed-off-by: Boon Khai Ng <[email protected]>
2026-03-31net: dwc_eth_xgmac: Move DMA reset and pad calibration after PHY initBoon Khai Ng
- Move DMA software reset and pad calibration in xgmac_start() to occur after the PHY is initialized and connected. - This ensures the PHY is ready before performing these operations, which is necessary for proper recovery after reboot. This change fixes issues where the PHY did not recover from power-down state after a Linux reboot, for the board using Micrel KSZ90x1 PHY. Signed-off-by: Boon Khai Ng <[email protected]>
2026-03-31net: Rework some symbol dependenciesTom Rini
As exposed by "make randconfig", we have a few dependency issues with some network drivers: - Both HIFEMAC_ETH and HIGMACV300_ETH functionally require both DM and OF_CONTROL. Further, HIFEMAC_ETH needs DM_CLK not just CLK to be selected. - BNXT_ETH deals with it's PCI requirement in a backwards way. The symbol PCI_INIT_R is board specific, PCI alone is required to build. Signed-off-by: Tom Rini <[email protected]>
2026-03-31net: pcs-airoha: fix allyesconfig buildingMikhail Kshevetskiy
Airoha PCS driver depends on ARCH_AIROHA, so it should not be built by allyesconfig configuration. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-31net: pcs-airoha: unify code using SCU regmap helperMikhail Kshevetskiy
Use common code to get CHIP_SCU registers instead of driver one. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-31net: airoha: probe airoha switch mdio on airoha_eth probingMikhail Kshevetskiy
Airoha switch mdio maybe used not only by GDM1, but also by other GDM ports (ex: as21xxx phy connected to GDM2 port). So it's better probe airoha switch mdio a bit early in the airoha_eth_probe() code. Also remove useless eth_phy_set_mdio_bus() call and related code. Signed-off-by: Mikhail Kshevetskiy <[email protected]>
2026-03-30configs: imx93-phycore_defconfig: Enable CMD_USB_MASS_STORAGEWadim Egorov
This allows us to expose MMC devices to the host for easy flashing via USB. Signed-off-by: Wadim Egorov <[email protected]> Reviewed-by: Primoz Fiser <[email protected]>
2026-03-30configs: phycore_am62x_a53_defconfig: Enable CMD_USB_MASS_STORAGEWadim Egorov
This allows us to expose MMC devices to the host for easy flashing via USB. Signed-off-by: Wadim Egorov <[email protected]>
2026-03-30console: Prefer currently selected serial console as stdio deviceMarek Vasut
Adjust the scan for default console stdio device to prefer the currently selected serial device. This is useful in combination with CONFIG_SERIAL_PROBE_ALL=y, in which case the system would instantiate all serial devices as stdio devices in the order in which they are listed in control DT. The currently selected serial device may not be the first device listed in DT, in which case the current console_init_r() implementation unexpectedly switches to another serial console after listing stderr using "Err:" line, and just before showing U-Boot shell, which is not the desired behavior. The scan now iterates over the entire list of stdio devices. If the current iterator stdio device is the current serial device, or there is no input or output stdio device assigned to the input or output stream yet, then the current iterator stdio device is assigned to that stream. This way, the first suitable stdio device is assigned to the stream, but the current serial console stdio device can override that assignment. As a small optimization, if the current iterator stdio device is the current serial device and both input and output streams as assigned, then the loop can terminate, because the current serial device has a chance to be used as a stdio device at this point. Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Simon Glass <[email protected]>
2026-03-30core: Rework REGMAP symbols implementationTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for REGMAP (and xPL variants). As this is a library function, it should always be selected and not depended on by other functionality. This is largely done correctly today, so just correct the few outliers. Acked-by: Anshul Dalal <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30usb: isp1760: Correct dependencies for USB_ISP1760Tom Rini
As exposed by "make randconfig", we have an issue with the dependencies for USB_ISP1760. It depends on DM && OF_CONTROL being set and functionally requires REGMAP. As part of fixing that issue, we change "tristate" to "bool" and remove mentions of module support as that's not a thing in U-Boot. Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30test: Correct dependencies for SPL_UNIT_TESTTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for SPL_UNIT_TEST. In order to test SPL_DM_DEVICE_REMOVE we also need to have ensured that SPL_DM is enabled, so select that as well. Signed-off-by: Tom Rini <[email protected]>
2026-03-30timer: Correct dependencies for SPL_TIMERTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for SPL_TIMER. This depends not just on SPL but also SPL_DM to function, so add that. Signed-off-by: Tom Rini <[email protected]>
2026-03-30pinctrl: Correct dependencies for PINCTRL_TH1520Tom Rini
As exposed by "make randconfig", we have an issue with the dependencies for PINCTRL_TH1520. It really needs to depend on PINCTRL_GENERIC rather than select it, and PINCTRL_GENERIC in turn already depends on PINCTRL_FULL. Signed-off-by: Tom Rini <[email protected]>
2026-03-30misc: Correct dependencies on QCOM_GENITom Rini
As exposed by "make randconfig", we have an issue with the dependencies for QCOM_GENI. The symbol PARTITION_TYPE_GUID depends on EFI_PARTITION and this driver cannot function without both being set, so select that as well. Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30input: Correct dependencies for BUTTON_KEYBOARDTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for BUTTON_KEYBOARD. This needs to also depend on DM_GPIO, and then select BUTTON as well as BUTTON_GPIO, in order to meet all its requirements. Reviewed-by: Casey Connolly <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2026-03-30SPL: Rework logic around SPL_BLK_FS (and SPL_NVME)Tom Rini
As exposed by "make randconfig", we have an issue around SPL_BLK_FS. This is functionally a library type symbol that should be selected when required and select what it needs. Have SPL_BLK_FS select SPL_FS_LOADER and then SPL_NVME will now correctly select SPL_FS_LOADER via SPL_BLK_FS. Signed-off-by: Tom Rini <[email protected]>
2026-03-30boot: Update dependencies for some UPL optionsTom Rini
As exposed by "make randconfig", we have an issue around SPL_UPL. This depends on SPL_LIBGENERIC_SUPPORT indirectly. In turn, SPL_UPL_OUT needs to next depend on SPL_UPL. Signed-off-by: Tom Rini <[email protected]>
2026-03-30boot: Update tests around network symbols in BOOT_DEFAULTS_CMDSTom Rini
As exposed by "make randconfig", we have an issues around a number of symbols in BOOT_DEFAULTS_CMDS. Due to the nature of how we currently handle other networking related command options, we need to be testing for "!NO_NET" (which is the symbol for no networking stack) or "NET || NET_LWIP" rather than CMD_NET alone. For consistency and clarity here use "CMD_NET && !NO_NET" here. Signed-off-by: Tom Rini <[email protected]>
2026-03-30sysreset: Rework tests around SYSRESET_CMD_POWEROFFTom Rini
As exposed by "make randconfig", we have an issue around how SYSRESET_CMD_POWEROFF is typically selected. We cannot rely only on CMD_POWEROFF as SYSRESET_CMD_POWEROFF must also be tested for its own dependency of SYSRESET. Signed-off-by: Tom Rini <[email protected]>
2026-03-30xPL FIT: Rework SPL_FIT dependenciesTom Rini
As exposed by "make randconfig", we have xPL_FIT select'ing xPL_OF_CONTROL, and that in turn requires xPL_LIBGENERIC_SUPPORT. The most reasonable solution here is to have xPL_FIT select xPL_LIBGENERIC_SUPPORT. Signed-off-by: Tom Rini <[email protected]>
2026-03-30FIT: Image pre-load signature support must select not depends on FIT_SIGNATURETom Rini
The options to enable pre-load signature support (full U-Boot or in SPL) must depend on FIT_SIGNATURE being enabled, and not select it. Signed-off-by: Tom Rini <[email protected]>
2026-03-27arm: relocate: Introduce data-only relocation modeMarek Vasut
Introduce new mode of relocation which relocates only data, not code. This is mainly meant to relocate data to read-write portion of the RAM, while the code remains in read-only portion of the RAM from which it is allowed to execute. This split configuration is present on various secure cores. The result of the relocation is U-Boot running at its original address, data relocated to the end of DRAM, but with added read-write area offset. The U-Boot binary area is not reserved from the end of the DRAM in this relocation mode, because U-Boot itself is not relocated. Signed-off-by: Marek Vasut <[email protected]>
2026-03-27arm: Drop unused __XSCALE__ sectionMarek Vasut
The code in the __XSCALE__ section is unused, since there is no more XScale support in U-Boot. Remove the stale code. No functional change. Signed-off-by: Marek Vasut <[email protected]>
2026-03-27arm: Introduce current_pl() on ARM32 and compatibility current_el()Marek Vasut
The ARM32 has PLx Privilege Levels instead of Exception Levels present on ARM64. Introduce current_pl() function which reports the current PL on ARM32. Introduce current_el() for ARM32 as well and current_pl() for ARM64 which each call the other matching function. This is mainly mean to allow code like this to compile and retain compile time code coverage: if (IS_ENABLED(CONFIG_ARM64) && current_el() != 3) { ... } if (!IS_ENABLED(CONFIG_ARM64) && current_pl() != 0) { ... } Signed-off-by: Marek Vasut <[email protected]>
2026-03-27cmd: part: add part dupcheck subcommandPadmarao Begari
Add a 'part dupcheck' subcommand that scans all block devices probed in U-Boot and reports any partitions sharing the same PARTUUID or PARTLABEL. This helps detect situations where the same disk image has been flashed onto multiple boot devices (e.g., USB stick and UFS), which can lead to unpredictable boot behavior. Duplicate PARTUUIDs break UUID-based partition lookup in Linux, and duplicate PARTLABELs cause the wrong partition to be silently selected in bootscripts that reference partitions by name. A single collection pass iterates over all block devices using blk_foreach_probe() and records every partition that carries a UUID or label into a dynamically allocated alist of struct part_seen entries (UUID string, name string, device pointer, partition number). Duplicates are detected by calling detect_duplicates() twice, once for UUIDs and once for labels. Each call sorts the list with qsort() using a comparator that places empty fields at the end, then performs a single linear pass to identify consecutive equal entries as duplicate groups. Each group is reported with the device name and partition number of every copy, followed by a per-field summary count. Per-field counts are used consistently in both the duplicate-found and no-duplicates paths. Example output (with duplicates): => part dupcheck Warning: duplicate PARTUUID 1234abcd-01 (2 copies) found on usb_mass_storage.lun0:1 found on ufs_scsi.id0lun0:1 Found 1 duplicate PARTUUID(s) (2 total copies) among 4 partitions Warning: duplicate PARTLABEL primary (2 copies) found on usb_mass_storage.lun0:1 found on ufs_scsi.id0lun0:1 Found 1 duplicate PARTLABEL(s) (2 total copies) among 4 partitions Example output (mixed: UUID duplicates, no label duplicates): => part dupcheck Warning: duplicate PARTUUID 1234abcd-01 (2 copies) found on usb_mass_storage.lun0:1 found on ufs_scsi.id0lun0:1 Found 1 duplicate PARTUUID(s) (2 total copies) among 4 partitions No duplicate PARTLABELs found (3 labels) Example output (no duplicates): => part dupcheck No duplicate PARTUUIDs or PARTLABELs found (4 UUIDs, 3 labels) The CONFIG_CMD_PART_DUPCHECK Kconfig option (depends on CMD_PART and BLK) controls inclusion of this subcommand and is disabled by default. Signed-off-by: John Toomey <[email protected]> Signed-off-by: Padmarao Begari <[email protected]>
2026-03-27fs: fat: Refactor dirty flag handlingDaniel Palmer
Refactor the dirty flag handling a little bit so an inline function is called instead of directly stuffing a value into the variable. This allows variable that holds the flag to be completely removed if its not used i.e. CONFIG_FAT_WIRTE=n Signed-off-by: Daniel Palmer <[email protected]>
2026-03-27Remove confusing NULL from error messageLudwig Nussel
If no signature could be verified and the loop terminates, the iterator 'noffset' has no meaningful value so name yields NULL. Signed-off-by: Ludwig Nussel <[email protected]>
2026-03-27Add back debug output of hashed nodesLudwig Nussel
Commit 2092322b31cc ("boot: Add fit_config_get_hash_list() to build signed node list") removed printing the list of hashed nodes during verification. Add it back to have a chance to compare the list when debugging. Signed-off-by: Ludwig Nussel <[email protected]>