summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
9 daysMerge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
Two trivial fixes for 2026.04 , one fix for possible NULL pointer dereference which was not triggered thus far but got detected on Gen5 RSIP, and one basic disablement of SCIF1 in DT to which a driver was never bound. But it would be nice to have them corrected.
9 daysarm64: dts: renesas: Disable SCIF1 in Renesas R-Car X5H R8A78000 SoC DTMarek Vasut
Disable incorrectly enabled SCIF1 in Renesas R-Car X5H R8A78000 SoC DT. The SCIF1 should be enabled on board DT level in case it is needed, but should be disabled in SoC DT by default. This had no adverse effect on the currently upstream platforms, because those managed to probe only the HSCIF0 device and SCIF1 was ignored. Signed-off-by: Marek Vasut <[email protected]>
9 daysnet: 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]>
10 daysRevert "usb: cdns3: use VBUS Valid to determine role for dr_mode OTG"Prasanth Babu Mantena
While USB DFU boot works with this patch, but the non USB boot modes like SD Boot and flash boot fails for J784S4 EVM device. So, Reverting this patch. This reverts commit bfb530e06ca6c19f66c079601e568c761a001993. Signed-off-by: Prasanth Babu Mantena <[email protected]>
10 dayslinker_lists.h: drop never used ll_start, ll_end macrosRasmus Villemoes
These macros have AFAICT never been used at all. It's also far from clear what purpose it could serve - for one thing, what _type would one pass, other than void perhaps? The example using "struct my_sub_cmd" seems misplaced, as how could one know that the first linker list consists of those, and moreover, how would one know how many there are? The linker list concept is fragile enough on its own, there is no need to have unused functionality lying around that may or may not bitrot and certainly will confuse readers of linker_lists.h. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Simon Glass <[email protected]>
10 daysacpi: Correct dependencies for GENERATE_ACPI_TABLEnextTom Rini
In order to build this code, outside of QEMU systems which instead have provided tables that we use, we must select ACPIGEN as well. Signed-off-by: Tom Rini <[email protected]>
10 daysspi: Correct dependency on SPI_MEM for many driversTom Rini
A large number of drivers "depends on" SPI_MEM but this is library type functionality and so must be select'd instead in order to ensure that drivers will build. Correct this usage and hide the symbol normally. Signed-off-by: Tom Rini <[email protected]>
10 daysmisc: Add missing dependency to CROS_EC_SANDBOXTom Rini
In order to build CROS_EC_SANDBOX we must also have the hashing API enabled, add that as a dependency. Signed-off-by: Tom Rini <[email protected]>
10 daysgpio: Correct dependencies for legacy CMD_PCA953XTom Rini
The legacy CMD_PCA953X command can only be built when the matching legacy driver is enabled, add that dependency to Kconfig. Signed-off-by: Tom Rini <[email protected]>
10 daysclk: Add missing dependency for SANDBOX_CLK_CCFTom Rini
In order to build SANDBOX_CLK_CCF we need for CLK_CCF to be enabled, add that as a select similar to other drivers. Signed-off-by: Tom Rini <[email protected]>
10 dayscmd: Add missing dependency to CMD_PMCTom Rini
We cannot build CMD_PMC without ACPI_PMC, so add that as a dependency. Signed-off-by: Tom Rini <[email protected]>
10 daysboot: Add DM_RTC as a dependency to CEDITTom Rini
The CEDIT functionality, due to the cmos functions, depends directly on DM_RTC being enabled in order to provide that API. Express this in Kconfig as well. Signed-off-by: Tom Rini <[email protected]>
10 daysloads: Add LMB as a dependencyTom Rini
As this command calls lmb_alloc_mem directly it must depend on LMB being enabled. Signed-off-by: Tom Rini <[email protected]>
10 dayslmb: Correct dependency around CMD_BOOT[IMZ]Tom Rini
The calls around lmb functions for these commands are not specific to SYS_BOOT_RAMDISK_HIGH but rather part of the general loading portion of the command itself currently. Move this dependency to the right spot. Signed-off-by: Tom Rini <[email protected]>
10 daysenv: Make use of IF_ENABLED_INT in spi flash supportTom Rini
In order to build the spi flash environment driver, but with CONFIG_ENV_REDUNDANT disabled we must make use of IF_ENABLED_INT to check for a value in CONFIG_ENV_OFFSET_REDUND otherwise we will fail to build. Signed-off-by: Tom Rini <[email protected]>
10 daysenv: Correct dependency for ENV_IS_IN_NANDTom Rini
In order to have ENV_IS_IN_NAND be valid we must have MTD_RAW_NAND enabled as a minimum, express this dependency in Kconfig. Signed-off-by: Tom Rini <[email protected]>
10 daysrtc: Update Kconfig dependenciesTom Rini
Update the dependencies for RTC drivers which did not express a requirement on DM_RTC, or in some cases on DM_RTC being disabled. In a few cases, when DM_RTC is disabled we also require DM_I2C to also be disabled or for POWER_LEGACY to be enabled. Signed-off-by: Tom Rini <[email protected]>
10 daysrtc: ds1337: Remove various legacy code and update dependenciesTom Rini
At this point there are no users of this driver which do not enable DM_RTC, so remove the legacy code and express the depdendency in Kconfig. We can further remove code related to RTC chips / options that are neither available in Kconfig nor set by any platforms. Signed-off-by: Tom Rini <[email protected]>
10 daysrtc: Remove legacy DS1338 supportTom Rini
The DS1338 RTC chip is supported in DM mode by the DS1307 driver, and at this point all users have been using this functionality. It was a function of Kconfig configuration that implied otherwise. Remove the unused legacy symbols. Signed-off-by: Tom Rini <[email protected]>
10 daysbootcount: Give i2c-eeprom a unique identifierTom Rini
Every U_BOOT_DRIVER entry must be unique and this driver was re-using the name of the bootcount_spi_flash driver. Change to bootcount_i2c_eeprom. Reviewed-by: Michael Trimarchi <[email protected]> Signed-off-by: Tom Rini <[email protected]>
10 dayssata: Rework the CMD_SATA and SATA symbolsTom Rini
Today we typically enable CMD_SATA in order to have the SATA functionality itself enabled, despite there being a clean split between the two symbols. This in turn leads to potential configuration problems. Split things so that SATA continues to be separate and not CMD_SATA instead depends, functionally, on AHCI being enabled. To do all of this: - Have X86 select AHCI directly rather than "default y" it later. - Make CMD_SATA be a default y option, given the split of platforms that enabled SATA and did, or did not, enable CMD_SATA. - Change "imply CMD_SATA" to "imply SATA" - Correct TARGET_VEXPRESS64_JUNO because you cannot select SATA_SIL without PCI (and in turn, SATA is needed for SATA_SIL). - Update a number of defconfigs to have no functional change. Signed-off-by: Tom Rini <[email protected]>
10 daysglobal: Audit Kconfig usage of PARTITION_TYPE_GUIDTom Rini
It is not functionally possible to use the code enabled by PARTITION_TYPE_GUID without having EFI_PARTITION be enabled as well. Not all users of the former had ensured that the latter was enabled however, so audit all current users and then as appropriate select or imply EFI_PARTITION as needed. Signed-off-by: Tom Rini <[email protected]>
10 daysoptee: Correct dependencies for BOOTM_OPTEETom Rini
As exposed by "make randconfig", we have an issue with the dependencies for BOOTM_OPTEE. This symbol needs to select BOOTM_LINUX and in turn depend on the library symbols that have to be enabled for BOOTM_LINUX to be valid (LIB_BOOTI, LIB_BOOTM and LIB_BOOTZ). Reviewed-by: Marek Vasut <[email protected]> Signed-off-by: Tom Rini <[email protected]>
10 dayssandbox: Add missing select's to the architecture symbolTom Rini
As exposed by "make randconfig", we have an issues around a number of symbols that we select without making sure to also select their prerequisite symbols. Add these missing symbols. Signed-off-by: Tom Rini <[email protected]>
11 days.mailmap: Fix Jerome's entryMichal Simek
When patman is used email address is composed together with both email address from .mailmal file. Having two commit emails is not proper format. Error: error: unable to extract a valid address from: Jerome Forissier <[email protected]@forissier.org> Fixes: f2566c3a71a5 ("MAINTAINERS: update my email address") Signed-off-by: Michal Simek <[email protected]> Acked-by: Jerome Forissier <[email protected]> Reviewed-by: Simon Glass <[email protected]>
11 dayspowerpc/mpc83xx: Move alignment padding into __u_boot_list sectionJ. Neuschäfer
u-boot-dtb.bin is built by concatenating u-boot-nodtb.bin and u-boot.dtb. u-boot-nodtb.bin, in turn, is generated by objcopy'ing the contents of u-boot (U-Boot in ELF format) into a raw file. In order to find the bundled FDT (u-boot.dtb), the code in lib/fdtdec.c uses the _end symbol. Platform-specific linker scripts ensure that _end is 8-byte aligned, which is required by libfdt. For the PowerPC MPC83xx platform, the ALIGN(8) directive was outside a section, with the unfortunate effect that the potentially generated padding bytes would not be copied by objcopy. This resulted in a discrepancy between the _end symbol on the one hand, and the size of u-boot-nodtb.bin and thus the starting location of the actual FDT on the other side. Under these conditions, the FDT could not be found and boot would fail early. This commit fixes it by moving the ALIGN(8) into the __u_boot_list section, which is non-empty and thus copied into u-boot-nodtb.bin. Signed-off-by: J. Neuschäfer <[email protected]> Reviewed-by: Tom Rini <[email protected]>
11 dayscmd: test: add bug-compatibility special case for 'test -n'Rasmus Villemoes
It turns out that there is lots of code in the wild, including in the U-Boot tree itself, which used to rely on test -n $somevar to yield false when $somevar is not defined or empty. See for example all the occurrences of 'test -n $fdtfile'. That was really only a quirk of the implementation that refused calls with argc < 3, and not because it was interpreted as test -n "$somevar" which is how this should be spelled. While not exactly conforming to POSIX, we can accomodate such scripts by special-casing a single argument "-n" to be interpreted as if it comes from code as above with empty $somevar. Since we only just added the ability to test a string for emptiness using the single-argument form, it is very unlikely that there is code doing test "$str" which would now fail if $str happens to be exactly "-n"; such a test should really always be spelled test -n "$str" Fixes: 8b0619579b2 ("cmd: test: fix handling of single-argument form of test") Reported-by: Franz Schnyder <[email protected]> Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Simon Glass <[email protected]>
11 daysMerge tag 'u-boot-imx-next-20260402' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-imx into next CI: https://source.denx.de/u-boot/custodians/u-boot-imx/-/pipelines/29745 - Migrate imx95-toradex-smarc to use upstream devicetree. - Force fsl crypto driver to select ARCH_MISC_INIT to avoid crashes when using CAAM. - Support upstream Linux reset-gpios property for the i.MX PCI driver. - Avoid duplication of DDR tables on i.MX8MP DHCOM SoM. - Several cleanups on tqma6 platform. - Convert i.MX8MP boards to DM_PMIC. - Add phyCORE-i.MX91 support. - Drop unnecessary BOARD_EARLY_INIT_F usage.
11 daysarm: relocate: Make data-only relocation mode non-user-configurableMarek Vasut
The data only relocation mode should be selected on per-SoC or per-core basis, make these options non-user-configurable. The SoC or cores which require this have to select this option using "default" keyword. Fixes: d9eee3d17882 ("arm: relocate: Introduce data-only relocation mode") Signed-off-by: Marek Vasut <[email protected]>
11 daysserial: pl011: Remove legacy serial driver optionsTom Rini
There are no longer any users of the legacy non-DM pl01x serial driver. This lets us remove both CONFIG_PL011_SERIAL as well as CONFIG_PL011_SERIAL_RLCR references. We still have SPL users of the non-DM portions of the code. Signed-off-by: Tom Rini <[email protected]>
11 daysenv: flash: add catch-all for unrecognized flags in env_flash_init()Neil Berkman
When both environment copies have valid CRCs but the flag bytes do not match any recognized pair, env_flash_init() falls through without setting gd->env_addr or gd->env_valid. This is a problem because: 1. env_init() then sets gd->env_addr = &default_environment (in RAM). 2. In env_flash_load(), the pointer comparison gd->env_addr != &flash_addr->data evaluates true (RAM != flash), triggering the pointer swap that selects the secondary copy. 3. The repair logic writes OBSOLETE (0x00) to the non-active flag but cannot promote the other flag from 0x00 to ACTIVE (0x01) because NOR flash requires a sector erase to set bits. Both copies end up with flag=0x00. 4. On every subsequent boot, flag1 == flag2 triggers the ENV_REDUND path, printing a spurious "recovered successfully" warning until an explicit saveenv erases and rewrites the sectors. The recognized flag values are ACTIVE (0x01), OBSOLETE (0x00), and erased (0xFF). Of the 256 possible flag values, the existing chain of if/else-if handles only three: 253 of 256 values fall through without setting gd->env_addr. Combined with 0x00 (already stuck on NOR), 254 of 256 values eventually reach the persistent-warning state. Other env backends (SPI flash, NAND, MMC) handle this through env_check_redund() in env/common.c, which uses a numeric comparison of the flags as a serial counter and always reaches a decision. The CFI flash backend is the only one that uses its own flag-matching logic. Add a catch-all else clause that defaults to the primary copy with ENV_REDUND status, matching the existing behavior for the flag1==flag2 case. This ensures gd->env_addr is always set, preventing the unintended pointer swap. The condition is recoverable via saveenv. Signed-off-by: Neil Berkman <[email protected]> Reproducer: https://gist.github.com/neilberkman/4155612a7942d3f510f204eb85e61943 The SPI flash backend (env/sf.c) has a related but distinct issue: it retained legacy boolean save semantics but its load path now uses the common serial-number logic in env_check_redund(), creating an inconsistency under interrupted updates. That has wider implications for fw_env.c and would need separate discussion.
12 daystqma6: remove board MAINTAINERSMax Merchel
All information is contained in the global MAINTAINERS or TQ board MAINTAINERS. Signed-off-by: Max Merchel <[email protected]>
12 daystq: add TQ board MAINTAINERSMax Merchel
Add MAINTAINERS file containing board-specific information and the name of the board maintainer. Signed-off-by: Max Merchel <[email protected]>
12 daysMAINTAINERS: update entry for TQ-SystemsMarkus Niebel
- change TQ GROUP to TQ-Systems - add TQ mailing list - remove custodian tree - add board directory - add board configs - add board device trees - add board documentation directory - add shared environment directory Signed-off-by: Markus Niebel <[email protected]> Signed-off-by: Max Merchel <[email protected]>
12 daysarm64: imx8mp: Add 4G 1r DRAM timings on DH i.MX8MP DHCOM SoMMarek Vasut
Introduce timing patch which converts 2 GiB DRAM timings to 4 GiB 1-rank timings. This is a new configuration which carries IS43LQ32K01B DRAM part. The 512 MiB SoM strapping that was never used is repurposed for this part. Signed-off-by: Marek Vasut <[email protected]>
12 daysarm64: imx8mp: Deduplicate 2G and 4G 2r DRAM timings on DH i.MX8MP DHCOM SoMMarek Vasut
The 2 GiB and 4 GiB 2-rank DRAM timings on i.MX8MP DHCOM are very similar. Instead of carrying around two copies of almost identical timing tables, implement a patch of the 2 GiB table to convert it into 4 GiB 2-rank table and pass the result to DRAM initialization code. This saves us 13640 Bytes in SPL, and frees up space for more DRAM initialization tables. Signed-off-by: Marek Vasut <[email protected]>
12 daysarm64: imx8mp: Deduplicate DRAM size tables on DH i.MX8MP DHCOM SoMMarek Vasut
The DRAM size tables are shared by SPL and U-Boot proper, deduplicate those tables into lpddr4_timing.h . No functional change. Signed-off-by: Marek Vasut <[email protected]>
12 daysarm64: imx8mp: Fold inline ECC into spl.c on DH i.MX8MP DHCOM SoMMarek Vasut
The inline ECC configuration is identical for 2 GiB DRAM variants and 4 GiB DRAM variants of the SoM, no matter the rank count. Fold the ECC configuration directly into spl.c to simplify the upcoming deduplication. No functional change. Signed-off-by: Marek Vasut <[email protected]>
12 daysimx8mp: icore-edimm2.2: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]>
12 daysimx8mp: libra-fpsc: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Yannic Moog <[email protected]> Reviewed-by: Teresa Remmet <[email protected]>
12 daysimx8mp: verdin: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Tested-by: Ernest Van Hoecke <[email protected]>
12 daysimx8mp: phyboard-pollux-rdk: Convert to DM_PMICPeng Fan
Convert the board to use DM_PMIC instead of the legacy SPL I2C/PMIC handling. Changes include: - Enable DM_PMIC, DM_PMIC_PCA9450, and SPL_DM_PMIC_PCA9450 in defconfig. - Drop legacy SPL I2C and PMIC options. - Remove manual I2C1 pad setup and legacy power_pca9450_init() usage. - Use DM-based pmic_get() with the DT node "pmic@25". - Update PMIC register programming to use struct udevice API. Signed-off-by: Peng Fan <[email protected]> Reviewed-by: Yannic Moog <[email protected]> Tested-by: Yannic Moog <[email protected]> Reviewed-by: Teresa Remmet <[email protected]>
12 daysconfigs: toradex-smarc-imx95: Add gpio-hog supportFranz Schnyder
On the SMARC iMX95 the WiFI UART and JTAG signals are shared. The WIFI_UART_EN signal is used to select between these two modes. Currently, there is no hog present in the device tree but the configuration needs to be added, as once the device tree comes from mainline Linux, a hog will drive WIFI_UART_EN high to select by default the UART function during boot. Enable CONFIG_GPIO_HOG to apply gpio-hog definitions in the device tree. Signed-off-by: Franz Schnyder <[email protected]>
12 daysarm: dts: imx95-toradex-smarc: migrate to OF_UPSTREAMFranz Schnyder
Allow CONFIG_OF_UPSTREAM to receive automatic device tree updates for the Toradex SMARC iMX95. Remove the now obsolete device tree files: - imx95-toradex-smarc-dev.dts - imx95-toradex-smarc.dtsi Signed-off-by: Franz Schnyder <[email protected]>
12 dayslibrem5: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]>
12 dayso4-imx6ull-nano: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]>
12 daysmx6ullevk: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
12 daysmx6sxsabreauto: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
12 daysmx6sllevk: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]> Reviewed-by: Peng Fan <[email protected]>
12 daysimx93_frdm: Drop unnecessary BOARD_EARLY_INIT_F usageTom Rini
This platform enables CONFIG_BOARD_EARLY_INIT_F and then has a do-nothing board_early_init_f function. Change to not enabling the option and so not needing an empty function. Signed-off-by: Tom Rini <[email protected]>