summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-08-08arm: socfpga: misc: Exclude Agilex from clock manager base address retrievalAlif Zakuan Yuslaimi
Agilex retrieves its clock manager address via probing its own clock driver model during the SPL initialization. Therefore, excluding Agilex from calling its clock driver in misc driver to retrieve the clock manager address. Once all SoC64 devices has been successfully transition to clock driver model method, this implementation will be cleaned up. Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-08-08include: configs: socfpga: Add environment variables for distro bootAlif Zakuan Yuslaimi
Added environment variables needed to support NAND distro boot Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-08-08ddr: altera: agilex: Get ACF from boot scratch registerAlif Zakuan Yuslaimi
The DDR data rate must be set correctly in the DDRIOCTRL register according to the Actual Clock Frequency (ACF) value. By enabling the reading of ACF value from bit 18 of the boot scratch register during initialization, the DDR data rate is able to be configured accurately. Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
2025-08-08arm: socfpga: Define the usage of boot scratch cold reg 8Alif Zakuan Yuslaimi
The boot scratch cold reg 8 is shared between DBE, DDR init progress update and Linux EDAC. This patch defines how the bits are used by respective features above and their macro names used in U-Boot. Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com> Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <tien.fong.chee@altera.com> Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <boon.khai.ng@altera.com> Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com> # 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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <alif.zakuan.yuslaimi@altera.com> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <andrew.goodbody@linaro.org> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <andrew.goodbody@linaro.org> Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
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 <marek.vasut+renesas@mailbox.org>
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 <andrew.goodbody@linaro.org> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
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 <marek.vasut+renesas@mailbox.org> Reviewed-by: Tudor Ambarus <tudor.ambarus@linaro.org>
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 <andrew.goodbody@linaro.org> Reviewed-by: Heiko Schocher <hs@denx.de> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
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 <andrew.goodbody@linaro.org> Reviewed-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
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 <dinesh.maniyam@altera.com>
2025-08-06configs: sandbox_defconfig: Enable configs for sandbox i3cDinesh Maniyam
Enable configs for sandbox i3c. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
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 <dinesh.maniyam@altera.com>
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 <dinesh.maniyam@altera.com>
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 <dinesh.maniyam@altera.com>
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 <dinesh.maniyam@altera.com>
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 <dinesh.maniyam@altera.com>
2025-08-06drivers: i3c: Enabled Kconfig and Makefile for DWI3CDinesh Maniyam
Enable the Kconfig and Makefile for the MIPI DWI3C driver. hs: fixed typo on drivers/i3c/master/Kconfig Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
2025-08-06drivers: Enabled Kconfig and Makefile for i3c supportDinesh Maniyam
Add new i3c driver to U-Boot drivers. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
2025-08-06drivers: i3c: Add i3c uclass driver.Dinesh Maniyam
Enable i3c general uclass driver. This uclass driver will have genaral read and write api to call the specific i3c driver. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
2025-08-06drivers: i3c: Add driver for MIPI DWI3CDinesh Maniyam
Enable driver for Synopsis MIPI DWI3C for the family device agilex5. This driver is migrated from linux version 6.6.37 LTS Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
2025-08-06drivers: i3c: Add new i3c uclass idDinesh Maniyam
Add i3c general uclass id. Signed-off-by: Dinesh Maniyam <dinesh.maniyam@altera.com>
2025-08-06cmd: i2c: fix coverity issueHeiko Schocher
coverity scan reported issue: ** CID 583415: Integer handling issues (INTEGER_OVERFLOW) /cmd/i2c.c: 369 in do_i2c_write() change the length variable into type int. Signed-off-by: Heiko Schocher <hs@denx.de>
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 <andrew.goodbody@linaro.org> Reviewed-by: Heiko Schocher <hs@denx.de>
2025-08-04Makefile: Remove expansion of undefined variablePhilip Molloy
The U-Boot environment was previously stored in the boot loader stream using ldr, but it has been replaced by the default environment built into the U-Boot executable or an environment on external storage Fixes: ea3310e8aafa ("Blackfin: Remove") Signed-off-by: Philip Molloy <philip.molloy@analog.com> Reviewed-by: Greg Malysa <malysagreg@gmail.com>
2025-08-04cmd: bdinfo: Fix showing correct IP address based on current deviceMichal Simek
Use the same logic as is used for MAC address where bdi shows mac address for current device where index (idx) is used to point to correct IP address which is read and show. Signed-off-by: Michal Simek <michal.simek@amd.com>
2025-08-04Kconfig: typo restictHeinrich Schuchardt
%s/restict/restrict/ SPL and TPL have separate options (plural). Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de>
2025-08-04test: py: test_fit_mkimage_validate: Only run either test on sandboxTom Rini
Both of these tests are only valid for sandbox (and require dtc) so both tests need the pytest annotations. Fixes: 93d09d3bd8ea ("test: fit: add test case for invalid default configuration reference") Signed-off-by: Tom Rini <trini@konsulko.com>
2025-08-04Merge branch 'u-boot-nand-03082025' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-nand-flash CI: https://source.denx.de/u-boot/custodians/u-boot-nand-flash/-/pipelines/27258 This series address issues found by Andrew Goodbody and mostly drop driver that are not used by any board
2025-08-04Merge branch 'staging' of https://source.denx.de/u-boot/custodians/u-boot-tegraTom Rini
- Pegatron Chagall, Samsung Galaxy R (GT-I9103) and Captivate Glide (SGH-i927) support
2025-08-03mtd: nand: raw: Remove unused octeontx_nand driverTom Rini
As no platforms use this driver anymore let's go ahead and remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-08-03mtd: nand: raw: Remove unused mxic_nand driverTom Rini
As no platforms use this driver anymore let's go ahead and remove it. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2025-08-03mtd: nand: raw: Remove unused lpc32xx_nand_slc driverTom Rini
As no platforms use this driver anymore let's go ahead and remove it. Signed-off-by: Tom Rini <trini@konsulko.com>
2025-08-03mtd: rawnand: mxs_nand: Ensure err is set for error pathAndrew Goodbody
In mxs_nand_init_ctrl there are a couple of error paths that do not set err which could lead to the errors being silently ignored despite the function not completing. Rather than just using if to detect these errors use err to collect the error return value from the called functions. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
2025-08-03mtd: rawnand: denali: Remove always true testAndrew Goodbody
In denali_wait_for_irq the code will either return from inside the while loop or exit with time_left being 0. The following test for time_left being 0 is guranteed to be true so remove the test and the following unreachable code. This issue was found by Smatch. Signed-off-by: Andrew Goodbody <andrew.goodbody@linaro.org> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>