summaryrefslogtreecommitdiff
path: root/board/st/stm32mp1
AgeCommit message (Collapse)Author
2026-07-20global: Switch from source.denx.de to git.u-boot-project.orgTom Rini
As part of moving our git forge to a new location, update all references in tree to point to git.u-boot-project.org now. Signed-off-by: Tom Rini <[email protected]>
2026-05-26board: st: factorize STM32MP FWU multi-bank supportDario Binacchi
Factorize FWU multi-bank support code common to STM32MP1 and STM32MP2 platforms into a dedicated shared source file. No functional change intended. Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2026-05-26board: st: stm32mp15: support dynamic A/B bank bootupDario Binacchi
Following commit 4300f9f4c5d7 ("board: st: stm32mp25: support dynamic A/B bank bootup"), this patch enables automatic detection of the active A/B bank on STM32MP15 platforms by retrieving partition GUIDs from FWU metadata. This ensures the system correctly identifies the bootable partitions even in multi-bank scenarios, falling back to a standard bootable flag scan if the UUIDs are missing. To enable A/B bank bootup on STM32MP15 boards, add the following Kconfig options to the stm32mp15[_basic]_defconfig: CONFIG_FWU_MULTI_BANK_UPDATE=y CONFIG_FWU_MDATA=y CONFIG_FWU_NUM_BANKS=2 CONFIG_FWU_NUM_IMAGES_PER_BANK=3 CONFIG_CMD_FWU_METADATA=y CONFIG_FWU_MDATA_V2=y Signed-off-by: Dario Binacchi <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2026-04-30board: stm32pm1: Fix board_check_usb_power()Patrice Chotard
Depending of plugged power source (computer, wall charger, ...) it can happen that we got the following message: "****************************************************" "* USB TYPE-C charger not compliant with *" "* specification *" "****************************************************" " " "### ERROR ### Please RESET the board ### " This issue has been detected on STM32MP135f-DK board. It's due to max_uV and min_uV value are initialized at beginning of board_check_usb_power() and can then be used for the 2 iteration of adc_measurement(). max_uV/min_uV values issued of the first adc_measurement() iteration are used as input of the second adc_measurement() iteration, which can lead to incoherent pair of min_uV/max_uV values. To ensure that adc_measurement() returns coherent value for max_uV and min_uV, initialize max_uV and min_uV at each loop start. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Kory Maincent <[email protected]>
2025-12-05board: st: Update LED management for stm32mp1Patrice Chotard
Remove get_led() and setup_led() which became obsolete since led_boot_on() introduction. led_boot_on() is automatically called from board_r.c Regarding "u-boot,error-led" property can't be used anymore since commit Since commit 516a13e8db32 ("led: update LED boot/activity to new property implementation") Instead get the LED labeled "red:status". See kernel series: https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=1022570 Signed-off-by: Patrice Chotard <[email protected]>
2025-09-30Revert "board: st: stm32mp1: Clean env_get_location()"Kory Maincent
This reverts commit d37641c61ba212241c38e3fd22f0335fc0bebc96. Restore support for environment storage in EXT4 filesystem on eMMC boot. The previous cleanup incorrectly removed this fallback option which is needed for boards that store their environment in an EXT4 partition. This configuration is OS-specific rather than board-dependent and should remain as it is configurable via menuconfig. Even if it is not described in ST defconfigs people may have enabled it in their defconfig. Signed-off-by: Kory Maincent <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2025-07-29ARM: stm32: Add STM32MP13xx debug UART initializationMarek Vasut
Add default STM32MP13xx debug UART initialization. This is similar to STM32MP15xx debug UART initialization, except the RCC registers are at different offsets and the UART pinmux pins are different. Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2025-06-20env: Rename SYS_MMC_ENV_DEV to ENV_MMC_DEVICE_INDEXMarek Vasut
Rename the variable and add ENV_ prefix, so that all configuration options which are related to environment would have an CONFIG_ENV_ prefix. No functional change. Use ENV_MMC_DEVICE_INDEX to clarify this is the SD/MMC device index, a number, as enumerated by U-Boot. Update the help text accordingly. Signed-off-by: Marek Vasut <[email protected]>
2025-04-25configs: stm32: introduce stm32mp15-odyssey_defconfigPatrice Chotard
U-Boot DT for stm32mp157c-odyssey is richer than the kernel DT one. None of the stm32mp157c-odyssey's contributors answered to my request to update kernel DT and i didn't have this board to test. The simpler is to add a dedicated stm32mp15-odyssey_defconfig with OF_UPSTREAM flag unset. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2025-01-31board: st: stm32mp1: Clean env_get_location()Patrice Chotard
ENV_IS_IN_EXT4 flag is no more used in any STM32 defconfig, remove the related code. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2024-10-11Merge patch series "Tidy up use of 'SPL' and CONFIG_SPL_BUILD"Tom Rini
Simon Glass <[email protected]> says: When the SPL build-phase was first created it was designed to solve a particular problem (the need to init SDRAM so that U-Boot proper could be loaded). It has since expanded to become an important part of U-Boot, with three phases now present: TPL, VPL and SPL Due to this history, the term 'SPL' is used to mean both a particular phase (the one before U-Boot proper) and all the non-proper phases. This has become confusing. For a similar reason CONFIG_SPL_BUILD is set to 'y' for all 'SPL' phases, not just SPL. So code which can only be compiled for actual SPL, for example, must use something like this: #if defined(CONFIG_SPL_BUILD) && !defined(CONFIG_TPL_BUILD) In Makefiles we have similar issues. SPL_ has been used as a variable which expands to either SPL_ or nothing, to chose between options like CONFIG_BLK and CONFIG_SPL_BLK. When TPL appeared, a new SPL_TPL variable was created which expanded to 'SPL_', 'TPL_' or nothing. Later it was updated to support 'VPL_' as well. This series starts a change in terminology and usage to resolve the above issues: - The word 'xPL' is used instead of 'SPL' to mean a non-proper build - A new CONFIG_XPL_BUILD define indicates that the current build is an 'xPL' build - The existing CONFIG_SPL_BUILD is changed to mean SPL; it is not now defined for TPL and VPL phases - The existing SPL_ Makefile variable is renamed to SPL_ - The existing SPL_TPL Makefile variable is renamed to PHASE_ It should be noted that xpl_phase() can generally be used instead of the above CONFIGs without a code-space or run-time penalty. This series does not attempt to convert all of U-Boot to use this new terminology but it makes a start. In particular, renaming spl.h and common/spl seems like a bridge too far at this point. The series is fully bisectable. It has also been checked to ensure there are no code-size changes on any commit.
2024-10-11board: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILDSimon Glass
Use the new symbol to refer to any 'SPL' build, including TPL and VPL Signed-off-by: Simon Glass <[email protected]>
2024-09-30power: regulator: Drop regulators_enable_boot_on/off()Marek Vasut
Both regulators_enable_boot_on/off() are unused and superseded by regulator uclass regulator_post_probe(). Remove both functions. Signed-off-by: Marek Vasut <[email protected]>
2024-05-20Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"Tom Rini
As part of bringing the master branch back in to next, we need to allow for all of these changes to exist here. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-19Revert "Merge patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet""Tom Rini
When bringing in the series 'arm: dts: am62-beagleplay: Fix Beagleplay Ethernet"' I failed to notice that b4 noticed it was based on next and so took that as the base commit and merged that part of next to master. This reverts commit c8ffd1356d42223cbb8c86280a083cc3c93e6426, reversing changes made to 2ee6f3a5f7550de3599faef9704e166e5dcace35. Reported-by: Jonas Karlman <[email protected]> Signed-off-by: Tom Rini <[email protected]>
2024-05-07board: st: Remove <common.h> and add needed includesTom Rini
Remove <common.h> from this board vendor directory and when needed add missing include files directly. Signed-off-by: Tom Rini <[email protected]>
2024-04-19board: st: stmp32mp1: Use BUTTON UCLASS in board_key_check()Patrice Chotard
Instead of using gpio directly to detect key pressed on button dedicated for fastboot and stm32mprog, make usage of BUTTON UCLASS. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2024-04-19net: dwc_eth_qos: Fold board_interface_eth_init into STM32 glue codeMarek Vasut
Move board_interface_eth_init() into eqos_probe_syscfg_stm32() in STM32 driver glue code. The eqos_probe_syscfg_stm32() parses STM32 specific DT properties of this MAC and configures SYSCFG registers accordingly, there is nothing board specific happening in this function, move it into generic driver code instead. Drop the now unused duplicates from board files. Reviewed-by: Patrice Chotard <[email protected]> Signed-off-by: Marek Vasut <[email protected]>
2024-01-19arm: Rename STM32MP15xPatrick Delaunay
CONFIG options must not use lower-case letter. Convert this and related ones to upper case. Signed-off-by: Simon Glass <[email protected] Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2024-01-19arm: Rename STM32MP13xPatrick Delaunay
CONFIG options must not use lower-case letter. Convert this and related ones to upper case. Signed-off-by: Simon Glass <[email protected]> Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Igor Opaniuk <[email protected]>
2023-09-24common: Drop linux/printk.h from common headerSimon Glass
This old patch was marked as deferred. Bring it back to life, to continue towards the removal of common.h Move this out of the common header and include it only where needed. Signed-off-by: Simon Glass <[email protected]>
2023-08-16ARM: stm32: Power cycle Buck3 in reset on DHSOMMarek Vasut
In case the DHSOM is in suspend state and either reset button is pushed or IWDG2 triggers a watchdog reset, then DRAM initialization could fail as follows: " RAM: DDR3L 32bits 2x4Gb 533MHz DDR invalid size : 0x4, expected 0x40000000 DRAM init failed: -22 ### ERROR ### Please RESET the board ### " Avoid this failure by not keeping any Buck regulators enabled during reset, let the SoC and DRAMs power cycle fully. Since the change which keeps Buck3 VDD enabled during reset is ST specific, move this addition to ST specific SPL board initialization so that it wouldn't affect the DHSOM . Signed-off-by: Marek Vasut <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2023-06-16board: stm32mp1: use fdt_copy_fixed_partitionsPatrick Delaunay
Copy the fixed partition nodes from U-Boot device tree to Linux kernel device tree to dynamically configure the MTD partitions. fdt_copy_fixed_partitions is only based on device tree and replace the function fdt_fixup_mtdparts based on mtdparts variable; the variable mtdid and mtdparts are not more required. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2023-06-08efi_loader: add the number of image entries in efi_capsule_update_infoMasahisa Kojima
The number of image array entries global variable is required to support EFI capsule update. This information is exposed as a num_image_type_guids variable, but this information should be included in the efi_capsule_update_info structure. This commit adds the num_images member in the efi_capsule_update_info structure. All board files supporting EFI capsule update are updated. Signed-off-by: Masahisa Kojima <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]>
2023-04-19stm32mp: fix various array bounds checksRasmus Villemoes
In all these cases, the index on the LHS is immediately afterwards used to access the array appearing in the ARRAY_SIZE() on the RHS - so if that index is equal to the array size, we'll access one-past-the-end of the array. Signed-off-by: Rasmus Villemoes <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2023-02-09Correct SPL use of FDT_SIMPLEFBSimon Glass
This converts 1 usage of this option to the non-SPL form, since there is no SPL_FDT_SIMPLEFB defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2023-02-09Correct SPL uses of ENV_IS_IN_UBISimon Glass
This converts 2 usages of this option to the non-SPL form, since there is no SPL_ENV_IS_IN_UBI defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2023-02-09Correct SPL uses of EFI_HAVE_CAPSULE_SUPPORTSimon Glass
This converts 13 usages of this option to the non-SPL form, since there is no SPL_EFI_HAVE_CAPSULE_SUPPORT defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2023-02-09Correct SPL use of CMD_STBOARDSimon Glass
This converts 1 usage of this option to the non-SPL form, since there is no SPL_CMD_STBOARD defined in Kconfig Signed-off-by: Simon Glass <[email protected]>
2022-10-31FWU: STM32MP1: Add support to read boot index from backup registerSughosh Ganu
The FWU Multi Bank Update feature allows the platform to boot the firmware images from one of the partitions(banks). The first stage bootloader(fsbl) passes the value of the boot index, i.e. the bank from which the firmware images were booted from to U-Boot. On the STM32MP157C-DK2 board, this value is passed through one of the SoC's backup register. Add a function to read the boot index value from the backup register. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Acked-by: Ilias Apalodimas <[email protected]> Acked-by: Etienne Carriere <[email protected]>
2022-10-31stm32mp1: Add image information for capsule updatesSughosh Ganu
Enabling capsule update functionality on the platform requires populating information on the images that are to be updated using the functionality. Do so for the DK2 board. Signed-off-by: Sughosh Ganu <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Etienne Carriere <[email protected]>
2022-10-18stm32mp: fix compilation issue with DEBUG_UARTPatrick Delaunay
Fix the compilation issue when CONFIG_DEBUG_UART is activated drivers/serial/serial_stm32.o: in function `debug_uart_init': drivers/serial/serial_stm32.c:291: undefined reference to \ `board_debug_uart_init' The board_debug_uart_init is needed for SPL boot, called in cpu.c::mach_cpu_init(); it is defined in board/st/stm32mp1/spl.c. But with the removal #ifdefs patch, the function debug_uart_init() is always compiled even if not present in the final U-Boot image. This patch adds a file to provided this function when DEBUG_UART and SPL are activated. Fixes: c8b2eef52b6c ("stm32mp15: tidy up #ifdefs in cpu.c") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-09-23board: st: stm32mp1: use of correct compatible string to add partitionsChristophe Kerello
Current compatible string used to update SPI NAND and SPI NOR devices can lead to a wrong partitions update (for example, SPI NAND partitions added to SPI NOR node in the device tree). To avoid this wrong behavior, use jedec,spi-nor compatible string for SPI NOR devices and spi-nand compatible string for SPI NAND devices. Signed-off-by: Christophe Kerello <[email protected]> Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-09-19Merge branch 'master' into nextTom Rini
Signed-off-by: Tom Rini <[email protected]>
2022-09-18cyclic: Use schedule() instead of WATCHDOG_RESET()Stefan Roese
Globally replace all occurances of WATCHDOG_RESET() with schedule(), which handles the HW_WATCHDOG functionality and the cyclic infrastructure. Signed-off-by: Stefan Roese <[email protected]> Reviewed-by: Simon Glass <[email protected]> Tested-by: Tom Rini <[email protected]> [am335x_evm, mx6cuboxi, rpi_3,dra7xx_evm, pine64_plus, am65x_evm, j721e_evm]
2022-09-06board: stm32mp1: remove test on CONFIG_DM_REGULATORPatrick Delaunay
The tests on CONFIG_DM_REGULATOR, added to avoid compilation issues, can now be removed, they are no more needed since the commit 16cc5ad0b439 ("power: regulator: add dummy helper"). Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-06-17board: stm32mp1: convert to livetreePatrick Delaunay
Replace gd->fdt_blob access with fdt_getprop() function to the function ofnode_get_property() to support a live tree. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-06-17configs: add stm32mp13 defconfigPatrick Delaunay
Add a initial config for STM32M13x SOC family, using the stm32mp135f-dk device tree. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-06-17board: stm32pm1: add stm32mp13 board supportPatrick Delaunay
Add stm32mp15x prefix to all STM32MP15x board specific functions, this patch is a preliminary step for STM32MP13x support. This patch also adds the RCC probe to avoid circular access with usbphyc probe as clk provider. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-06-17arm: stm32mp: add support of STM32MP13xPatrick Delaunay
Introduce the code in mach-stm32mp and the configuration file stm32mp13_defconfig for the new STM32MP family. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-06-17ARM: dts: stm32: add STM32MP13 SoCs supportPatrick Delaunay
Add initial support of STM32MP13 family based on v5.18-rc2 Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-05-10board: st: stm32mp1: Consider USB cable connected when boot device is USBPatrice Chotard
Always consider USB cable is connected when USB boot device is detected. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2022-04-28led: Drop led_default_state()Marek Vasut
This function is empty, drop it. Signed-off-by: Marek Vasut <[email protected]> Cc: Patrice Chotard <[email protected]> Cc: Patrick Delaunay <[email protected]> Cc: Sean Anderson <[email protected]> Cc: Simon Glass <[email protected]> Cc: Steven Lawrance <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2022-01-24board: stm32mp1: solve compilation issue when ENV_IS_IN_MMC is deactivatedPatrick Delaunay
Solve compilation issue on undefined CONFIG_SYS_MMC_ENV_DEV when CONFIG_ENV_IS_IN_MMC is deactivated on STMicroelectronics boards defconfig Fixes: 9f97193616f1 ("board: stm32mp1: use CONFIG_SYS_MMC_ENV_DEV when available") Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-11-30board: stm32mp1: enable simple framebuffer node for splashscreenPatrick Delaunay
Enable an existing simple framebuffer node in the Linux kernel device tree and the add the associated reserved memory node to preserved the resources (clock, memory) used by the stm32 video driver to display the splashscreen = background in exlinux.conf file. These resources will be released by the Linux driver only when the associated driver is ready to avoid transition issues during the Linux kernel initialization between U-Boot splash screen and the final display. See Linux documentation for details: Documentation/devicetree/bindings/display/simple-framebuffer.yaml Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-11-10stm32mp15: replace CONFIG_TFABOOT when it is possiblePatrick Delaunay
In some part of STM32MP15 support the CONFIG_TFABOOT can be replaced by other config: CONFIG_ARMV7_PSCI and CONFIG_ARM_SMCCC. This patch also simplifies the code in cpu.c, stm32mp1_ram.c and clk_stml32mp1.c as execution of U-Boot in sysram (boot without SPL and without TFA) is not supported: the associated initialization code is present only in SPL. This cleanup patch is a preliminary step to support SPL load of OP-TEE in secure world, with SPL in secure world and U-Boot in no-secure world. Reported-by: Alexandru Gagniuc <[email protected]> Signed-off-by: Patrick Delaunay <[email protected]>
2021-11-10board: stmp32mp1: split board and SOC STM32MP15 configurationPatrick Delaunay
Add a configuration file "stm32mp15_st_common.h" to handle the STMicroelectronics boards configuration and rename stm32mp1.h to "stm32mp15_common.h" to handle the generic STM32MP15x series configuration. The configuration file "dh_stm32mp1.h" is also renamed to "stm32mp15_dh_dhcom" for the configuration of board based on the dhelectronics STM32MP15x SOM. In the STMicroelectronics board configuration the default bootcmd "bootcmd_stm32mp" is updated to only select the extlinux file found on SD-Card on STM32MP15x EV1 for boot from NOR device. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]>
2021-10-12Merge tag 'u-boot-stm32-20211012' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-stm - Disable ATAGS for STM32 MCU and MPU boards - Disable bi_boot_params for STM32 MCU and MPU boards - Update stm32-usbphyc node management - Convert CONFIG_STM32_FLASH to Kconfig for STM32 MCU boards - Convert some USB config flags to Kconfig for various boards - Convert CONFIG_BOOTCOMMAND flag to Kconfig for STM32 F429 board - Remove specific CONFIG_STV0991 flags - Remove unused CONFIG_USER_LOWLEVEL_INIT flag - Add ofdata_to_platdata() callback for stm32_spi driver - Update for stm32f7_i2c driver - Remove gpio_hog_probe_all() from STM32 MP1 board - Fix bind command Signed-off-by: Tom Rini <[email protected]>
2021-10-08board: stm32mp1: Remove gpio_hog_probe_all() from boardPatrice Chotard
DM_GPIO_HOG flag has been replaced by GPIO_HOG flag since a while in commit 49b10cb49262 ("gpio: fixes for gpio-hog support"). And furthermore, gpio_hog_probe_all() is already called in board_r.c. So gpio_hog_probe() can be removed from stm32mp1.c. Signed-off-by: Patrice Chotard <[email protected]> Reviewed-by: Patrick Delaunay <[email protected]>
2021-10-08board: stm32: Remove the bi_boot_params initializationPatrick Delaunay
The stm32 platforms never had to support an ATAGs-based Linux Kernel, so remove the bi_boot_params initialization. Signed-off-by: Patrick Delaunay <[email protected]> Reviewed-by: Patrice Chotard <[email protected]> Tested-by: Patrice Chotard <[email protected]> Tested-by: Alexandru Gagniuc <[email protected]>