summaryrefslogtreecommitdiff
path: root/board
AgeCommit message (Collapse)Author
13 daysboard/raspberrypi: add bcm2712d0-rpi-5-b for Raspberry Pi 5Filip Kokosiński
This commit adds an FDT entry for the d0 stepping of the BCM2712 SoC. This entry is used by the v1.1 revision of the board (revision & 0x0f == 1). Signed-off-by: Filip Kokosiński <filip.kokosinski@gmail.com> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Tested-by: Peter Robinson <pbrobinson@gmail.com>
13 daysboard/raspberrypi: add multi-FDT supportFilip Kokosiński
This patch adds support for multiple FDT files per board model. This is done by adding the FDTFILES macro, which initializes two rpi_model struct members: fdtfiles and fdtcount. The new-style revision codes designate LSB bits as board revision; this value is used to choose between provided FDTs. The first element of the fdtfiles list is used should no revision match. Signed-off-by: Filip Kokosiński <filip.kokosinski@gmail.com> Reviewed-by: Peter Robinson <pbrobinson@gmail.com> Tested-by: Peter Robinson <pbrobinson@gmail.com>
13 daysrpi: pass the Video Core logs DT parameter throughPeter Robinson
Pass the VC logs DT parameter through to the kernel device tree. This is used by the vclog tool and is a useful debugging tool. Signed-off-by: Peter Robinson <pbrobinson@gmail.com> Acked-by: Matthias Brugger <mbrugger@suse.com>
2026-02-25Merge branch 'master' of https://source.denx.de/u-boot/custodians/u-boot-samsungTom Rini
- Assorted platform and video driver updates
2026-02-25board: samsung: exynos-mobile: add EFI capsule update supportKaustabh Chakraborty
Add support for EFI capsule updates via U-Boot's DFU. This flashes the boot partition with the new image provided in the capsule. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-25board: samsung: exynos-mobile: use blkmap for booting from userdata ↵Kaustabh Chakraborty
subpartitions Some distributions tend to provide a single combined image with EFS and the system root filesystem. Flashing it as-is in a single partition (usually done in userdata partition as it is the largest) is not bootable as U-Boot does not understand subpartitions. Use blkmap to map the userdata partition into its own block device. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-24ARM: stm32mp: Add STM32MP21 supportPatrice Chotard
STM32MP21 application processors (STM32 MPUs) based on a single Arm Cortex®-A35 core running up to 1.5 GHz and Cortex®-M33 core running at 300 MHz. It is pin-compatible with the STM32MP2 series in the VFBGA361 10×10 mm package: the STM32MP21 uses a subset of the STM32MP23 pinout, which itself is a subset of the STM32MP25. More details available here : https://www.st.com/en/microcontrollers-microprocessors/stm32mp2-series.html Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24board: st: common: add uclass_get_device_by_driver()'s return value checkPatrice Chotard
class_get_device_by_driver()'s return value is not checked, in case of BSEC driver is not probed, dev is not set and used just after as parameter of misc_read() which leads to a Synchronous Abort. Add uclass_get_device_by_driver()'s return value check to fix it. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-24board: st: common: Add support of stm32mp21xx-dk boardPatrice Chotard
Add board identifier for STM32MP21 discovery board = MB2059. Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com> Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
2026-02-23board: samsung: exynos-mobile: enable OF_BOARD supportKaustabh Chakraborty
OF_BOARD allows to choose the internal device tree in runtime. Use it to pass the external FDT as an internal one if it is not present. This approach is also used by qcom-phone, and it reduces boot image size. It is expected that an external FDT is present as U-Boot is packaged as an Android boot image. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-23board: samsung: exynos-mobile: disable MULTI_DTB_FIT supportKaustabh Chakraborty
MULTI_DTB_FIT allowed a single U-Boot image to be booted in multiple devices, but it was not a scalable solution; as more devices are added, the U-Boot binary is bound to increase, space taken up by devicetrees which are not even used. The other approach is to be able to build separate images for multiple devices using the same "board" defined in U-Boot. This is used by qcom_phone to support muitiple devices. Follow the said approach for Exynos devices as well, disable MULTI_DTB_FIT for this board. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-23board: samsung: exynos-mobile: resolve env vars without board_info dataKaustabh Chakraborty
Move environment variable setup procedure to exynos_env_setup(). This function is independent of data from exynos_board_info as it is due for removal in the succeding commits. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-23board: samsung: exynos-mobile: simplify parsing RAM banks from device treeKaustabh Chakraborty
Remove the baked-in bank addresses used for figuring out RAM banks from device tree. Instead, sequentially fill in the bank addresses and sizes, and doing away with an extra array for specifying bases. Signed-off-by: Kaustabh Chakraborty <kauschluss@disroot.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2026-02-20board: ti: am64,j721*: use correct fdt if eeprom detection failsAnshul Dalal
We currently provide default board names for each board in their respective evm.c file. However for custom boards, this behaviour overwrites the default DT as set in the defconfig (CONFIG_DEFAULT_FDT_FILE or CONFIG_DEFAULT_DEVICE_TREE). This patch changes the default name to be NULL which prevents this overwrite and allows ti_set_fdt_env to instead fallback to the correct DT as set in Kconfig. Signed-off-by: Anshul Dalal <anshuld@ti.com> Reviewed-by: Bryan Brattlof <bb@ti.com>
2026-02-16board: ti: j721e,j7200: fix do_main_cpsw0_qsgmii_phyinitSiddharth Vadapalli
Since commit 27cc5951c862 ("include: env: ti: add default for do_main_cpsw0_qsgmii_phyinit"), the value of the environment variable do_main_cpsw0_qsgmii_phyinit happened to remain '0' and couldn't be changed without user intervention. This behavior is due to the following cyclic dependency: A) ti_common.env sets do_main_cpsw0_qsgmii_phyinit to '0' and its value can only be updated automatically by main_cpsw0_qsgmii_phyinit. B) main_cpsw0_qsgmii_phyinit is defined in j721e.env and it can run only if 'do_main_cpsw0_qsgmii_phyinit' is already '1' which isn't possible unless the user manually assigns the value. Fix the aforementioned cyclic dependency by using board_late_init() to detect the QSGMII Daughtercard and set do_main_cpsw0_qsgmii_phyinit. Additionally, to address the issue of do_main_cpsw0_qsgmii_phyinit being 'undefined' for other platforms, replace: if test ${do_main_cpsw0_qsgmii_phyinit} -eq 1; with: if env exists do_main_cpsw0_qsgmii_phyinit; in ti_common.env. Fixes: 27cc5951c862 ("include: env: ti: add default for do_main_cpsw0_qsgmii_phyinit") Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Reviewed-by: Anshul Dalal <anshuld@ti.com>
2026-02-12board: toradex: Make A53 get RAM size from DT in K3 boardsSuhaas Joshi
`dram_init()` is called by R5 SPL and U-Boot, both. It starts by computing the size of the RAM. In verdin-am62(p), it does so by calling `get_ram_size()`. This function computes the size of the RAM by writing over the RAM. When R5 computes the size of the RAM, it does not update the DT with this size. As a result, when A53 invokes `dram_init()` again, it has to compute the size through `get_ram_size()` again. Commit 13c54cf588d82 and 0c3a6f748c9 add firewall over ATF's and OPTEE's regions. This firewall is added during the R5 SPL stage of boot. So when A53 attempts to write over RAM in `get_ram_size()`, it writes over the protected region. Since A53 is a non-secure core, this is blocked by the firewall. To fix this, do the following: * Implement `spl_perform_board_fixups()` function for verdin-am62 and verdin-am62p. Make this function call `fixup_memory_node()`, which updates the DT. * Add an if-block in `dram_init()`, to ensure that only R5 is able to call `get_ram_size()`, and that A53 reads this size from the DT. Signed-off-by: Suhaas Joshi <s-joshi@ti.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2026-02-08Merge tag 'u-boot-at91-2026.04-a' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-at91 First set of u-boot-at91 features for the 2026.04 cycle: This small fixes set includes fixing 64 bit builds and some warnings for the at91 serial driver, and some cleanup on the nand driver.
2026-02-06board: imx8mn-var-som: compile SPL-only stuff only in SPL buildHugo Villeneuve
SPL-specific stuff is already in spl.c, so avoid compiling other source files in SPL build. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2026-02-06board: imx8mn-var-som: remove unneeded header filesHugo Villeneuve
Cleanup the file by removing unneeded header files. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2026-02-06board: imx8mn_var_som: let clock system enable UART clockHugo Villeneuve
Now that the UART driver can enable the required clocks, remove the hard-coded clock enable. Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
2026-02-06toradex: smarc-imx95: Drop init_uart_clkPeng Fan
Rely on serial driver calling clk_enable to enable the lpuart clk, no need to do init_uart_clk in board_early_init_f(). Also remove board_early_init_f(), because it is empty now. Signed-off-by: Peng Fan <peng.fan@nxp.com> Acked-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2026-02-06nxp: imx94_evk: Drop init_uart_clkPeng Fan
Rely on serial driver calling clk_enable to enable the lpuart clk, no need to do init_uart_clk in board_early_init_f(). Also remove board_early_init_f(), because it is empty now. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06nxp: imx95_evk: Drop init_uart_clkPeng Fan
Rely on serial driver calling clk_enable to enable the lpuart clk, no need to do init_uart_clk in board_early_init_f(). Also remove board_early_init_f(), because it is empty now. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06board: ge: common: vpd: Fix read_i2c_vpd return valueFrancois Berder
If i2c_eeprom_size fails, the error value is stored in variable size and not ret. Also, this commit fixes printing the error value. Signed-off-by: Francois Berder <fberder@outlook.fr>
2026-02-06imx93_frdm: Update IMX_BOOT_IMAGE_GUIDPeng Fan
Reusing IMX_BOOT_IMAGE_GUID from i.MX93 EVK is wrong. The ID is per board, so regenerate one using uuidgen. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx93_frdm: Drop DECLARE_GLOBAL_DATA_PTRPeng Fan
There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8mq_evk: spl: Drop DECLARE_GLOBAL_DATA_PTRPeng Fan
There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8ulp_evk: Cleanup headersPeng Fan
Drop unused headers and sort them. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8ulp_evk: Drop board_phy_configPeng Fan
There is already a weak function in drivers/net/phy/phy.c, which does the same thing. So drop it. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8ulp_evk: Drop DECLARE_GLOBAL_DATA_PTRPeng Fan
There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8mn_evk: Cleanup headersPeng Fan
Drop unused headers and sort them. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8mn_evk: spl: Drop DECLARE_GLOBAL_DATA_PTRPeng Fan
There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8mp_evk: Cleanup headersPeng Fan
Drop unused headers and sort them. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8mp_evk: spl: Drop DECLARE_GLOBAL_DATA_PTRPeng Fan
There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8mp_evk: spl: Drop i2c_pad_info1Peng Fan
With commit 6e6492c85def ("imx8mp_evk: Convert to DM_PMIC"), i2c_pad_info1 is no longer needed, remove it. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-06imx8mm_evk: Drop DECLARE_GLOBAL_DATA_PTRPeng Fan
There is no user of "gd", so drop DECLARE_GLOBAL_DATA_PTR. Signed-off-by: Peng Fan <peng.fan@nxp.com>
2026-02-04arm: at91: move atmel_serial.h to include/dm/platform_dataRobert Marko
Move the arch specific atmel_serial.h header from AT91 to the generic include/dm/platform_data. This will be used for support on Microchip LAN969x. Signed-off-by: Robert Marko <robert.marko@sartura.hr>
2026-02-03Merge branch 'u-boot-nand-03022026' 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/29183 This series provides a comprehensive cleanup of the Allwinner (sunxi) NAND controller drivers and introduces full support for the H6 and H616 SoCs in both the main U-Boot driver and the SPL. The series successfully deduplicates register maps between sunxi_nand.c and sunxi_nand_spl.c while migrating to a capability-based architecture. This approach allows the driver to handle the H616's specific requirements—such as shifted register offsets for ECC/OOB, the removal of 512B ECC block support, and mandatory MBUS clock gating—without breaking compatibility for legacy A10/A23 devices.
2026-02-03board: mediatek: add MT8390 EVK board supportJulien Masson
This adds support for the MT8390 EVK board with the following features enabled/tested: Boot, UART, Watchdog and MMC. MT8390 is based on MT8188. Signed-off-by: Julien Masson <jmasson@baylibre.com> Signed-off-by: Julien Stephan <jstephan@baylibre.com> Reviewed-by: Mattijs Korpershoek <mkorpershoek@kernel.org>
2026-02-03Merge patch series "toradex: aquila-am69: fix SPL USB DFU, drop obsolete clock"Tom Rini
Ernest Van Hoecke <ernest.vanhoecke@toradex.com> says: This is a small, board-specific series for Aquila AM69. Patch 1 fixes intermittent SPL USB DFU gadget enumeration. Patch 2 drops a stale MCU_CLKOUT0 enable for ETH_1. V1.1 hardware uses an external 25 MHz crystal, and support for earlier revisions was already removed from the DT before upstreaming. Link: https://lore.kernel.org/r/20260127101413.2812815-1-ernestvanhoecke@gmail.com
2026-02-03board: toradex: aquila-am69: Remove ETH_1 MCU_CLKOUT0Ernest Van Hoecke
On the Toradex Aquila AM69 V1.1, the on-module ETH_1 relies on an external 25 MHz crystal oscillator. On the V1.0, we needed to enable MCU_CLKOUT0, but support for this was already dropped from the device tree before being sent to U-Boot. Remove this obsolete enabling of MCU_CLKOUT0. Fixes: 3f0528882c0d ("board: toradex: add aquila am69 support") Signed-off-by: Ernest Van Hoecke <ernest.vanhoecke@toradex.com> Reviewed-by: Francesco Dolcini <francesco.dolcini@toradex.com>
2026-02-03mtd: rawnand: sunxi_spl: add support for H6/H616 nand controllerRichard Genoud
Introduce H6/H616 NAND controller support for SPL The H616 NAND controller has the same base as A10/A23, with some differences: - MDMA is based on chained buffers - its ECC supports up to 80bit per 1024bytes - some registers layouts are a bit different, mainly due do the stronger ECC. - it uses USER_DATA_LEN registers along USER_DATA registers. - it needs a specific clock for ECC and MBUS. For SPL, most of the work was setting the clocks, adding the new capability structure for H616 and supporting the new USER_DATA_LEN registers. Tested on Whatsminer H616 board (with and without scrambling, ECC) Signed-off-by: Richard Genoud <richard.genoud@bootlin.com> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2026-02-03mtd: rawnand: sunxi: remove usage of struct sunxi_ccm_regRichard Genoud
The sunxi_ccm_reg is legacy, drop its usage from nand related code For that, CCU_NAND0_CLK_CFG and CCU_AHB_GATE1 are added to the clock files when missing. And clock code in sunxi_nand{,_spl}.c and board.c are changed to use the new scheme. Moreover, drop AHB_DIV_1 in favor of the more readable CCM_NAND_CTRL_M/N Suggested-by: Andre Przywara <andre.przywara@arm.com> Signed-off-by: Richard Genoud <richard.genoud@bootlin.com> Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
2026-02-02Merge patch series "m68k: Add support for QEMU virt machine"Tom Rini
Kuan-Wei Chiu <visitorckw@gmail.com> says: Add support for the QEMU 'virt' machine on the m68k architecture. The QEMU virt machine models a generic system utilizing Goldfish virtual peripherals and is capable of emulating various classic 68k CPUs. Currently, U-Boot's m68k architecture support focuses on ColdFire variants. This series expands support to include the classic M680x0 architecture, implementing the necessary exception vectors, startup code, and a bootinfo parser compatible with the QEMU interface. Drivers for Goldfish peripherals (TTY, Timer, RTC) and the QEMU Virtual System Controller (sysreset) are also added to enable serial console, timekeeping, and system reset functionality. The implementation has been verified on QEMU targeting the M68040 CPU, confirming successful hardware initialization and boot to the U-Boot command shell. Additionally, the CI configuration was verified locally using gitlab-ci-local "qemu_m68k_virt test.py", resulting in PASS qemu_m68k_virt test.py. Link: https://lore.kernel.org/r/20260107201838.3448806-1-visitorckw@gmail.com [trini: Re-sort MAINTAINERS entries] Signed-off-by: Tom Rini <trini@konsulko.com>
2026-02-02board: Add QEMU m68k virt board supportKuan-Wei Chiu
Add support for the QEMU 'virt' machine on the m68k architecture. This board emulates a generic machine based on the Motorola 68040 CPU equipped with Goldfish virtual peripherals. Introduce the necessary board configuration and initialization infrastructure. The implementation includes logic to parse the QEMU bootinfo interface, enabling dynamic detection of system RAM size to adapt to the virtual machine's configuration. Enable the Goldfish TTY driver for serial console output. Additionally, enable Goldfish RTC and timer drivers to support real-time clock functionality and nanosecond-resolution delays. Include comprehensive documentation covering build instructions and usage examples. Signed-off-by: Kuan-Wei Chiu <visitorckw@gmail.com> Tested-by: Daniel Palmer <daniel@0x0f.com> Reviewed-by: Simon Glass <simon.glass@canonical.com>
2026-02-02Merge patch series "arm: mach-k3: j721s2: Provide a way to obtain boot ↵Tom Rini
device for non SPLs" This series from Dominik Haller <d.haller@phytec.de> provides a way for TI K3 platforms to determine their boot device outside of SPL and then adds support for the PHYTEC phyCORE-AM68x/TDA4x SoM. Link: https://lore.kernel.org/r/20260116014116.767555-1-d.haller@phytec.de
2026-02-02doc: board: phytec: Add phyCORE-AM68x/TDA4xDominik Haller
Add documentation for the PHYTEC phyCORE-AM68x/TDA4x (J721S2 family) SoM. Signed-off-by: Dominik Haller <d.haller@phytec.de> Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
2026-02-02board: phytec: Add PHYTEC phyCORE-AM68x/TDA4x SoMDominik Haller
Add support for the PHYTEC phyCORE-AM68x/TDA4x (J721S2 family) SoM. Supported features: - 4GB LPDDR4 RAM - eMMC - SD-Card - Ethernet - OSPI - AVS - debug UART Signed-off-by: Dominik Haller <d.haller@phytec.de> Reviewed-by: Wadim Egorov <w.egorov@phytec.de>
2026-01-29board: stm32mp2: read boot index from backup registerDario Binacchi
Following the 'commit 95b5a7de30f6 ("FWU: STM32MP1: Add support to read boot index from backup register")', this patch enables reading the boot index from backup registers on STM32MP2 platforms. Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
2026-01-29ARM: stm32: Use CONFIG_STM32MP15X to discern STM32MP15xx on DH STM32MP15xx DHSOMMarek Vasut
Use plain CONFIG_STM32MP15X to discern code which is specific to STM32MP15xx in DH STM32MP1 DHSOM board files. Signed-off-by: Marek Vasut <marex@nabladev.com> Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>