| 52f530d3 | 19-Sep-2024 |
Maxime Méré <maxime.mere@foss.st.com> |
feat(stm32mp2): add RETRAM map/unmap capability
Add RETRAM base address and size definition at platform level. RETRAM is used by the DDR driver to store retention registers (DDR training results) in
feat(stm32mp2): add RETRAM map/unmap capability
Add RETRAM base address and size definition at platform level. RETRAM is used by the DDR driver to store retention registers (DDR training results) in order to restore them in standby exit sequence. Add map/unmap services at platform level and configure dedicated RISAB5.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Change-Id: I460b36fccce62e83c1fbff298f96b23530aaa4f3
show more ...
|
| 2fd7b230 | 21-Sep-2021 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
feat(stm32mp2): add helper to get DDRDBG base address
Add a function to get DDRDBG peripheral IO memory base address.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Change-Id: I20d14fca4
feat(stm32mp2): add helper to get DDRDBG base address
Add a function to get DDRDBG peripheral IO memory base address.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Change-Id: I20d14fca49528c296c1f7d49a66129d932f44e49
show more ...
|
| e2d6e5e2 | 18-Jan-2023 |
Pascal Paillet <p.paillet@st.com> |
feat(stm32mp2): handle DDR power supplies
Modify platform driver to handle the DDR power supplies when a PMIC is present.
Signed-off-by: Pascal Paillet <p.paillet@st.com> Change-Id: I98df132a63c2ad
feat(stm32mp2): handle DDR power supplies
Modify platform driver to handle the DDR power supplies when a PMIC is present.
Signed-off-by: Pascal Paillet <p.paillet@st.com> Change-Id: I98df132a63c2ad351d4dae949f5dbb831cc40637
show more ...
|
| 7ea6ebfb | 24-Sep-2024 |
Manish Pandey <manish.pandey2@arm.com> |
Merge changes I14df5d21,I7f952205,I6f52ec2c,Ibe0cacf8 into integration
* changes: feat(stm32mp2-fdts): describe stpmic2 power supplies feat(stm32mp2-fdts): add I2C7 pin muxing feat(stm32mp2-fd
Merge changes I14df5d21,I7f952205,I6f52ec2c,Ibe0cacf8 into integration
* changes: feat(stm32mp2-fdts): describe stpmic2 power supplies feat(stm32mp2-fdts): add I2C7 pin muxing feat(stm32mp2-fdts): add UART and I2C nodes for STM32MP2 feat(st-pmic): add STPMIC2 driver
show more ...
|
| 64e5a6df | 20-Sep-2024 |
Maxime Méré <maxime.mere@foss.st.com> |
feat(stm32mp2): improve BL31 size management
Change the size of BL31 limit allocation to be half the sysram size. Defining BL31_PROGBITS_LIMIT to detect overflows.
Signed-off-by: Maxime Méré <maxim
feat(stm32mp2): improve BL31 size management
Change the size of BL31 limit allocation to be half the sysram size. Defining BL31_PROGBITS_LIMIT to detect overflows.
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Change-Id: Iccc1cc0826b8113a3c2fd6ffa77ca419795854d3
show more ...
|
| 817f42f0 | 16-Dec-2022 |
Pascal Paillet <p.paillet@st.com> |
feat(st-pmic): add STPMIC2 driver
The STPMIC2 embeds 15 regulators with various properties, and is designed to supply the STM32MP2 SOC. This driver handles a minimal set of feature to handle the boo
feat(st-pmic): add STPMIC2 driver
The STPMIC2 embeds 15 regulators with various properties, and is designed to supply the STM32MP2 SOC. This driver handles a minimal set of feature to handle the boot of a board.
Signed-off-by: Pascal Paillet <p.paillet@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Change-Id: Ibe0cacf8aec2871eb9a86ec16cbbd18d3745fe9e
show more ...
|
| ae84525f | 13-Sep-2024 |
Maxime Méré <maxime.mere@foss.st.com> |
feat(stm32mp2): manage DDR FW via FIP
This feature is enabled by default using STM32MP_DDR_FIP_IO_STORAGE.
DDR firmware binary is loaded from FIP to SRAM1 which needs to be mapped. Only half of the
feat(stm32mp2): manage DDR FW via FIP
This feature is enabled by default using STM32MP_DDR_FIP_IO_STORAGE.
DDR firmware binary is loaded from FIP to SRAM1 which needs to be mapped. Only half of the SRAM1 will be allocated to TF-A. RISAB3 has to be configured to allow access to SRAM1. Add image ID and update maximum number on platform side also.
Fill related descriptor information, add policy and update numbers. DDR_TYPE variable is used to identify binary file, and image is now added in the fiptool command line.
The DDR PHY firmware is not in TF-A repository. It can be found at https://github.com/STMicroelectronics/stm32-ddr-phy-binary To ease the selection of the firmware path, STM32MP_DDR_FW_PATH is added to platform.mk file.
Change-Id: I09ab0a5c63406055a7b5ccd16d65e443de47ca2f Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com> Signed-off-by: Maxime Méré <maxime.mere@foss.st.com>
show more ...
|
| d07e9467 | 05-Jul-2021 |
Nicolas Le Bayon <nicolas.le.bayon@st.com> |
feat(stm32mp2): introduce DDR type compilation flags
Binary size limitation implies to define DDR type build flags. User must set one single type in the build command line. DDR_TYPE is then deduced,
feat(stm32mp2): introduce DDR type compilation flags
Binary size limitation implies to define DDR type build flags. User must set one single type in the build command line. DDR_TYPE is then deduced, and will help in relative definitions. A check routine is implemented to verify correct configuration.
Signed-off-by: Nicolas Le Bayon <nicolas.le.bayon@st.com> Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Change-Id: I87d0a492196efea33831d9c090e6e434cc7c0a1e
show more ...
|
| 03020b66 | 13-Jun-2023 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(stm32mp2): add minimal support for BL31
Add the required files to compile BL31 on STM32MP2. Update BL2 configuration to load BL31. The platform boots until BL31, but stops here as no other bina
feat(stm32mp2): add minimal support for BL31
Add the required files to compile BL31 on STM32MP2. Update BL2 configuration to load BL31. The platform boots until BL31, but stops here as no other binaries are loaded as DDR is not initialized. At runtime, BL31 will use only the first half of the SYSRAM, the upper half will be used for non-secure DMA LLIs. To be sure nothing from this area is still in the cache, invalidate the upper SYSRAM before enabling BL31 cache. BL31 should then map only first half of the SYSRAM. But it must temporarily map the upper half read-only, as this is where we will retrieve BL2 parameters, used to fill registers for next boot stages.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Change-Id: Ie91527a7a26625624b4b3c65fb6a0ca9dd355dbd
show more ...
|
| 60d07584 | 02-Sep-2024 |
Yann Gautier <yann.gautier@foss.st.com> |
fix(stm32mp2): remove mapping of BL2 DT area
To prevent from coding issues that could overwrite DT area, we were mapping this area as read-only on STM32MP1. But on STM32MP2, we need this area to put
fix(stm32mp2): remove mapping of BL2 DT area
To prevent from coding issues that could overwrite DT area, we were mapping this area as read-only on STM32MP1. But on STM32MP2, we need this area to put BL31 binary. We were then using dynamic mapping. But the area is included in the whole SYSRAM memory mapping. This is not allowed with dynamic mapping. As no other code is running at this step, and we know what code is running in BL2, just remove this extra read-only protection for STM32MP2. A message is added after the post load process of FW-CONFIG file, as BL2 DT area will be overwritten after that. And remove the now useless macros DTB_BASE & DTB_LIMIT. This corrects Coverity issue: CID 443168.
Change-Id: Ic01d6a443ecf7721380ef39dc570e2d1627008d0 Signed-off-by: Yann Gautier <yann.gautier@foss.st.com>
show more ...
|
| a846a235 | 22-May-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): load fw-config file
Add FW_CONFIG_ID entry in bl2_mem_params_descs to be loaded, and add its parsing in bl2_plat_handle_post_image_load().
Signed-off-by: Yann Gautier <yann.gautier@
feat(stm32mp2): load fw-config file
Add FW_CONFIG_ID entry in bl2_mem_params_descs to be loaded, and add its parsing in bl2_plat_handle_post_image_load().
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I151289474325067204ffae62e17c2e1e00f79b1c
show more ...
|
| 5af9369c | 22-May-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): add fw-config compilation
The DT file will be in the FIP, and loaded at the beginning of SYSRAM. The info for hw-config (U-Boot DT by default) is also added, it will be loaded just a
feat(stm32mp2): add fw-config compilation
The DT file will be in the FIP, and loaded at the beginning of SYSRAM. The info for hw-config (U-Boot DT by default) is also added, it will be loaded just after BL33 (U-Boot binary).
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I9d58428c2d911c5c16cae5164122bf833a847a7d
show more ...
|
| 5e0be8c0 | 21-May-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): enable DDR sub-system clock
Create a DDR helper files, and add a function to enable DDR clocks in RCC_DDRCPCFGR register. Call this ddr_sub_system_clk_init() just before clock driver
feat(stm32mp2): enable DDR sub-system clock
Create a DDR helper files, and add a function to enable DDR clocks in RCC_DDRCPCFGR register. Call this ddr_sub_system_clk_init() just before clock driver init, as it needs to be done before enabling DDR PLL clock (PLL2).
Change-Id: I365d6aa034363d0c036ce2d9f944f077ba86e193 Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| c3a75341 | 21-May-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): add fixed regulators support
Call fixed_regulator_register() in bl2_el3_plat_arch_setup() to configure fixed regulators, if any are present in device tree.
Signed-off-by: Yann Gauti
feat(stm32mp2): add fixed regulators support
Call fixed_regulator_register() in bl2_el3_plat_arch_setup() to configure fixed regulators, if any are present in device tree.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Iab2d3a4b6b294727b2b6722a6a13bf3f194ec0f9
show more ...
|
| cdaced36 | 15-Apr-2022 |
Yann Gautier <yann.gautier@foss.st.com> |
feat(stm32mp2): print board info
Call stm32mp_print_boardinfo() during BL2 setup. As for STM32MP1, the board info is taken in the dedicated OTP fuse. This fuse will be taken from device tree.
Signe
feat(stm32mp2): print board info
Call stm32mp_print_boardinfo() during BL2 setup. As for STM32MP1, the board info is taken in the dedicated OTP fuse. This fuse will be taken from device tree.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I2de0199378562b459b27427109ce66239316b8d9
show more ...
|
| 381b2a6b | 21-Jun-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): display CPU info
Print information about CPU type, package and revision. SoC revision ID of MP2 family are defined with the OTP 102.
Signed-off-by: Maxime Méré <maxime.mere@foss.st.
feat(stm32mp2): display CPU info
Print information about CPU type, package and revision. SoC revision ID of MP2 family are defined with the OTP 102.
Signed-off-by: Maxime Méré <maxime.mere@foss.st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I14a95c8a7cb9b06ce32c2e592ae69a1741067e8d
show more ...
|
| 154e6e62 | 21-May-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): get chip ID
Add a function to get chip ID from SYSCFG peripheral.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I32b15fca00e52d31f253e02873ab01b804399658 |
| db77f8bf | 21-May-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): add BL2 boot first steps
Configure the first steps for STM32MP2 BL2 platform boot: - Save boot context address for later use - Configure BL2 MMU - Load and use BL2 DT - Reset backup
feat(stm32mp2): add BL2 boot first steps
Configure the first steps for STM32MP2 BL2 platform boot: - Save boot context address for later use - Configure BL2 MMU - Load and use BL2 DT - Reset backup domain - Initialize clocks - Configure UART for console - Print some info about board and reset reason - Setup storage (only SD-card for the moment)
The platform boot stops at BL2 image load, as bl2_mem_params_descs[] is still empty.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: If6127cfbf77825a03afe8d65ba47c8c0661de496
show more ...
|
| f829d7df | 20-Apr-2022 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
feat(st-reset): add stm32mp2_reset driver
This driver manages the resets of the peripherals embedded in STM32MP2. Like clock driver, it also uses the RCC peripheral.
Change-Id: I8217891bdf1b847925a
feat(st-reset): add stm32mp2_reset driver
This driver manages the resets of the peripherals embedded in STM32MP2. Like clock driver, it also uses the RCC peripheral.
Change-Id: I8217891bdf1b847925aad77f3f6ef542f08d1fba Signed-off-by: Yann Gautier <yann.gautier@st.com>
show more ...
|
| 615f31fe | 20-Apr-2022 |
Gabriel Fernandez <gabriel.fernandez@foss.st.com> |
feat(st-clock): add STM32MP2 clock driver
This driver manages the clocks on STM32MP2 platforms. It uses a dedicated RCC (Reset and Clock Control) peripheral.
Change-Id: I6ba2173e73222269a2dfca4c689
feat(st-clock): add STM32MP2 clock driver
This driver manages the clocks on STM32MP2 platforms. It uses a dedicated RCC (Reset and Clock Control) peripheral.
Change-Id: I6ba2173e73222269a2dfca4c6897229276a150c0 Signed-off-by: Yann Gautier <yann.gautier@st.com> Signed-off-by: Gabriel Fernandez <gabriel.fernandez@st.com>
show more ...
|
| 66b4c5c5 | 05-Jan-2023 |
Yann Gautier <yann.gautier@foss.st.com> |
refactor(st): move FWU support to common code
Move PLAT_PARTITION_MAX_ENTRIES and all other definitions linked to it to common.mk. Move drivers/fwu/fwu.mk inclusion there as well.
Signed-off-by: Ya
refactor(st): move FWU support to common code
Move PLAT_PARTITION_MAX_ENTRIES and all other definitions linked to it to common.mk. Move drivers/fwu/fwu.mk inclusion there as well.
Signed-off-by: Yann Gautier <yann.gautier@foss.st.com> Change-Id: I5dde65e41908d706328cb8929582f827ceeff841
show more ...
|
| e04a9ef5 | 16-Mar-2022 |
Pascal Paillet <p.paillet@st.com> |
refactor(st): use GPIO banks definition from bindings
Use GPIO banks definition from bindings.
Change-Id: I4dcf321345e319af78285e940b72a1369569b996 Signed-off-by: Pascal Paillet <p.paillet@st.com> |
| 47ea3033 | 18-Jan-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): use early traces
Replace ERROR message with EARLY_ERROR for OTP driver probe, as this will be called before default console is enabled.
Signed-off-by: Yann Gautier <yann.gautier@st.
feat(stm32mp2): use early traces
Replace ERROR message with EARLY_ERROR for OTP driver probe, as this will be called before default console is enabled.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I756a04727c494d5f681a45d47d01189dff07dbe7
show more ...
|
| 94cad75a | 25-Oct-2023 |
Yann Gautier <yann.gautier@foss.st.com> |
refactor(st): replace STM32MP_EARLY_CONSOLE with EARLY_CONSOLE
Now that EARLY_CONSOLE is generic, use it instead of the ST flag. Remove stm32mp_setup_early_console() calls as it is done in common TF
refactor(st): replace STM32MP_EARLY_CONSOLE with EARLY_CONSOLE
Now that EARLY_CONSOLE is generic, use it instead of the ST flag. Remove stm32mp_setup_early_console() calls as it is done in common TF-A code.
Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: Icac29b62a6267303cb5c679d15847c013ead1d23
show more ...
|
| 2e905c06 | 02-Feb-2024 |
Yann Gautier <yann.gautier@st.com> |
feat(stm32mp2): add STM32MP_USB_PROGRAMMER compilation
Add minimal compilation step when enabling STM32MP_USB_PROGRAMMER flag on STM32MP2. Add DWL_BUFFER_BASE in platform.mk and the compilation of t
feat(stm32mp2): add STM32MP_USB_PROGRAMMER compilation
Add minimal compilation step when enabling STM32MP_USB_PROGRAMMER flag on STM32MP2. Add DWL_BUFFER_BASE in platform.mk and the compilation of the new file plat/st/stm32mp2/stm32mp2_usb_dfu.c (just stubs for the moment).
Signed-off-by: Pankaj Dev <pankaj.dev@st.com> Signed-off-by: Patrick Delaunay <patrick.delaunay@foss.st.com> Signed-off-by: Yann Gautier <yann.gautier@st.com> Change-Id: I8891ff23ddc3d40d7477ada3e49e439dd8af8316
show more ...
|