summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-08-08ddr: altera: agilex: Remove code redundancyAlif Zakuan Yuslaimi
Remove redundant code for MPFE CSR firewall disabled as this was already set in DTreg dts. Signed-off-by: Tien Fong Chee <[email protected]> Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08ddr: altera: soc64: Add secure region support for ATF flowAlif Zakuan Yuslaimi
Setting up firewall regions based on SDRAM memory banks configuration (up to CONFIG_NR_DRAM_BANKS banks) instead of using whole address space. First 1 MiB (0 to 0xfffff) of SDRAM is configured as secure region, other address spaces are non-secure regions. The ARM Trusted Firmware (ATF) image is located in this first 1 MiB memory region. So, this can prevent software executing at non-secure state EL0-EL2 and non-secure masters access to secure region. Add common function for firewall setup and reuse for all SoC64 devices. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08arm: socfpga: agilex: Enable system manager driver for AgilexAlif Zakuan Yuslaimi
The base address of system manager can be retrieved using DT framework through the system manager driver. Enable system manager support for Agilex by probing the system manager driver to initialize during SPL boot up. Signed-off-by: Boon Khai Ng <[email protected]> Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08arm: socfpga: agilex5: Refactor system manager driver initializationAlif Zakuan Yuslaimi
Refactor system manager initialization by searching for system manager alias in Agilex5 device tree instead of manually passing node name to the device model calling function Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08drivers: clk: agilex: Replace status polling with wait_for_bit_le32()Alif Zakuan Yuslaimi
Replace cm_wait_for_fsm() function with wait_for_bit_le32() function which supports accurate timeout. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08drivers: watchdog: Enable watchdog support in SPL for AgilexAlif Zakuan Yuslaimi
Enable watchdog as early as possible after clock initialization which is set at 10 seconds. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08arm: socfpga: Enable ASYNC interrupts in Agilex SPLTien Fong Chee
Asynchronous aborts were previously masked at SPL entry. To ensure early detection of system errors such as ECC faults or bus errors, asynchronous aborts should be explicitly unmasked by clearing the A-bit in the DAIF register during Agilex SPL initialization. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]> # Conflicts: # arch/arm/mach-socfpga/spl_agilex.c
2025-08-08arm: socfpga: Update Agilex SPL data save and restore implementationAlif Zakuan Yuslaimi
Enable backup for data section to support warm reset in Agilex SPL as no SPL image would be reloaded in warm reset. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08board: phytec: phycore-imx93: Add VOLT_LOW_DRIVE frequency fixupPrimoz Fiser
For phyCORE-i.MX93 SoMs with i.MX93 parts running in VOLT_LOW_DRIVE mode (SoCs with speed grade fuse set to 900 MHz) reduce usdhc clocks from 400 MHz to 266 MHz. Do this in board code since global imx9 board_fix_fdt() is not used in case of phycore-imx93 board since commit d3b9b7996889 ("board: phytec: imx93: Add eeprom-based hardware introspection"). While at it, add a note to ft_board_setup() function to inform that fixup for Linux device-tree is taken care by ft_system_setup() in imx9 global arch/arm/mach-imx/imx9/soc.c implementation. Signed-off-by: Primoz Fiser <[email protected]>
2025-08-08imx9: soc: Reuse and export low_drive_freq_update()Primoz Fiser
Reuse and export low_drive_freq_update() function. This way global imx9 board_fix_fdt() doesn't duplicate code. While low_drive_freq_update() can be reused on boards such as phyCORE-i.MX93 (TARGET_PHYCORE_IMX93) which is not using the global imx9 board_fix_fdt() implementation. While at it, make printout logic less verbose by only outputting on the error condition and not on each successful clock fixup. Also drop now invalid comment (low_drive_freq_update() now does fixup for internal and kernel device-tree). Signed-off-by: Primoz Fiser <[email protected]>
2025-08-08arm: socfpga: agilex: Probe DT for firewall setupAlif Zakuan Yuslaimi
Update Agilex SPL code to implement device tree model for firewall registers setup by using DTreg driver to probe from device tree for the firewall settings instead of calling firewall driver function. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08arch: arm: dts: agilex: Update Agilex device treeAlif Zakuan Yuslaimi
Update exisitng Agilex device tree to support multiple flashes boot - MMC, QSPI and NAND. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08configs: agilex: Combine defconfig for all boot flashesAlif Zakuan Yuslaimi
Combine all MMC, NAND and QSPI configs into single defconfig which is named as "socfpga_agilex_defconfig". This will be the default defconfig to use. It supports booting from all three flashes using ARM Trusted Firmware (ATF) as the secure runtime monitor. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08drivers: clk: agilex: Use real clock source frequencyAlif Zakuan Yuslaimi
Update the ARMv8 generic timer frequency register (cntfrq_el0) with the actual hardware timer frequency (COUNTER_FREQUENCY_REAL). The generic timer frequency was set to 0x200000000 during boot clk which needs to be set to 0x400000000 when transition from boot clk to PLL clk. This will ensure that subsequent timer operations are based on the correct frequency, ensuring accurate timekeeping. Signed-off-by: Alif Zakuan Yuslaimi <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08net: dwc_eth_xgmac_socfpga: Remove always true testAndrew Goodbody
In dwxgmac_of_get_mac_mode there is a test for mac_mode which will return if false. After this point mac_mode is guaranteed to be true so there is no need to test for this. Remove that test. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08net: dwc_eth_xgmac: Use unwind goto on errorAndrew Goodbody
In xgmac_probe there is a direct return after the point where unwind gotos start to be used to undo actions performed by earlier code. Use the appropriate unwind goto instead. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Tien Fong Chee <[email protected]>
2025-08-08doc: spl: fix typo 'TPL' to 'VPL'Leo Yu-Chi Liang
Fix typo: change 'TPL' to 'VPL'. Signed-off-by: Leo Yu-Chi Liang <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]>
2025-08-08efi_loader: Support loading a ramdisk with bootefiSimon Glass
It is sometimes useful to be able to boot via EFI using a Linux initrd. Add support for this. Fix a 'specifiy' typo while here. Signed-off-by: Simon Glass <[email protected]> Reviewed-by: Heinrich Schuchardt <[email protected]> Reviewed-by: Mark Kettenis <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2025-08-08doc: qemu-riscv: describe running as flash imageHeinrich Schuchardt
Describe how to build U-Boot to be run by QEMU as an emulated flash image. Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-08-08tools: mkeficapsule: resource leak in read_bin_file()Heinrich Schuchardt
Free the allocated buffer in case of an error. Fixes: 9e63786e2b4b ("tools: mkeficapsule: rework the code a little bit") Addresses-Coverity-ID: 345917 Resource leak Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-08-07pylibfdt: setup.py: Drop license_filesTom Rini
On more recent versions of setuptools the warning about not being able to find the files specified in license_files has re-appeared. This is because as best I can tell, it can't and won't look in $(srctree) but rather only subdirectories of scripts/dtc/pylibfdt. Since we already provide both SPDX tags and a license field with the SPDX contents, let us just drop license_files as it's not mandatory. Signed-off-by: Tom Rini <[email protected]>
2025-08-07virtio: fix freeing of virtio ring bufferHeinrich Schuchardt
If the allocation if the bounce buffer fails, virtio_free_pages is called with a random value from the stack. Ensure that vring.size is initialized. Fixes: 37e53db38bdb ("virtio: Allocate bounce buffers for devices with VIRTIO_F_IOMMU_PLATFORM") Addresses-Coverity-ID: 453314 Uninitialized scalar variable Signed-off-by: Heinrich Schuchardt <[email protected]>
2025-08-07meminfo: correct "free" memory region sizeShiji Yang
The size of free memory should be $lmb_base - $ram_base. Signed-off-by: Shiji Yang <[email protected]>
2025-08-07mtd: spi-nor: Fix return value of s25_s28_mdp_ready()Takahiro Kuwano
s25_s28_mdp_ready() returns 1 when spansion_sr_ready() returns negative value (error code). Fix this problem by following Linux implementation. Fixes: 1c3dd193b5b ("mtd: spi-nor-core: Add fixups for Cypress s25hl-t/s25hs-t") Reported-by: Hiroyuki Saito <[email protected]> Signed-off-by: Takahiro Kuwano <[email protected]> Reviewed-by: Tudor Ambarus <[email protected]>
2025-08-07drivers: scsi: fix inaccurate block count reporting in scsi operationsBalaji Selvanathan
The 'blks' variable in scsi_read/write/erase functions is updated regardless of pass/fail of the scsi operation . If the scsi operation fails, 'blkcnt' is updated using an incorrect value of 'blks'. This wrong 'blkcnt' is returned to the caller and it assumes all blocks were processed correctly. Fix this by updating the 'blks' variable only if the scsi operation succeeds. Signed-off-by: Balaji Selvanathan <[email protected]> Signed-off-by: Varadarajan Narayanan <[email protected]> Reviewed-by: Neil Armstrong <[email protected]>
2025-08-07Merge patch series "arm: dts: k3-am62a: remove GP security variant for AM62A"Tom Rini
Bryan Brattlof <[email protected]> says: The AM62Ax was created right when TI was shifting to their high security (HS-FS and HS-SE) processes. During this transition a small subset of AM62A parts where configured to use the old "GP" security for internal and for select groups of partners but never sold for the wider public. To help simplify the build and to avoid any confusion of which security configurations are supported going forward remove the GP builds for the AM62A SoCs. Link: https://lore.kernel.org/r/[email protected]
2025-08-07arm: dts: k3-am62a-phycore: remove GP tiboot3 buildsBryan Brattlof
The AM62Ax SoC family was the last part from TI to support the GP security variant, however this security variant was used mostly internally and with select early partners and never sold publicly. To simplify things and to avoid any confusion on which parts are supported in the future, remove the GP tiboo3.bin builds from binman. Signed-off-by: Bryan Brattlof <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]> Acked-by: Wadim Egorov <[email protected]>
2025-08-07arm: dts: k3-am62a-sk: remove GP tiboot3 buildsBryan Brattlof
The AM62Ax SoC family was the last part from TI to support the GP security variant, however this security variant was used mostly internally and with select early partners and never sold publicly. To simplify things and to avoid any confusion of which parts are supported in the future, remove the GP tiboot3.bin builds from binman. Signed-off-by: Bryan Brattlof <[email protected]> Reviewed-by: Neha Malcom Francis <[email protected]>
2025-08-07dts: imx8m{m,n,p,q}: Make optee packaging optionalYannic Moog
binman can omit packaging an optional blob when it is missing. This allows us to not bother with config options. The core challenge is the interaction between tf-a and OP-TEE where U-Boot/binman does not know whether tf-a was built with SPD=opteed or without. This is important because tf-a might jump into the void when no optee_os is present, leading to boot failure. Thus by marking it optional, user is prompted to recheck (due to the warning message) whether they really have the right combination of tf-a and optee. Due to a bug in binman, we had to guard binman tee.bin with OPTEE config as builds would error when tee.bin was not present in path; Even though optee_os was marked as optional in the binman tree. Since the bug has been resolved in commit d4f61eae2ab7 ("Merge patch series "Fix handling of optional blobs in binman"") we can mark it optional again without getting build errors. Note that after this commit a warning will be printed when optee is not present for a binman build. Image 'image' is missing optional external blobs but is still functional: tee-os /binman/section/fit/images/tee/tee-os (tee.bin): See the documentation for your board. You may need to build Open Portable Trusted Execution Environment (OP-TEE) and build with TEE=/path/to/tee.bin Signed-off-by: Yannic Moog <[email protected]>
2025-08-07net: fec_mxc: Set error code on error exitAndrew Goodbody
In fecmxc_probe if a timeout is detected when resetting the chip no error code is set before taking the error exit. This could lead to a silent failure. Instead set an error code. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-07ARM: imx6: dh-imx6: Enable USB OTG ID pin pull up in SPLMarek Vasut
Enable SoC pull up for USB OTG ID pin in SPL. There is no dedicated pull up resistor on the SoM itself, and the pull up is mandatory for correct USB OTG ID pin detection. U-Boot proper already configures the USB OTG ID pin pull up via DT pinctrl node entry. Signed-off-by: Marek Vasut <[email protected]> Tested-by: Christoph Niedermaier <[email protected]>
2025-08-07imx: scu_api: Remove unnecessary NULL checkAndrew Goodbody
In sc_seco_secvio_dgo_config there is a check for data being NULL but this occurs after data has already been dereferenced. All callers of the function provide a valid pointer for data so no need for the NULL check. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-07imx8m: clock: Correct imx8mm_fracpll_tblPeng Fan
The minimum frequency of Fref (Fin / p) is 6MHz for the PLL AC Electrical Characteristics. Setting p with 9 or 8 voilates the Spec. Update the settings to match Spec. Signed-off-by: Peng Fan <[email protected]>
2025-08-07cpu: imx8_cpu: Provide default temperaturesAndrew Goodbody
Add setting default temperatures to the weak version of get_cpu_temp_grade so these values will not be used uninitialised. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-07imx8ulp_evk: Enable temperature commandDavid Zang
User can display temperature in the console runtime on i.MX8ULP board. Signed-off-by: David Zang <[email protected]>
2025-08-07clk: imx: Free pll on error pathAndrew Goodbody
For an unknown pll type the error path neglects to free the memory just allocated. Add the free. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]>
2025-08-06Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-shTom Rini
Various fixes for smatch warnings, the i2c one might be also coming in via Heiko / I2C tree, let me know if there is conflict. There is also W77Q51NW SPI NOR ID support, with the DT portion omitted for now.
2025-08-06arm64: renesas: r8a779g3: Enable Winbond SPI NOR support on Retronix R-Car ↵Marek Vasut
V4H Sparrow Hawk board Enable support for Winbond SPI NOR on Retronix R-Car V4H Sparrow Hawk board, this is required to support W77Q51NW on new board revision EVTB1 operational. Signed-off-by: Marek Vasut <[email protected]>
2025-08-06net: rswitch: Fix error detectionAndrew Goodbody
In rswitch_probe the error detection after the call to devm_clk_get is very wrong. It checks the value of ret which is uninitialised at that point. Instead it should be using the macros for including errors into pointers. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-08-06mtd: spi-nor-ids: Add support for Winbond W77Q51NWMarek Vasut
Add IDs for Winbond W77Q51NW, 512M-bit Secure Serial Flash Memory with Post-Quantum Cryptography, Dual/Quad SPI, QPI and DTR . The flash part is similar to W25Q512NWM . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Tudor Ambarus <[email protected]>
2025-08-06i2c: rcar_iic: Do not use unitialised variableAndrew Goodbody
In rcar_iic_xfer if nmsgs == 0 the ret will not be assigned to. As ret will always be 0 if the for loop is entered, may as well just return 0. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Heiko Schocher <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-08-06clk: renesas: Do not test unsigned variable to be less than 0Andrew Goodbody
In rcar_clk_set_rate64_div_table the unsigned variable 'value' is used to receive the return value from rcar_clk_get_table_val which returns an int and then attempts to test for being less than 0, which can never be true. Instead declare value as an int so the code can behave as expected. Also remove initial values from 'value' and 'div' as they are not needed. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <[email protected]> Reviewed-by: Marek Vasut <[email protected]>
2025-08-06Merge tag 'i2c-updates-for-2025-10-rc2' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-i2c i2c updates for v2025.10-rc2 bugfixes: - rcar_iic: do not use unitialised variable from Andrew - fix coverity issue in cmd/i2c.c from Heiko new driver: late, but hopefully okay for rc2, as already picked up when merge window was open, but there was a problem in common code, which is now fixed - new i3c driver support from Dinesh
2025-08-06configs: agilex5_defconfig: Enable i3c configs for agilex5Dinesh Maniyam
Enable configs for i3c in agilex5. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-08-06configs: sandbox_defconfig: Enable configs for sandbox i3cDinesh Maniyam
Enable configs for sandbox i3c. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-08-06test: cmd: Add simple test for i3cDinesh Maniyam
Add simple test to check i3c controller defined in sandbox test DT. Basically, this test case will check validity of the i3c controller by probing it and perform basic commands of cmd/i3c.c Signed-off-by: Dinesh Maniyam <[email protected]>
2025-08-06cmd: Add i3c command support.Dinesh Maniyam
Add i3c command file to support select, get i3c device target list, read and write operation. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-08-06i3c: master: dw-i3c-master: Fix OD_TIMING for spike filterDinesh Maniyam
Fix the I3C device with spike filter unable to detect issue by setting tHIGH_INIT to 200ns for first broadcast address. This is according to MIPI SPEC 1.1.1 for first broadcast address which is already part of linux upstreamed patch. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-08-06drivers: i3c: master: Enable probe i3c without slave deviceDinesh Maniyam
Picked linux i3c driver upstraming patch to fix the issue to probe for i3c controller without slave device attached. With this fix, the ret check will be on command error and will success without slave device attached. Signed-off-by: Dinesh Maniyam <[email protected]>
2025-08-06drivers: i3c: Add i3c sandbox simple test.Dinesh Maniyam
Add s simple test for the I3C uclass in sandbox. Signed-off-by: Dinesh Maniyam <[email protected]>