v2.10-stm32mp-r1
The following changes since commit b6c0948:
Merge "docs(changelog): changelog for v2.10 release" into integration (2023-11-22 17:31:48 +0100)
are available in the Git repository at:
https://github.com/STMicroelectronics/arm-trusted-firmware.git tags/v2.10-stm32mp-r1
for you to fetch changes up to 75f8c31:
fix(stm32mp2-fdts): move stm32mp25 dk board on new SDMMC1 slew rate (2024-11-04 13:22:24 +0100)
First release based on official LTS 2.10 branch
- Rebase official lts-v2.10.5
- Add STM32MP23 SoC support
- Add STM32MP23 DK Board
- Add support of STPMIC1L
- Multiples fix and improvement
Ahmad Fatoum (1):
fix(pmu): fix breakage on ARMv7 CPUs with SP_min as BL32
Alexandre TORGUE (3):
feat(stm32mp23-fdts): add RCC and RIF configuration for stm32mp235f-dk
feat(stm32mp25-fdts): update RIF configuration for DK board
feat(stm32mp25-fdts): update RIF configuration
Alexandre Torgue (1):
feat(fdts): add stm32mp215f-dk system configuration files
Amit Mittal (1):
fix(st-usb): decrease log level to info/verbose
Antonio Borneo (7):
feat(stm32mp2-fdts): update compatible string for watchdog
feat(stm32mp2): update compatible string for watchdog
feat(st): drivers/stm32_iwdg: start the watchdog on status okay
feat(stm32mp2): fix macros for watchdog's OTP
feat(stm32mp2): add watchdog support
feat(stm32mp25-fdts): add iwdg1 on eval board
feat(stm32mp2): put back core 1 in wfi after debugger's halt
Arthur She (1):
Merge changes from topic "for-lts-v2.10.3" into lts-v2.10
Arvind Ram Prakash (3):
fix(errata): add Cortex-A520 definitions
fix(cpus): workaround for Cortex-A520 erratum 2858100
fix(gic600): workaround for Part 1 of GIC600 erratum 2384374
Bernard Puel (1):
docs(st): add CONTRIBUTING.md
Bipin Ravi (18):
fix(cpus): workaround for Neoverse V2 erratum 2662553
feat(security): add support for SLS mitigation
fix(cpus): workaround for Neoverse V2 erratum 2618597
fix(cpus): workaround for Cortex-X3 erratum 2302506
fix(cpus): workaround for Cortex-X3 erratum 2266875
fix(cpus): workaround for Cortex-A78C erratum 2683027
fix(cpus): workaround for Cortex X3 erratum 2641945
fix(cpus): workaround for Cortex-A715 erratum 2561034
Merge changes I0eaf5f7b,Ia80bd4b2,I612338fd,I4008ccbc into lts-v2.10
fix(cpus): workaround for Cortex-X3 erratum 2372204
fix(cpus): workaround for Cortex-A715 erratum 2429384
fix(cpus): workaround for Cortex-A715 erratum 2420947
fix(cpus): workaround for Cortex-A715 erratum 2331818
fix(cpus): fix a defect in Cortex-A715 erratum 2561034
fix(cpus): workaround for Cortex-A720 erratum 2940794
fix(cpus): workaround for Cortex-A720 erratum 2926083
fix(cpus): workaround for Cortex-A715 erratum 2728106
fix(cpus): workaround for Cortex-X4 erratum 2740089
Charlie Bareham (1):
fix(psci): fix parent parsing in psci_is_last_cpu_to_idle_at_pwrlvl
Christoph Fritz (1):
fix(st-clock): adapt order of CSS on LSE and HSE
Christophe Guibout (1):
fix(st-ddr): improve DLL clock management in self refresh sequence
Christophe Kerello (58):
feat(st-fmc): make the reset optional
feat(st-fmc): update the driver to support STM32MP25
feat(stm32mp25-fdts): add FMC2 support
feat(stm32mp2): add support for SPI NAND/raw NAND boot device
feat(stm32mp2): add OSPI support
feat(stm32mp25-fdts): add OSPI support
feat(mtd): add dirmap_read callback
feat(spi-nand): use spi_mem_dirmap_read
feat(mtd): spi_nor: use spi_mem_dirmap_read
feat(st-spi): add dirmap_read support
feat(st-spi): manage multiple resets
feat(mtd): spi_mem: add octal mode support
feat(st-spi): add octal mode support
feat(mtd): spi_nor: add octal read commands
feat(st-fmc): add RIF support
feat(st): add a helper to get OSPI memory mapped size
refactor(st-spi): move on IOM bindings
refactor(stm32mp2-fdts): move on IOM bindings
refactor(mtd): update NOR bank management
feat(mtd): add 4-bytes address opcodes for NOR
feat(stm32mp2): use 4-bytes fast read opcode
feat(st-fmc): reset FMC2 if CFGR access is allowed
fix(st-spi): enable delay block bypass
fix(st-spi): enable SSHIFT
fix(st-spi): always check SR_TCF flags in stm32_omi_wait_cmd()
fix(stm32mp2): add quad SPI NOR configuration
feat(fdts): add OSPI muxing
feat(fdts): add OSPI nodes on eval board
feat(stm32mp2): syscfg: Add delay block management for OSPI
feat(st-spi): add OSPI calibration
fix(stm32mp2): syscfg: Add delay block stop API
fix(st-spi): disable the delay block before the calibration
feat(st-spi): allow to sample later the data
feat(mtd): add hyperflash framework
feat(st-spi): add hyperflash support
feat(stm32mp2): add hyperflash support
feat(mtd): add DTR support in spi-mem
feat(mtd): spi_nor: add octal DTR support
fix(stm32mp2): multiple fixes added for DTR support
feat(st-spi): multiple fixes added for DTR support
feat(mtd): add reset callback
fix(stm32mp2): flush data cache at the end of BL2
feat(stm32mp2): add IO exit API
fix(st-gpio): configure each GPIO mux as secure for MP25
refactor(stm32mp25-fdts): rename IOM EVAL pins muxing configurations
feat(st-spi): Add the support of the SFDP calibration
feat(st-spi): add OSPI support for MP21
feat(fdts): add sdmmc2 node for stm32mp21
feat(fdts): add fmc node for stm32mp21
feat(fdts): add sdmmc2 pins for stm32mp21
fix(stm32mp2-fdts): keep ommanager for hyperflash
feat(stm32mp21-fdts): add SD card support for stm32mp215f-dk board
feat(stm32mp21-fdts): add eMMC support for stm32mp215f-dk board
fix(st-gpio): configure each GPIO mux as secure for STM32MP2
fix(stm32mp2-fdts): fix SDMMC slew rate on eval and dk board
fix(stm32mp2-fdts): fix SDMMC1 slew rate on eval and dk board
fix(stm32mp2-fdts): move stm32mp23 dk board on new SDMMC1 slew rate
fix(stm32mp2-fdts): move stm32mp25 dk board on new SDMMC1 slew rate
Christophe Roullier (2):
feat(stm32mp2): enable watchdog driver
feat(fdts): add watchdog support for STM32MP2
Clément Le Goffic (5):
feat(fdts): add UART nodes for STM32MP211
feat(stm32mp21-fdts): add support for console for stm32mp215f-dk
feat(stm32mp21-fdts): add support for watchdog
feat(stm32mp21-fdts): add I2C nodes for stm32mp211
feat(stm32mp21-fdts): add support for I2C3 on stm32mp215f-dk
Diederik de Haas (1):
fix(rk3328): apply ERRATA_A53_1530924 erratum
Etienne Carriere (2):
feat(stm32mp1): default load optee in DDR
fix(stm32mp1-ssp): improve SSP robustness and allow to drop some words
Francois Choleau (2):
feat(stm32mp23-fdts): update STM32MP235F-DK board
feat(dt-bindings): add declaration of RIF_UNUSED
Gabriel Fernandez (25):
feat(st-clock): don't gate/ungate an oscillator if it is not wired
docs(stm32mp15): new RCC DT bindings
feat(dt-bindings): new RCC DT bindings
feat(stm32mp1-fdts): new RCC DT bindings for STM32MP1
feat(st-clock): update with new bindings
feat(dt-bindings): SPIx bus clocks are missing
feat(stm32mp13-fdts): remove pll1 settings
fix(dt-bindings): update STM32MP2 clock and reset bindings
feat(st-clock): add stm32mp2_clk driver
feat(st-reset): add stm32mp2_reset driver
feat(st-clock): add init of STM32MP2 DDR sub-system
refactor(st-clock): data size optimization
refactor(st-clock): data size optimization
refactor(st-clock): code size optimization
refactor(st-clock): code size optimization
refactor(st-clock): use STM32_GATE() instead GATE() for STM32MP2
refactor(st-clock): optimize clock ops management
refactor(st-clock): rename USB3DRD
feat(stm32mp1-fdts): remove RTC clock configuration
refactor(st-clock): remove useless LSEDRV_MEDIUM_HIGH define for STM32MP13
fix(dt-bindings): update STM32MP2 clock and reset bindings
feat(stm32mp1-fdts): configure only used clocks
feat(st-clk): move oscillators ops from clk-stm32-core to drivers
feat(st-clk): move gate_refcounts check to use UINT8_MAX
fix(dt-bindings): bad FLEXGEN configuration of pred-division for STM32MP25
Gatien Chevallier (11):
feat(stm32mp2): add common SMC runtime services
feat(stm32mp2): add a runtime service for STGEN configuration
fix(stm32mp2): rename some RIF macros
feat(st-drivers): add RIFSC driver
fix(stm32mp2): correct typo in definition header
feat(stm32mp2): add intrusion alert upon tamper event detected
feat(stm32mp1): add intrusion alert upon tamper event detected
refactor(stm32mp1): update reset_backup_domain function
feat(stm32mp1): add TAMPER management logic at bl2 platform setup
refactor(stm32mp2): update reset_backup_domain function
feat(st): allow SRAM1 secure accesses earlier in bl2_el3_plat_arch_setup()
Gwenael Treuveur (1):
fix(stm32mp2): maintain LPSRAM1 content in standby mode
Harrison Mutai (3):
fix(cpus): workaround for Cortex X3 erratum 2743088
fix(cpus): workaround for Cortex-A715 erratum 2344187
docs: decrease the minimum supported OpenSSL
Javier Almansa Sobrino (1):
docs: fix errata in RMM-EL3 Communication Interface documentation
Jimmy Brisson (1):
feat(mbedtls): update config for 3.6.0
Lionel Debieve (21):
feat(bl): allow platform to define backup partitions
feat(makefile): add macro and variable to generate metadata
feat(stm32mp1): generate default metadata with bl2 image
feat(st-clock): add function to control MCU subsystem
feat(st-reset): add system reset management
feat(stm32mp1-fdts): move RNG1 to CSI to improve random generation
fix(stm32mp1): check DDR refresh to restore firewall configuration
feat(stm32mp1-fdts): use iwdg1 instead of iwdg2
feat(stm32mp1): add a regulator supply function for sysram
feat(st): add interface to get otp from phandle
feat(st-bsec): add the write otp function support in BSEC3
feat(st): add a provisioning mode to manage shadow OTP
feat(fdts): add hconf1 OTP reference for stm32mp251
feat(st): add SSP support for STM32CubeProgrammer
feat(stm32mp1): add secure secret provisioning
feat(st): update SSP for stm32mp13 platform
fix(st): fix the ssp_otp nvmem for stm32mp13
fix(st): fix uart issue in SSP mode
feat(stm32mp1-fdts): add sysram node for ssp
fix(stm32mp1): fix uart download issue on console
fix(stm32mp1): check for the correct vddcore regulator
Ludovic Barre (1):
feat(stm32mp1): add hypervisor mode for bl33
Manish Pandey (3):
docs(security): security advisory for CVE-2023-49100
feat(spmd): initialize SCR_EL3.EEL2 bit at RESET
docs(sdei): provide security guidelines when using SDEI
Manish V Badarkhe (2):
docs(threat_model): mark power analysis threats out-of-scope
fix(mbedtls): sign verification issue with invalid Key/Signature
Marcin Juszkiewicz (1):
fix(errata): check for SCU before accessing DSU
Maxime Méré (40):
feat(stm32mp2): Mask potential tamper during FSBL execution
refactor(st): change suffixes for SYSCFG functions
feat(st-crypto): check if SAES is already initialized
feat(stm32mp1): derivating MCE key from HUK
feat(stm32mp2): derivating DDRCryp encryption key from HUK
feat(efi): add metadata GUID define
feat(st): add GUID support for metadata partition selection
fix(st-crypto): adapt kshareid values for STM32MP25
feat(stm32-rng): add multi instance support in RNG driver
feat(stm32mp2): add UART Programmer support
feat(fdts): introduce STM32MP21 pinctrl files
feat(stm32mp21): add PKA node in STM32MP21 platforms
feat(stm32mp21): add HASH node for STM32MP21
feat(stm32mp2): implement new SoC revision ID system
feat(st-clk): add dmb/dsb in clock driver
fix(st): update STM32MP2 part number
feat(stm32mp2): add binary as payload to support buildroot
feat(stm32mp25): adapt authentication status
feat(stm32mp2-fdts): add CRYP1 and CRYP2 to mp2 device tree
Revert "feat(bl): align DATA section end on 2 bytes"
feat(st): rework FWU to consider trial counter 0 as uninitialized
fix(stm32mp1-ssp): fix minor issue in TFA SSP
fix(st-crypto): do not set IPRST if BUSY flag is present
fix(st): bootcount must be initialized outside the case statement
feat(st-crypto): change RNG code to improve MISRA compatibility
feat(stm32mp2): update BSEC fuse map for STM32MP21
feat(stm32-rif): improve peripheral access acquisition
feat(st): introduce SoC family compilation switch
fix(stm32-rng): RNG doesn't take into account fully disabled node
feat(stm32mp2): change PKH_OTP value for STM32MP21
feat(st-crypto): Change PKA compatible name
feat(fdts): change PKA compatible name
fix(stm32mp2): enable trusted boot for STM32MP21
refactor(stm32mp2): update authentication check for STM32MP2
fix(stm32mp2): mask potential tamper earlier
fix(fdts): set flexgen 58 to HSE_KER for STM32MP257F-DK
feat(stm32mp2): force autonomous mode for LPSRAM1/2/3 when CPU3 is used
fix(cert-create): add default keysize to Brainpool ECDSA
feat(stm32mp2): improve BL31 size management
fix(stm32mp2): reduce BL2 size on trusted boot
Michel JAOUEN (2):
fix(stm32mp2): remove all set of gpio secure in M33TD build
fix(stm32mp2): add some critical clock in M33TD build
Nicolas LE BAYON (6):
feat(st-ddr): add user input mode_register and swizzle structures
feat(st-ddr): construct firmware binaries
feat(stm32mp2): manage DDR FW via FIP
feat(st-ddr): adapt binary and message block loads
feat(stm32mp2): save/restore DDR PHY training results for low power modes
refactor(st-ddr): phy: remove unused timing group register updates
Nicolas Le Bayon (101):
feat(dt-bindings): add MCE DT bindings for STM32MP13
feat(st-drivers): add Memory Cipher Engine driver
feat(stm32mp1): enable MCE driver for STM32MP13
feat(stm32mp1): prepare DDR secure area encryption for STM32MP13
refactor(st-ddr): gather redundant procedures as generic services
feat(st-ddr): add generic services to manage quasi-dynamic registers
fix(st-ddr): manage refresh related register modifications
refactor(st-ddr): rename timeout definitions
refactor(st-ddr): create definitions for delays
fix(st-ddr): manage AXI ports and HIF when updating QD3 registers
refactor(stm32mp1): move is_wakeup_from_standby in platform common part
feat(stm32mp2): add RIF dt-binding defines
feat(fdts): add RISAF nodes for STM32MP25
feat(st-drivers): add RISAF driver
feat(stm32mp2): enable RISAF driver
feat(stm32mp2): prepare DDR secure area encryption
feat(stm32mp25-fdts): add DDRCTRL and DDRPHY settings in DDR node
feat(st-ddr): add STM32MP2 driver template
feat(stm32mp2): add helper to get DDRDBG base address
feat(st-ddr): add self-refresh sequences for STM32MP2
feat(st-ddr): add STM32MP2 DDRCTRL management
feat(stm32mp2): introduce DDR type compilation flags
feat(st-ddr): add STM32MP2 PHY driver
feat(stm32mp2): enable DDR PHY driver
feat(st-ddr): fill PHY user input structures with DT
fix(st-ddr): manage quasi-dynamic register modifications (stm32mp2)
feat(st-ddr): add firmware completion wait procedure
feat(st-ddr): implement phy error management
feat(stm32mp2): enable DDR driver
feat(stm32mp2): enable PMIC driver
fix(st-ddr): phy: disable simulation options for training
fix(st-ddr): phy: adjust phyvref for DDR3
fix(st-ddr): stm32mp2: simplify reset and sysconf sequences
fix(st-ddr): phy: Set DfiMode in LPDDR4
fix(st-ddr): add dynamic pllbypass DDRDBG configuration
fix(st-ddr): phy: adjust phyvref for DDR4
fix(fdts): ddr: add phyvref and sequencectrl for STM32MP2
fix(st-ddr): phy: add phyvref and sequencectrl advanced parameters
refactor(st-ddr): stm32mp2: align restore refresh on legacy model
refactor(st-ddr): stm32mp2: extend controller activation capabilities
fix(st-ddr): stm32mp2: save self-refresh mode after each update
feat(st-ddr): stm32mp2: implement software self-refresh sequences
feat(st-ddr): stm32mp2: add RETRAM dynamic mmap during init
feat(st-ddr): stm32mp2: set retention register in RETRAM
feat(stm32mp2): implement is_wakeup_from_standby service
feat(st-ddr): stm32mp2: implement standby software self-refresh
fix(st-ddr): stm32mp2: ensure correct LPDDR4 self-refresh configuration
refactor(st-ddr): stm32mp2: rename self-refresh exit function
feat(st-rif): manage encryption with firmware configuration
feat(fdt-wrappers): add function to read uint64 with default value
fix(st): support device tree DDR sizes higher than 16Gbits for aarch64
fix(st): change method to get GIC base addresses
fix(st): add 64-bit support on GIC base address
feat(st-ddr): phy: release upgrade (firmware)
feat(st-ddr): phy: release upgrade (phyinit)
fix(st-ddr): preserve DDR sharing in driver
feat(stm32mp2): add DDR power init sequence for STM32MP257F-DK
docs(dt-bindings): add DDR device tree bindings used on STM32MP2
feat(st-ddr): improve quasi-dynamic register init for STM32MP2
fix(st-ddr): make systematic tests aarch-generic
feat(stm32image): add header version 2.3 support
docs(stm32mp2): correct STM32MP2 frequencies
feat(st-clock): add STM32MP2 variants compliance in driver
feat(stm32mp21-fdts): add SoC DT files
feat(stm32mp21-fdts): add pinctrl DT file
feat(stm32mp23-fdts): add pinctrl DT file
feat(stm32mp21): manage STM32MP21 DT overlays
feat(stm32mp23): manage STM32MP23 DT overlays
feat(stm32mp21-fdts): add fw-config file
feat(stm32mp23-fdts): add fw-config file
feat(stm32mp21): update SRAM1 and RETRAM base address
feat(stm32mp21): remove GPIOJ and GPIOK
feat(stm32mp21): add PWR registers file
feat(stm32mp21): disable PWR_CPU3CR and PWR_D3CR access on STM32MP21
feat(stm32mp21): disable RCC_C1P1RSTCSETR access on STM32MP21
feat(st-bsec3): add STM32MP21 version support
feat(st-bsec): update OTPCR masks for STM32MP21
feat(stm32mp21): update revision A ID
feat(stm32mp21): update STM32 header size for STM32MP21
docs(stm32mp2): introduce new STM32MP23 family
feat(stm32mp21): introduce new STM32MP21 flag
feat(stm32mp23): introduce new STM32MP23 flag
feat(stm32mp21): update boot API header version
feat(stm32mp21): add SoC part numbers
feat(stm32mp23): add SoC part numbers
feat(stm32mp21): add clock and reset bindings
feat(stm32mp23): add clock and reset bindings
feat(stm32mp21): no GPU BW limiter disable on STM32MP21
feat(stm32mp23-fdts): add SoC DT files
feat(st-rif): add RISAF MCE support for STM32MP21
feat(stm32mp2): manage RISAF MCE key for STM32MP21
feat(stm32mp21): enable USBOTG DFU
refactor(st-rif): cleanup RIFSC IP configuration
feat(stm32mp21): add RIFSC IDs bindings
feat(stm32mp23): add RIFSC IDs bindings
feat(st-rif): add STM32MP2x support in RIFSC driver
feat(stm32mp2): add RIFSC USB configuration for variants
refactor(st-ddr): reduce DDR driver footprint for STM32MP2
fix(st-ddr): manage CID filtering when accessing PWR_CR11
stm32mp21: check HWKEY validity before writing RISAF encryption key
fix(st-crypto): check RNG seed error after null data read
Nicolas Toromanoff (3):
feat(fwu): add metadata generator tools
feat(stm32mp1): default first metadata for FWU
feat(stm32mp1): manage potential tamper while boot
Olivier BIDEAU (3):
feat(fdts): add support for STM32MP257F-DK
feat(fdts): enable sdmmc2 for eMMC on STM32MP257F-DK
feat(fdts): activate IWDG1 on STM32MP257F-DK
Pankaj Dev (6):
feat(st-usb): add USB DWC3 driver
fix(drivers/usb): Remove packet splitting inside usb-core
fix(drivers/usb): Call ep0_out_start only for EP0_OUT
fix(st-usb): fix issues with usb-stop and usb-start code
fix(st-usb): optimize dwc3 structure size
feat(st-usb): enable USBOTG DFU for STM32MP21
Pascal Paillet (32):
feat(st-clock): add function to restore generic timer rate
feat(stm32mp1): add LPLV-Stop2 mode
fix(stm32mp1): do not modify CPU voltage after standby
feat(st-regulator): add enable ramp-delay in BL2
feat(dt-bindings): describe GPIO banks and config
refactor(st): use GPIO banks definition from bindings
feat(st-gpio): add set GPIO config API
feat(st-regulator): introduce STM32 GPIO regulator
feat(stm32mp1): enable GPIO regulator on STM32MP1
feat(stm32mp2): syscfg: Add IO compensation handling
feat(stm32mp2): pwr: Add PWR driver for STM32MP2
feat(stm32mp2): pwr: Log VRSEL not correctly set
feat(st-pmic): add STPMIC2 driver
feat(stm32mp2): handle DDR power supplies
feat(stm32mp2): add STPMIC2 driver support
feat(stm32mp2): temporary workaround LDO5 current limitation
feat(fdts): describe stpmic2 power supplies
feat(stm32mp2): adjust DDR4 init delays
feat(stm32mp2): handle st,mask-reset property
feat(stm32mp1): handle st,mask-reset property
refactor(st-pmic): remove useless structure fields
refactor(st-drivers): remove useless structure fields in fixed regul
refactor(stm32mp2): pwr: remove useless structure fields
feat(st-pmic): add support for STPMIC1L and STPMIC2L
feat(stm32mp1): make stpmic2 usable for STM32MP1
feat(stm32mp1): update STPMIC1 driver to handle more properties
feat(stm32mp1-fdts): add DDR power supplies description
feat(stm32mp1): rework ddr supplies handling
feat(stm32mp21): describe power supplies on STM32MP215F-DK board
feat(stm32mp21): DDR describe power supplies on STM32MP215F-DK board
fix(stm32mp2): isolate STGEN in low power
feat(stm32mp2): fix CPU1 wake-up from RUN2
Patrice Chotard (1):
feat(stm32mp2): increase STM32MP_HW_CONFIG_MAX_SIZE
Patrick Delaunay (95):
fix(st-ddr): manage quasi-dynamic register modifications
refactor(st-bsec): remove BSEC_DEN_ALL_MSK
feat(stm32mp1): handle DDR power supplies
refactor(st-bsec): remove bsec_write_debug_conf
fix(st-clock): force SRAM1 and SRAM2 clock enable
feat(stm32mp2-fdts): add package unique device id in STM32MP251
feat(stm32mp2): add define for device unique id access
feat(st): update stm32cubeprogrammer API
feat(stm32mp2): add support for minimal FIP with only DDR FW
feat(stm32mp2): generate FIP for DDR initialization
feat(stm32mp2): add STM32MP_USB_PROGRAMMER support
refactor(st-bsec): improve BSEC driver
refactor(st-bsec): add bsec_get_secure_state
refactor(st-bsec): rename defines for BSEC_OTP_STATUS
refactor(st-bsec): remove unused defines BSEC_MODE_
feat(stm32mp1-fdts): change name of encrypted key OTP
feat(st-bsec): Add support of BSEC_HARDWARE_KEY for STM32MP13
refactor(st-bsec): update bsec_check_nsec_access_rights
refactor(st-bsec): remove bsec_otp_lock
refactor(st-bsec): improve BSEC API
refactor(st-bsec): remove bsec_get_base function
refactor(st-bsec): move defines in driver
refactor(st-bsec): add otp_bit_mask
refactor(st-bsec): remove bsec_read_scratch
fix(stm32mp2): DDR FW management via FIP
feat(stm32mp2-fdts): change name of OTP part_number_otp
feat(stm32mp2-fdts): add package otp in STM32MP251
feat(stm32mp2): display the STM32MP25x package in SoC name
feat(stm32mp2): add RIFSC/RISAB protection for USB3DR
feat(stm32mp2): handle CPU off of core 0
feat(stm32mp2): add support for Cortex-A35 cluster reset
feat(stm32mp2): add stm32mp_gic_cpuif_enable/disable
feat(stm32mp2): remove stm32_node_hw_state
feat(psci): update PSCI_MAX_PWR_LVL for extented StateID format
feat(st-clock): add stm32mp2 pll1 functions for stm32mp2 low power
feat(optee): add a new function opteed_restore
feat(stm32mp2): check arg0 in bl31_early_platform_setup2()
feat(stm32mp2): add support for PSCI_OS_INIT_MODE
feat(stm32mp2): keep RETRAM in Standby mode
refactor(st-ddr): stm32mp2: rename self-refresh exit function
fix(stm32mp2): correctly handle STANDBY
feat(stm32mp2): add IAC defines
feat(st-bsec): export BSEC function for SSP
fix(psci): fix power level for CPU off with OSI
refactor(st-clock): support deactivated STGEN in stm32mp_stgen_config
feat(stm32mp2): save gicv2 configuration for STOP2 modes
fix(psci): fix parent_idx in psci_validate_state_coordination
fix(psci): fix parent parsing in psci_is_last_cpu_to_idle_at_pwrlvl
feat(stm32mp2): add function plat_get_target_pwr_state
feat(psci): fix psci_update_req_local_pwr_states
refactor(st-clock): remove unused clk function in API
feat(psci): add PLAT_MIN_SUSPEND_PWR_LVL
feat(stm32mp2): verify power mode for suspend request
feat(gicv2): add gicv2_distif_save / restore functions
feat(st): add stm32mp_gic_save / resume functions
feat(stm32mp2): display pending IAC in BL2 entry
fix(stm32mp1): remove unnecessary assert on GPIO_BANK_A value
fix(stm32mp2): remove unnecessary assert on GPIO_BANK_A value
revert feat(psci): export psci_set_target_local_pwr_states()
fix(stm32mp2): update pwr_domain_suspend
fix(stm32mp2): update print_reset_reason
feat(st-ddr): add ddr_sub_system_clk_off for STM32MP2
fix(stm32mp2): correct stm32_system_off
fix(fdts): change PLL node name in STM32MP25 clock tree
feat(st-pmic): support st,regulator-sink-source
feat(stm32mp25-fdts): add sink-source for LDO3 with DDR4
feat(st-regulator): support regulator_set_voltage for fixed regulator
docs(dt-bindings): add DDR supply in STM32MP2 device tree bindings
feat(stm32mp25-fdts): add DDR power supplies
feat(stm32mp2): access to DDR regulators by supply name
feat(stm32mp2): add DDR3 platform power functions
feat(stm32mp25-fdts): add ramp delay on ddr supply
feat(stm32mp2): regulator-enable-ramp-delay for DDR regulator
fix(st-gpio): configure each GPIO mux as secure for STM32MP25
fix(st): allow several call of stm32cubeprog_uart_load
fix(stm32mp2): fix the LP-Stop2 and LPLV-Stop2
feat(stm32mp2): add fdt address in low-power context
feat(stm32mp2): optimize the wake-up time for low power modes
feat(st-ddr): improve sequence of self-refresh exit
feat(plat-stm32mp2): remove stm32_iwdg_shadow_update
fix(stm32mp2): fix watchdog support
feat(stm32mp2-fdts): remove the pins-are-numbered property from stm32mp251
fix(dt-bindings): correct LSEDRV values
fix(st-clock): display proper PLL number for STM32MP13
feat(stm32mp2): support running M33 for low power mode
fix(stm32mp2): restore PLL1 settings after STOP2 modes
feat(st-clock): rename stm32mp2_a35_ss_on_hsi
feat(st-clock): force HSI for CA35 bypass clock for low power modes
stm32mp2: Call the OP-TEE SPD cpu suspend handler for STOP1
feat(stm32mp2-fdts): fix rcc support in stm32mp251
refactor(stm32mp2): simplify STM32MP2 flag selection in platform.mk
fix(st-clock): force ARM_DIVSEL for flexgen63 config at 400MHz
Trace in stm32_get_sys_suspend_power_state
Revert "feat(stm32mp23): add clock and reset bindings"
feat(stm32mp2): limit low power mode when cortex-M0 is running
Prasad Kummari (1):
feat(versal): enable errata management feature
Release CI (3):
docs(changelog): changelog for lts-v2.10.3 release
docs(changelog): changelog for lts-v2.10.4 release
docs(changelog): changelog for lts-v2.10.5 release
Robin van der Gracht (1):
feat(stm32mp1): only fuse monotonic counter on closed devices
Rohit Mathew (2):
fix(cpu): correct variant name for default Poseidon CPU
feat(cpu): add support for Poseidon V CPU
Sebastien PASDELOUP (8):
feat(stm32mp1): add stm32_get_uid_otp
feat(fdts): rename STM32MP257F-EV into STM32MP257F-EV1
feat(stm32mp21): disable PWR_CPU3D3SR access on STM32MP21
feat(stm32mp21): disable PWR_D3CR access on STM32MP21
feat(st-crypto): add STM32MP21 SAES driver support
feat(stm32mp2): add TAMPER management logic at bl2 platform setup
feat(stm32mp2): remove function stm32_iwdg_shadow_update()
feat(stm32mp21-fdts): add board ID OTP for STM32MP215F-DK
Sebastien Pasdeloup (1):
feat(stm32mp1): add MCE master key services for STM32MP13
Serge BARANDAO (2):
feat(stm32mp21): enable crypto peripherals on STM32MP215F-DK board
feat(fdts): add ospi1 node for stm32mp21
Simeon Marijon (7):
feat(stm32mp2-fdts): add nvram (NVMEM) node under tamp in stm32mp251.dtsi
feat(stm32mp13-fdts): add nvram (NVMEM) node under tamp in stm32mp131.dtsi
feat(stm32mp15-fdts): add nvram (NVMEM) node under tamp in stm32mp151.dtsi
feat(st-nvmem): add nvmem framework
feat(st): add support for TAMP backup registers
feat(stm32mp2): initialize TAMP Backup Registers for BL2 and BL31
feat(st): use NVMEM framework instead of direct reg access
Sona Mathew (16):
fix(cpus): workaround for Cortex-X3 erratum 2779509
fix(cpus): workaround for Neoverse V1 erratum 2348377
fix(cpus): workaround for Cortex-A78C erratum 2743232
fix(cpus): workaround for Cortex-A710 erratum 2778471
fix(cpus): workaround for Cortex-X2 erratum 2778471
fix(cpus): workaround for Cortex-A520 erratum 2630792
refactor(errata-abi): optimize errata ABI using errata framework
refactor(errata-abi): workaround platforms non-arm interconnect
fix(cpus): add erratum 2701951 to Cortex-X3's list
chore: rearrange the fvp_cpu_errata.mk file
fix(cpus): workaround for Cortex-X4 erratum 2701112
fix(cpus): workaround for Cortex-A715 erratum 2413290
chore: update status of Cortex-X3 erratum 2615812
fix(cpus): workaround for Cortex-A715 erratum 2413290
chore: rename Poseidon to Neoverse V3
fix(cpus): workaround for Cortex-X4 erratum 2763018
Sughosh Ganu (10):
feat(fwu): update the URL links for the FWU specification
feat(fwu): document the config flag for including image info in the FWU metadata
feat(fwu): migrate FWU metadata structure to version 2
feat(st): get the state of the active bank directly
feat(fwu): modify the check for getting the FWU bank's state
feat(fwu): add some sanity checks for the FWU metadata
feat(fwu): add a function to obtain an alternate FWU bank to boot
feat(st): add logic to boot the platform from an alternate bank
style(partition): use GUID values for GPT partition fields
style(fwu): change the metadata fields to align with specification
Thomas Abraham (1):
fix(sgi): apply workarounds for N2 CPU erratum
Thomas BOURGOIN (1):
feat(st-crypto): resolve MISRA warning in HASH
Thomas Bourgoin (3):
fix(stm32mp2): update boot API header version
feat(stm32mp1): remove stop watchdog when going in low power
feat(st): remove unused IWDG flags
TrustedFirmware Code Review (4):
Merge "fix(pmu): fix breakage on ARMv7 CPUs with SP_min as BL32" into lts-v2.10
Merge changes from topic "for_lts_v2.10.4" into lts-v2.10
Merge changes from topic "for_lts_v2.10.4" into lts-v2.10
Merge changes from topic "for_lts_v2.10.5" into lts-v2.10
Valentin Caron (3):
feat(stm32mp2-fdts): add UART console on stm32mp257f-ev boards
feat(stm32mp2): pwr/syscfg: skip none existent STM32MP21 power registers
feat(stm32mp2): add a new stm32mp21 power compatible
Varun Wadekar (1):
Merge changes I13fa93a6,I2bf9e675,I9c610777,I048b8308,I2c8577e3, ... into lts-v2.10
Wing Li (1):
fix(psci): add optional pwr_domain_validate_suspend to plat_psci_ops_t
Yann Gautier (248):
docs(changelog): changelog for lts-v2.10.1 release
Merge changes I38d7378a,I377f250a,If8b2bdbb,Ia6d6ac8a into lts-v2.10
fix(build): move comment for VERSION_PATCH
fix(build): properly manage versions in .versionrc.js
fix(build): update versions
docs(changelog): changelog for lts-v2.10.2 release
docs(changelog): display all sections
Merge "docs(changelog): display all sections" into lts-v2.10
Merge "docs(changelog): changelog for lts-v2.10.3 release" into lts-v2.10
docs(prerequisites): update mbedtls version used
docs(st): add SECURITY.md
docs(st): add CODE_OF_CONDUCT.md
feat(st): add ST specific version
feat(memmap): add RELA section display
feat(stm32mp1): add FWU with boot from NAND
refactor(stm32mp1): move the MCU security to BL32
refactor(st-i2c): use fdt_read_uint32_default()
feat(st-i2c): compute dynamically I2C timings
feat(debug): add one register in asm print functions
feat(st-uart): add timeout management
feat(stm32mp1-fdts): add MCE support for STM32MP13 DK board
feat(stm32mp1): add Backup SRAM definitions
feat(st): protect access on PWR registers
feat(stm32mp1): add low-power context management
feat(stm32mp1): update boot_api.h for low-power
feat(st): manage ROM code boot_action field
feat(stm32mp1): add stm32mp1_is_wakeup_from_standby()
feat(st-ddr): add DDR self-refresh management
feat(st-pmic): add a switch-off function
feat(stm32mp1): check an address is inside backup SRAM
feat(dt-bindings): add low-power defines for STM32MP1
feat(stm32mp1): manage low-power
feat(stm32mp1): save zq0cr0 in backup context at boot time
feat(stm32mp1): check the context is saved
feat(stm32mp1): save/restore MCE key
feat(stm32mp15-fdts): fulfill diversity for STM32M15x SOCs
feat(stm32mp15-fdts): add stm32mp157d-dk1 board
feat(stm32mp15-fdts): add stm32mp157f-dk2 board
feat(stm32mp15-fdts): adapt stm32mp157a-dk1 board to stm32 DT diversity
feat(stm32mp15-fdts): add stm32mp157x-ed1 boards
feat(stm32mp15-fdts): add stm32mp157x-ev1 boards
feat(stm32mp15-fdts): align SoC DT with Linux
feat(stm32mp15-fdts): apply RCC security
fix(st-clock): do not reconfigure LSE
feat(st-pmic): force PMIC and its I2C secure in BL2
refactor(stm32mp13-fdts): remove secure-status for PMIC
docs(dt-bindings): add device tree bindings used on STM32MP1
feat(stm32mp15): remove OP-TEE shared mem
feat(stm32mp1): always boot at 650MHz
fix(stm32mp1): flush data cache at the end of BL2
refactor(st-drivers): export struct stm32_mce_region_s
feat(stm32mp13): save/restore DDRMCE config
feat(st-drivers): add stm32_mce_reload_configuration
feat(fwu): introduce plat_fwu_is_enabled()
feat(st): add a function to skip storage init after standby
feat(st): skip storage init after standby if possible
refactor(st-clock): remove BL32 support on STM32MP13
feat(stm32mp1): manage STM32MP15 rev.Y
feat(stm32mp1-fdts): remove PLL1 config
feat(st): lock the encryption key at the end of BL2
fix(st-uart): correct UART enable test in flush function
feat(st-clock): do not reconfigure STGEN in BL2
feat(st-bsec): add driver for the new IP version BSEC3
feat(stm32mp2): add defines for the PWR peripheral
feat(stm32mp2): add RIF registers description
feat(st): manage BL31 FCONF load_info struct
feat(st): use stm32_get_otp_value_from_idx() in BL31
feat(st): update platform STM32MP2
feat(stm32mp25-fdts): add fw-config file
feat(fdts): add stm32mp257f-dk board support
feat(st-sdmmc2): set FIFO size to 1024 on STM32MP25
feat(stm32mp25-fdts): add RNG node
feat(stm32mp2): add HASH and RNG compilation
feat(stm32mp2): update boot API file
feat(stm32mp2-fdts): add nvmem_layout OTP config
feat(stm32mp2): get SoC part number from OTP
feat(stm32mp2): add NAND OTP parsing
feat(stm32mp2): pen holding for core 1
refactor(st): update DDR mapping
feat(st): initialize clocks in BL31
feat(fdts): add UART and I2C nodes for STM32MP251
feat(stm32mp2): prepare PSCI integration
feat(stm32mp2): implement CPU standby
feat(stm32mp2): print board info
feat(stm32mp2): add UART driver for programmer
feat(stm32mp2): add BKPSRAM base address
feat(fdts): add DDR4 files for STM32MP2
feat(fdts): add LPDDR4 files for STM32MP2
feat(stm32mp2): reserve the first 4KB of SRAM1 for BSEC3 driver
feat(stm32mp1): rework SVC services
feat(fdts): add stm32mp25 sdmmc pins definitions
feat(stm32mp25-fdts): add sdmmc node for STM32MP257F-EV board
feat(fdts): add clock tree for STM32MP257F-EV
feat(fdts): add default hconf1 OTP value for stm32mp257f-ev
feat(fdts): add eMMC node on stm32mp257f-ev
feat(stm32mp2-fdts): add I2C7 pin muxing
feat(st-rif): enforce encryption control on RISAF configuration
feat(stm32mp2): add BL31 device tree support
feat(st): add an API to retrieve STM32 image header
refactor(stm32mp2): unmap BL2 DT area
refactor(st): update test for closed chip
feat(stm32mp2): check if chip is in closed state
feat(stm32mp2-fdts): add HASH, PKA and SAES
feat(stm32mp2): map SRAM2 for MbedTLS heap
feat(st): manage BL31 certificates
feat(stm32mp2): add DDR firmware OID
feat(stm32mp2): manage PKH OTP
feat(stm32mp2): update image IDs
feat(stm32mp2): configure cert_tool for new images
feat(stm32mp1): add PDEF_EXTS management
feat(stm32mp2-fdts): enable HASH, PKA, RNG and SAES for eval board
feat(stm32mp2-fdts): update DT for TBBR
feat(stm32mp2): add support for trusted boot
feat(stm32mp2): add BL31 & BL32 encryption support
feat(stm32mp2-fdts): add oem_fip_enc_key mapping
refactor(stm32mp2): use TOOL_ADD_IMG for DDR FW
feat(stm32mp2): add trusted boot for serial boot devices
feat(st): get encryption key info from DT
feat(stm32mp2): save encryption key info before unmapping DT
feat(stm32mp2): add trace for SoC revision B
feat(stm32mp2): add RETRAM map/unmap capability
feat(stm32mp2): increase BL2 size
feat(stm32mp2): reduce BL2 size for non trusted boot
feat(stm32mp25-fdts): add SD-card supplies on eval board
feat(stm32mp25-fdts): add eMMC supplies on eval board
feat(stm32mp2-fdts): add firewall nodes in fw-config
docs(changelog): reorder ST drivers scopes
docs(changelog): add st-rif scope
refactor(stm32mp2): load fw-config at the beginning of SYSRAM
feat(docs): add github links
feat(stm32mp2-fdts): update SoC device tree
feat(stm32mp2): save a copy of STM32 header
feat(stm32mp2): update memory mapping
feat(st): add support for external device tree files
feat(stm32mp2): add external DT management
fix(st-ddr): remove typedefs
refactor(stm32mp2-fdts): rework fw-config files
feat(stm32mp2): add a low-power context
feat(stm32mp2): use RNG for DDR encryption key
refactor(st): move FWU functions to common code
refactor(st): move FWU support to common code
refactor(st): move FWU metadata json file to common part
feat(stm32mp2): add FWU support
refactor(stm32mp2): configure clocks and UART earlier in BL31
feat(psci): export psci_set_target_local_pwr_states()
refactor(stm32mp2): move some functions in bl31_plat_arch_setup()
feat(stm32mp2): restore context after standby
refactor(stm32mp2): move backup domain reset to a dedicated function
refactor(st-bsec): harmonize bsec_shadow_read_otp
feat(stm32mp2-fdts): add memory node
feat(stm32mp2-fdts): update STM32MP257F-EV1 DT
feat(stm32mp2): add plat_my_core_pos
feat(stm32mp2): disable unsupported features
feat(st): do not directly call BSEC function in common code
feat(stm32mp2): add add a function to set ICN QOS
feat(stm32mp1-fdts): remove useless /delete-node/ properties for SSP
feat(stm32mp2): invalidate cache after BL2 DT unmap
refactor(stm32mp2): update IMAGE_IDs
fix(stm32mp2): increase BL31 size
fix(st-clock): make clk_get_ops static
refactor(st-clock): move stm32mp1_clk_rcc_regs*lock
fix(st-clock): make ops_array_mp13 static
fix(st-clock): make ops_array_mp25 static
fix(stm32mp2): set some PM functions static
refactor(stm32mp1): create reset_backup_domain function
feat(stm32mp2): set BL2_IN_XIP_MEM
feat(st): introduce EARLY traces macros
feat(stm32mp2): add debug traces in BL31
feat(st-clock): use early traces
feat(st-bsec): use early traces
feat(stm32mp2): tune interconnect bandwidth
feat(st-ddr): add DDR clock init function
refactor(st-clock): remove DDR clock init
feat(stm32mp2): enable DDR sub-system clock
feat(stm32mp2): introduce STM32MP_M33_TDCID flag
feat(stm32mp2): stub DDR configuration when not TDCID
feat(stm32mp2): stub some features when not TDCID
feat(stm32mp2): add OTP functions M33 TDCID
feat(st-clock): stub some registers access when not TDCID
docs(changelog): add stm32mp25-fdts scope
feat(stm32mp1): check the backup ram access
feat(stm32mp15): allow Backup SRAM access after tamper
feat(bl): align DATA section end on 2 bytes
refactor(st-ddr): use enum in ddrphy_phyinit_softsetmb
refactor(st-ddr): reduce error message
feat(stm32mp2): limit the max size of BL31
feat(stm32mp2): stub PM code in serial boot
feat(stm32mp1): stub PM code in serial boot
feat(stm32mp2): reduce BL2 size for serial boot
fix(stm32mp2): add INIT_UNUSED_NS_EL2 flag
fix(stm32mp2): correct early/crash console init
fix(stm32mp1): stub some code for SSP
fix(stm32mp2): properly check err values
refactor(stm32mp2): move cache invalidation
feat(stm32mp2): map DDR part non-secure when M33 is TDCID
feat(stm32mp2): skip ICN configuration if M33 is TDCID
feat(stm32mp2): remove RISAF config for M33 TDCID
fix(stm32mp2-fdts): remove unused macro DDR_SIZE
refactor(stm32mp2): add DDR FW path macro
refactor(stm32mp2): move DDR PHY FW files in sub-directory
refactor(st-clock): remove unused struct
refactor(st): use %c to display board info
refactor(stm32mp2): remove unused variable
refactor(stm32mp2): remove ddr_type from pmic_ddr_power_init
fix(stm32mp2): correct NAND error message
refactor(stm32mp2): remove firewall file
refactor(stm32mp2): revisit stm32mp2_syscfg_get_mm_size
refactor(stm32mp2): cosmetic updates in platform.mk
refactor(st): remove metadata compilation dependency
feat(st): add a compilation rule for metadata
docs(stm32mp2): introduce new STM32MP21 family
feat(stm32mp2): include dedicated clocks and RCC headers
docs(changelog): add subsections for STM32MP2
feat(stm32mp2): define UART8 and UART9 under STM32MP25 flag
feat(stm32mp25): put PKG numbers under flag
feat(stm32mp21): add RCC registers file
feat(stm32mp21): no IWDG5 reset on STM32MP21
feat(st-ddr): add quasi-dynamic register for STM32MP21 & STM32MP23
feat(stm32mp21-fdts): add STM32MP215F-DK board
feat(stm32mp23-fdts): add STM32MP235F-DK board
fix(stm32mp2): keep ECSDA key and signature definitions
fix(stm32mp2): increase BL2 DTB size
feat(fwu): add a config flag for including image info in the FWU metadata
feat(st): add a function to clear the FWU trial state counter
feat(stm32mp2): remove PM in serial boot
fix(stm32mp2): add a stub PSCI ops structure
fix(stm32mp2): proper management of platform flags
feat(docs): add STM32MP2 docs links
refactor(stm32mp2): rename clock driver
fix(st-clock): display proper PLL number
fix(stm32mp2): skip iac_dump when M33 is TDCID
fix(stm32mp2): skip OP-TEE header check if image base is NULL
Revert "feat(stm32mp2): derivating DDRCryp encryption key from HUK"
Revert "feat(stm32mp1): derivating MCE key from HUK"
fix(st-rif): use clr/set bit when configuring RIFSC
refactor(stm32mp2): remove NS_SYSRAM
feat(stm32mp2): use the first half of SYSRAM for BL31
feat(stm32mp21-fdts): add provisioning node for STM32MP215F-DK
feat(st): disable FWU on serial boot devices
fix(stm32mp2): correct package types on STM32MP25
feat(stm32mp2): display package type for STM32MP21
feat(stm32mp2): display package type for STM32MP23
feat(stm32mp2): add OTP mirror read code
fix(stm32mp2): stm32_otp_is_closed_device should return false
feat(stm32mp2): boot BL33 at EL2
fix(checkpatch): detect issues in commit message
Revert "fix(psci): fix parent parsing in psci_is_last_cpu_to_idle_at_pwrlvl"
fix(stm32mp2): remove mapping of BL2 DT area
laurenw-arm (1):
refactor(mbedtls): remove mbedtls 2.x support
.versionrc.js | 10 +-
CODE_OF_CONDUCT.md | 73 +
CONTRIBUTING.md | 30 +
Makefile | 33 +-
SECURITY.md | 8 +
bl2/bl2_main.c | 4 +-
bl31/ehf.c | 16 +-
changelog.yaml | 58 +-
common/aarch32/debug.S | 12 +-
common/bl_common.c | 10 +-
common/fdt_wrappers.c | 15 +-
docs/about/release-information.rst | 5 +-
docs/change-log.md | 213 +-
docs/components/firmware-update.rst | 2 +-
.../platform-interrupt-controller-API.rst | 25 +-
docs/components/rmm-el3-comms-spec.rst | 4 +-
docs/components/sdei.rst | 46 +-
docs/conf.py | 4 +-
docs/design/cpu-specific-build-macros.rst | 130 +-
docs/devicetree/bindings/arm/secure.txt | 53 +
docs/devicetree/bindings/clock/st,stm32mp1-rcc.txt | 525 ++
.../devicetree/bindings/clock/st,stm32mp13-rcc.txt | 640 ++
docs/devicetree/bindings/i2c/i2c-stm32.txt | 54 +
.../memory-controllers/st,stm32mp1-ddr.txt | 301 +
.../memory-controllers/st,stm32mp2-ddr.txt | 543 ++
docs/devicetree/bindings/mmc/mmci.txt | 72 +
docs/devicetree/bindings/mmc/st,stm32-sdmmc2.txt | 22 +
docs/devicetree/bindings/power/st,stm32mp1-pwr.txt | 43 +
.../devicetree/bindings/power/st,stm32mp21-pwr.txt | 56 +
.../devicetree/bindings/power/st,stm32mp25-pwr.txt | 60 +
docs/devicetree/bindings/power/st,stpmic1.txt | 94 +
docs/devicetree/bindings/reset/st,stm32mp1-rcc.txt | 6 +
docs/devicetree/bindings/rng/st,stm32-rng.txt | 23 +
docs/devicetree/bindings/serial/st,stm32-usart.txt | 88 +
docs/devicetree/bindings/soc/st,stm32-etzpc.txt | 54 +
docs/devicetree/bindings/soc/st,stm32-romem.txt | 52 +
docs/devicetree/bindings/soc/st,stm32-stgen.txt | 18 +
docs/devicetree/bindings/soc/st,stm32-tamp.txt | 20 +
.../devicetree/bindings/watchdog/st,stm32-iwdg.txt | 27 +
docs/getting_started/build-options.rst | 24 +-
docs/getting_started/prerequisites.rst | 4 +-
docs/index.rst | 2 +-
docs/plat/st/stm32mp1.rst | 5 +-
docs/plat/st/stm32mp2.rst | 129 +-
docs/plat/st/stm32mpus.rst | 6 +-
docs/plat/stm32mp1.rst | 7 +-
docs/porting-guide.rst | 12 +
docs/process/security.rst | 3 +
docs/security_advisories/index.rst | 1 +
.../security-advisory-tfv-11.rst | 86 +
.../security-advisory-tfv-9.rst | 2 +-
docs/threat_model/threat_model.rst | 9 +
drivers/arm/gic/v2/gicv2.mk | 10 +-
drivers/arm/gic/v2/gicv2_main.c | 91 +
drivers/arm/gic/v3/gicv3_main.c | 25 +
drivers/auth/auth_mod.c | 10 +-
drivers/auth/mbedtls/mbedtls_common.mk | 44 +-
drivers/auth/mbedtls/mbedtls_crypto.c | 14 +-
drivers/auth/mbedtls/mbedtls_psa_crypto.c | 85 +-
drivers/fwu/fwu.c | 139 +-
drivers/io/io_mtd.c | 14 +
drivers/mtd/hyperflash/hyperflash.c | 49 +
drivers/mtd/nand/spi_nand.c | 7 +-
drivers/mtd/nor/spi_nor.c | 135 +-
drivers/mtd/spi-mem/spi_mem.c | 126 +-
drivers/partition/partition.c | 14 +-
drivers/st/bsec/bsec2.c | 362 +-
drivers/st/bsec/bsec3.c | 530 ++
drivers/st/clk/clk-stm32-core.c | 284 +-
drivers/st/clk/clk-stm32-core.h | 133 +-
drivers/st/clk/clk-stm32mp13.c | 584 +-
drivers/st/clk/clk-stm32mp2.c | 2917 ++++++++
drivers/st/clk/stm32mp1_clk.c | 1044 ++-
drivers/st/clk/stm32mp_clkfunc.c | 48 +-
drivers/st/crypto/stm32_hash.c | 52 +-
drivers/st/crypto/stm32_pka.c | 2 +-
drivers/st/crypto/stm32_rng.c | 165 +-
drivers/st/crypto/stm32_saes.c | 231 +-
.../phy/firmware/bin/stm32mp2/ddr3_pmu_train.bin | Bin 0 -> 21544 bytes
.../phy/firmware/bin/stm32mp2/ddr4_pmu_train.bin | Bin 0 -> 29988 bytes
.../phy/firmware/bin/stm32mp2/lpddr4_pmu_train.bin | Bin 0 -> 34384 bytes
.../phy/firmware/include/mnpmusrammsgblock_ddr3.h | 934 +++
.../phy/firmware/include/mnpmusrammsgblock_ddr4.h | 2202 +++++++
.../firmware/include/mnpmusrammsgblock_lpddr4.h | 924 +++
.../phy/phyinit/include/ddrphy_csr_all_cdefines.h | 6945 ++++++++++++++++++++
.../st/ddr/phy/phyinit/include/ddrphy_phyinit.h | 37 +
.../phy/phyinit/include/ddrphy_phyinit_struct.h | 787 +++
.../phyinit/include/ddrphy_phyinit_usercustom.h | 118 +
.../st/ddr/phy/phyinit/include/ddrphy_wrapper.h | 20 +
.../phyinit/src/ddrphy_phyinit_c_initphyconfig.c | 1142 ++++
.../st/ddr/phy/phyinit/src/ddrphy_phyinit_calcmb.c | 214 +
.../phy/phyinit/src/ddrphy_phyinit_d_loadimem.c | 46 +
.../phy/phyinit/src/ddrphy_phyinit_f_loaddmem.c | 74 +
.../ddr/phy/phyinit/src/ddrphy_phyinit_g_execfw.c | 69 +
.../phyinit/src/ddrphy_phyinit_i_loadpieimage.c | 397 ++
.../phy/phyinit/src/ddrphy_phyinit_initstruct.c | 264 +
.../phyinit/src/ddrphy_phyinit_isdbytedisabled.c | 88 +
.../phyinit/src/ddrphy_phyinit_loadpieprodcode.c | 188 +
.../phy/phyinit/src/ddrphy_phyinit_mapdrvstren.c | 282 +
.../phyinit/src/ddrphy_phyinit_progcsrskiptrain.c | 897 +++
.../phy/phyinit/src/ddrphy_phyinit_reginterface.c | 169 +
.../phyinit/src/ddrphy_phyinit_restore_sequence.c | 81 +
.../ddr/phy/phyinit/src/ddrphy_phyinit_sequence.c | 125 +
.../ddr/phy/phyinit/src/ddrphy_phyinit_softsetmb.c | 100 +
.../phy/phyinit/src/ddrphy_phyinit_writeoutmem.c | 79 +
.../ddrphy_phyinit_usercustom_custompretrain.c | 93 +
.../ddrphy_phyinit_usercustom_g_waitfwdone.c | 184 +
.../ddrphy_phyinit_usercustom_saveretregs.c | 402 ++
drivers/st/ddr/stm32mp1_ddr.c | 184 +-
drivers/st/ddr/stm32mp1_ddr_helpers.c | 530 +-
drivers/st/ddr/stm32mp1_ram.c | 82 +-
drivers/st/ddr/stm32mp2_ddr.c | 503 ++
drivers/st/ddr/stm32mp2_ddr_helpers.c | 556 ++
drivers/st/ddr/stm32mp2_ram.c | 209 +
drivers/st/ddr/stm32mp_ddr.c | 208 +-
drivers/st/ddr/stm32mp_ddr_test.c | 73 +-
drivers/st/fmc/stm32_fmc2_nand.c | 140 +-
drivers/st/gpio/stm32_gpio.c | 79 +
drivers/st/i2c/stm32_i2c.c | 447 +-
drivers/st/iwdg/stm32_iwdg.c | 45 +-
drivers/st/mce/stm32_mce.c | 428 ++
drivers/st/mmc/stm32_sdmmc2.c | 6 +-
drivers/st/nvmem/nvmem.c | 133 +
drivers/st/nvmem/stm32mp_tamp_nvram_core.c | 417 ++
drivers/st/nvmem/stm32mp_tamp_nvram_mp1.c | 43 +
drivers/st/nvmem/stm32mp_tamp_nvram_mp2.c | 232 +
drivers/st/pmic/stm32mp_pmic.c | 171 +-
drivers/st/pmic/stm32mp_pmic2.c | 578 ++
drivers/st/pmic/stpmic2.c | 514 ++
drivers/st/regulator/regulator_core.c | 20 +-
drivers/st/regulator/regulator_fixed.c | 1 -
drivers/st/regulator/regulator_gpio.c | 166 +
drivers/st/reset/stm32mp1_reset.c | 15 +-
drivers/st/reset/stm32mp2_reset.c | 76 +
drivers/st/rif/stm32_rifsc.c | 183 +
drivers/st/rif/stm32mp2_risaf.c | 790 +++
drivers/st/spi/stm32_ospi.c | 1345 ++++
drivers/st/uart/aarch32/stm32_console.S | 23 +-
drivers/st/usb/stm32mp1_usb.c | 14 +-
drivers/st/usb_dwc3/usb_dwc3.c | 2414 +++++++
drivers/st/usb_dwc3/usb_dwc3_regs.h | 1225 ++++
drivers/usb/usb_device.c | 21 +-
fdts/stm32mp13-fw-config-mem-encrypt.dtsi | 13 +
fdts/stm32mp13-ssp-bl2.dtsi | 53 +
fdts/stm32mp131.dtsi | 33 +-
fdts/stm32mp135f-dk-fw-config.dts | 1 +
fdts/stm32mp135f-dk.dts | 34 +-
fdts/stm32mp13xc.dtsi | 2 +-
fdts/stm32mp13xf.dtsi | 2 +-
fdts/stm32mp15-bl2.dtsi | 1 -
fdts/stm32mp15-fw-config.dtsi | 21 +-
fdts/stm32mp15-ssp-bl2.dtsi | 81 +
fdts/stm32mp151.dtsi | 45 +-
fdts/stm32mp157a-avenger96.dts | 88 +-
fdts/stm32mp157a-dk1.dts | 1 +
fdts/stm32mp157a-ed1.dts | 321 +
fdts/stm32mp157a-ev1.dts | 63 +
fdts/stm32mp157c-ed1.dts | 120 +-
fdts/stm32mp157c-odyssey-som.dtsi | 89 +-
fdts/stm32mp157d-dk1.dts | 28 +
fdts/stm32mp157d-ed1.dts | 353 +
fdts/stm32mp157d-ev1.dts | 63 +
fdts/stm32mp157f-dk2.dts | 33 +
fdts/stm32mp157f-ed1.dts | 325 +
fdts/stm32mp157f-ev1.dts | 63 +
fdts/stm32mp15xa.dtsi | 5 +
fdts/stm32mp15xc.dtsi | 2 +
fdts/stm32mp15xd.dtsi | 5 +
fdts/stm32mp15xf.dtsi | 20 +
fdts/stm32mp15xx-dhcom-som.dtsi | 89 +-
fdts/stm32mp15xx-dhcor-som.dtsi | 92 +-
fdts/stm32mp15xx-dkx.dtsi | 124 +-
fdts/stm32mp15xx-osd32.dtsi | 89 +-
fdts/stm32mp2-cot-descriptors.dtsi | 194 +
fdts/stm32mp21-bl2.dtsi | 74 +
fdts/stm32mp21-bl31.dtsi | 16 +
fdts/stm32mp21-fw-config.dtsi | 6 +
...stm32mp21-lpddr4-1x16Gbits-1x16bits-800MHz.dtsi | 250 +
fdts/stm32mp21-pinctrl.dtsi | 88 +
fdts/stm32mp211.dtsi | 561 ++
fdts/stm32mp213.dtsi | 6 +
fdts/stm32mp215.dtsi | 9 +
fdts/stm32mp215f-dk-ca35tdcid-fw-config.dtsi | 34 +
fdts/stm32mp215f-dk-ca35tdcid-rcc.dtsi | 89 +
fdts/stm32mp215f-dk-fw-config.dts | 7 +
fdts/stm32mp215f-dk.dts | 208 +
fdts/stm32mp21xc.dtsi | 25 +
fdts/stm32mp21xf.dtsi | 25 +
fdts/stm32mp21xxal-pinctrl.dtsi | 79 +
fdts/stm32mp21xxam-pinctrl.dtsi | 79 +
fdts/stm32mp21xxan-pinctrl.dtsi | 79 +
fdts/stm32mp21xxao-pinctrl.dtsi | 70 +
fdts/stm32mp23-bl2.dtsi | 79 +
fdts/stm32mp23-bl31.dtsi | 15 +
fdts/stm32mp23-fw-config.dtsi | 6 +
...tm32mp23-lpddr4-1x16Gbits-1x16bits-1200MHz.dtsi | 250 +
fdts/stm32mp23-pinctrl.dtsi | 86 +
fdts/stm32mp231.dtsi | 618 ++
fdts/stm32mp233.dtsi | 6 +
fdts/stm32mp235.dtsi | 9 +
fdts/stm32mp235f-dk-ca35tdcid-fw-config.dtsi | 34 +
fdts/stm32mp235f-dk-ca35tdcid-rcc.dtsi | 97 +
fdts/stm32mp235f-dk-fw-config.dts | 7 +
fdts/stm32mp235f-dk.dts | 227 +
fdts/stm32mp23xc.dtsi | 41 +
fdts/stm32mp23xf.dtsi | 41 +
fdts/stm32mp25-bl2.dtsi | 75 +
fdts/stm32mp25-bl31.dtsi | 15 +
fdts/stm32mp25-ddr.dtsi | 253 +
.../stm32mp25-ddr4-2x16Gbits-2x16bits-1200MHz.dtsi | 249 +
fdts/stm32mp25-fw-config.dtsi | 48 +
...tm32mp25-lpddr4-1x32Gbits-1x32bits-1200MHz.dtsi | 250 +
fdts/stm32mp25-pinctrl.dtsi | 117 +
fdts/stm32mp251.dtsi | 385 +-
fdts/stm32mp257f-dk-ca35tdcid-fw-config.dtsi | 34 +
fdts/stm32mp257f-dk-ca35tdcid-rcc.dtsi | 97 +
fdts/stm32mp257f-dk-fw-config.dts | 7 +
fdts/stm32mp257f-dk.dts | 227 +
fdts/stm32mp257f-ev1-ca35tdcid-fw-config.dtsi | 34 +
fdts/stm32mp257f-ev1-ca35tdcid-rcc.dtsi | 97 +
fdts/stm32mp257f-ev1-fw-config.dts | 7 +
fdts/stm32mp257f-ev1.dts | 215 +
fdts/stm32mp25xc.dtsi | 33 +
fdts/stm32mp25xf.dtsi | 33 +
include/arch/aarch64/arch.h | 4 +-
include/arch/aarch64/el3_common_macros.S | 12 +
include/common/fdt_wrappers.h | 2 +
include/drivers/arm/gicv2.h | 29 +
include/drivers/arm/gicv3.h | 3 +-
include/drivers/auth/mbedtls/mbedtls_config-2.h | 152 -
include/drivers/auth/mbedtls/mbedtls_config-3.h | 3 +-
include/drivers/auth/mbedtls/psa_mbedtls_config.h | 3 +-
include/drivers/fwu/fwu.h | 9 +-
include/drivers/fwu/fwu_metadata.h | 64 +-
include/drivers/hyperflash.h | 38 +
include/drivers/io/io_mtd.h | 7 +
include/drivers/partition/efi.h | 4 +
include/drivers/partition/partition.h | 6 +-
include/drivers/spi_mem.h | 38 +-
include/drivers/spi_nor.h | 53 +-
include/drivers/st/bsec.h | 104 +-
include/drivers/st/bsec2_reg.h | 15 +-
include/drivers/st/bsec3_reg.h | 111 +
include/drivers/st/nvmem.h | 45 +
include/drivers/st/regulator_gpio.h | 12 +
include/drivers/st/stm32_cryp2_saes_reg.h | 125 +
include/drivers/st/stm32_gpio.h | 12 +-
include/drivers/st/stm32_i2c.h | 43 +-
include/drivers/st/stm32_iwdg.h | 2 -
include/drivers/st/stm32_mce.h | 46 +
include/drivers/st/stm32_ospi.h | 12 +
include/drivers/st/stm32_rifsc.h | 32 +
include/drivers/st/stm32_saes_reg.h | 120 +
include/drivers/st/stm32mp1_clk.h | 4 +-
include/drivers/st/stm32mp1_ddr.h | 3 +-
include/drivers/st/stm32mp1_ddr_helpers.h | 18 +-
include/drivers/st/stm32mp1_ddr_regs.h | 2 +
include/drivers/st/stm32mp1_ram.h | 3 +-
include/drivers/st/stm32mp21_pwr.h | 417 ++
include/drivers/st/stm32mp21_rcc.h | 4672 +++++++++++++
include/drivers/st/stm32mp25_rcc.h | 28 +-
include/drivers/st/stm32mp2_clk.h | 45 +
include/drivers/st/stm32mp2_ddr.h | 147 +
include/drivers/st/stm32mp2_ddr_helpers.h | 38 +
include/drivers/st/stm32mp2_ddr_regs.h | 38 +
include/drivers/st/stm32mp2_pwr.h | 481 ++
include/drivers/st/stm32mp2_ram.h | 13 +
include/drivers/st/stm32mp2_risaf.h | 25 +
include/drivers/st/stm32mp_clkfunc.h | 4 +-
include/drivers/st/stm32mp_ddr.h | 21 +-
include/drivers/st/stm32mp_ddrctrl_regs.h | 33 +-
include/drivers/st/stm32mp_pmic.h | 10 +-
include/drivers/st/stm32mp_pmic2.h | 51 +
include/drivers/st/stm32mp_reset.h | 7 +-
include/drivers/st/stm32mp_rifsc_regs.h | 49 +
include/drivers/st/stm32mp_risab_regs.h | 271 +
include/drivers/st/stm32mp_tamp_nvram.h | 83 +
include/drivers/st/stpmic2.h | 359 +
include/drivers/st/usb_dwc3.h | 241 +
include/drivers/usb_device.h | 11 +
include/dt-bindings/clock/st,stm32mp21-rcc.h | 430 ++
include/dt-bindings/clock/stm32mp13-clks.h | 8 +-
include/dt-bindings/clock/stm32mp15-clksrc.h | 658 +-
include/dt-bindings/clock/stm32mp21-clksrc.h | 206 +
include/dt-bindings/clock/stm32mp25-clks.h | 16 +-
include/dt-bindings/clock/stm32mp25-clksrc.h | 14 +-
include/dt-bindings/gpio/stm32-gpio.h | 41 +
include/dt-bindings/power/stm32mp1-power.h | 20 +
include/dt-bindings/reset/st,stm32mp21-rcc.h | 136 +
include/dt-bindings/reset/stm32mp25-resets.h | 27 +-
include/dt-bindings/soc/rif.h | 101 +
include/dt-bindings/soc/stm32mp13-mce.h | 12 +
include/dt-bindings/soc/stm32mp21-rif.h | 105 +
include/dt-bindings/soc/stm32mp23-rif.h | 120 +
include/dt-bindings/soc/stm32mp25-rif.h | 132 +
include/lib/cpus/aarch64/cortex_a520.h | 7 +
include/lib/cpus/aarch64/cortex_a710.h | 7 +-
include/lib/cpus/aarch64/cortex_a715.h | 17 +-
include/lib/cpus/aarch64/cortex_a720.h | 12 +-
include/lib/cpus/aarch64/cortex_a78c.h | 5 +
include/lib/cpus/aarch64/cortex_x2.h | 7 +-
include/lib/cpus/aarch64/cortex_x3.h | 18 +-
include/lib/cpus/aarch64/cortex_x4.h | 7 +-
include/lib/cpus/aarch64/neoverse_poseidon.h | 27 -
include/lib/cpus/aarch64/neoverse_v1.h | 1 +
include/lib/cpus/aarch64/neoverse_v2.h | 7 +
include/lib/cpus/aarch64/neoverse_v3.h | 28 +
include/lib/psci/psci.h | 11 +-
include/lib/utils_def.h | 10 +
include/plat/common/platform.h | 5 +-
lib/cpus/aarch64/cortex_a520.S | 11 +
lib/cpus/aarch64/cortex_a710.S | 6 +
lib/cpus/aarch64/cortex_a715.S | 91 +-
lib/cpus/aarch64/cortex_a720.S | 24 +-
lib/cpus/aarch64/cortex_a78c.S | 23 +-
lib/cpus/aarch64/cortex_x2.S | 6 +
lib/cpus/aarch64/cortex_x3.S | 44 +-
lib/cpus/aarch64/cortex_x4.S | 18 +-
lib/cpus/aarch64/dsu_helpers.S | 14 +-
lib/cpus/aarch64/neoverse_poseidon.S | 86 -
lib/cpus/aarch64/neoverse_v1.S | 7 +
lib/cpus/aarch64/neoverse_v2.S | 19 +
lib/cpus/aarch64/neoverse_v3.S | 90 +
lib/cpus/cpu-ops.mk | 120 +-
lib/el3_runtime/aarch32/context_mgmt.c | 8 +-
lib/extensions/pmuv3/aarch32/pmuv3.c | 4 -
lib/psci/psci_common.c | 15 +-
lib/psci/psci_main.c | 19 +-
make_helpers/build_macros.mk | 10 +
make_helpers/defaults.mk | 12 +
package-lock.json | 4 +-
package.json | 2 +-
plat/arm/board/fvp/fvp_cpu_errata.mk | 61 +-
plat/arm/board/fvp/platform.mk | 3 +
plat/arm/board/rdn2/platform.mk | 22 +
plat/arm/board/tc/platform_test.mk | 3 +-
plat/arm/common/arm_io_storage.c | 7 +-
plat/common/plat_bl_common.c | 8 +-
plat/common/plat_gicv3.c | 7 +-
plat/rockchip/rk3328/platform.mk | 1 +
plat/st/common/bl2_io_storage.c | 345 +-
plat/st/common/common.mk | 62 +-
plat/st/common/common_rules.mk | 10 +-
plat/st/common/default_metadata.json | 37 +
plat/st/common/include/stm32cubeprogrammer.h | 18 +-
plat/st/common/include/stm32mp_common.h | 80 +-
plat/st/common/include/stm32mp_dt.h | 2 +
plat/st/common/include/stm32mp_io_storage.h | 71 +-
plat/st/common/include/stm32mp_mbedtls_config-2.h | 119 -
plat/st/common/include/stm32mp_mbedtls_config-3.h | 3 +-
plat/st/common/include/stm32mp_svc_setup.h | 35 +
plat/st/common/stm32cubeprogrammer_uart.c | 162 +-
plat/st/common/stm32cubeprogrammer_usb.c | 100 +-
plat/st/common/stm32mp_common.c | 348 +-
plat/st/common/stm32mp_crypto_lib.c | 10 +-
plat/st/common/stm32mp_dt.c | 77 +
plat/st/common/stm32mp_fconf_fuse.c | 103 +
plat/st/common/stm32mp_fconf_io.c | 46 +-
plat/st/common/stm32mp_gic.c | 44 +-
plat/st/common/stm32mp_svc_setup.c | 81 +
plat/st/common/stm32mp_trusted_boot.c | 13 +-
plat/st/stm32mp1/bl2_plat_setup.c | 325 +-
plat/st/stm32mp1/cert_create_tbbr.mk | 3 +-
plat/st/stm32mp1/include/boot_api.h | 565 +-
plat/st/stm32mp1/include/stm32mp1_context.h | 28 +
plat/st/stm32mp1/include/stm32mp1_critic_power.h | 16 +
plat/st/stm32mp1/include/stm32mp1_private.h | 58 +-
plat/st/stm32mp1/include/stm32mp1_smc.h | 16 -
plat/st/stm32mp1/plat_bl2_mem_params_desc.c | 4 +
plat/st/stm32mp1/plat_ddr.c | 138 +
plat/st/stm32mp1/platform.mk | 101 +-
plat/st/stm32mp1/services/bsec_svc.c | 9 +-
plat/st/stm32mp1/services/stm32mp1_svc_setup.c | 72 +-
plat/st/stm32mp1/sp_min/sp_min-stm32mp1.mk | 3 +-
plat/st/stm32mp1/sp_min/sp_min_setup.c | 3 +
plat/st/stm32mp1/stm32mp1_boot_device.c | 3 +
plat/st/stm32mp1/stm32mp1_context.c | 277 +
plat/st/stm32mp1/stm32mp1_critic_power.c | 126 +
plat/st/stm32mp1/stm32mp1_critic_power_wrapper.S | 127 +
plat/st/stm32mp1/stm32mp1_def.h | 106 +-
plat/st/stm32mp1/stm32mp1_fconf_firewall.c | 11 +
plat/st/stm32mp1/stm32mp1_fip_def.h | 30 +-
plat/st/stm32mp1/stm32mp1_pm.c | 26 +-
plat/st/stm32mp1/stm32mp1_private.c | 199 +-
plat/st/stm32mp1/stm32mp1_ssp.c | 1048 +++
plat/st/stm32mp1/stm32mp1_ssp.mk | 102 +
plat/st/stm32mp1/stm32mp1_syscfg.c | 22 +-
plat/st/stm32mp1/stm32mp1_tbb_cert.c | 11 +-
plat/st/stm32mp1/stm32mp1_usb_dfu.c | 31 +-
plat/st/stm32mp2/aarch64/stm32mp2_helper.S | 60 +-
plat/st/stm32mp2/bl2_plat_setup.c | 763 ++-
plat/st/stm32mp2/bl31_plat_setup.c | 206 +
plat/st/stm32mp2/cert_create_tbbr.mk | 20 +
plat/st/stm32mp2/include/boot_api.h | 41 +-
plat/st/stm32mp2/include/plat_def_fip_uuid.h | 18 +
plat/st/stm32mp2/include/plat_tbbr_img_def.h | 55 +
plat/st/stm32mp2/include/platform_def.h | 101 +-
plat/st/stm32mp2/include/platform_oid.h | 7 +
plat/st/stm32mp2/include/stm32mp2_context.h | 22 +
plat/st/stm32mp2/include/stm32mp2_private.h | 117 +
plat/st/stm32mp2/include/stm32mp2_smc.h | 22 +
plat/st/stm32mp2/include/tbbr/stm32mp2_tbb_cert.h | 25 +
plat/st/stm32mp2/plat_bl2_mem_params_desc.c | 137 +
plat/st/stm32mp2/plat_ddr.c | 215 +
plat/st/stm32mp2/plat_image_load.c | 38 +
plat/st/stm32mp2/platform.mk | 412 +-
plat/st/stm32mp2/services/stgen_svc.c | 40 +
plat/st/stm32mp2/services/stgen_svc.h | 12 +
plat/st/stm32mp2/services/stm32mp2_svc_setup.c | 46 +
plat/st/stm32mp2/stm32mp2_boot_device.c | 184 +
plat/st/stm32mp2/stm32mp2_context.c | 183 +
plat/st/stm32mp2/stm32mp2_def.h | 566 +-
plat/st/stm32mp2/stm32mp2_otp.c | 46 +
plat/st/stm32mp2/stm32mp2_otp_mirror.c | 33 +
plat/st/stm32mp2/stm32mp2_pm.c | 1386 ++++
plat/st/stm32mp2/stm32mp2_private.c | 715 ++
plat/st/stm32mp2/stm32mp2_pwr.c | 183 +
plat/st/stm32mp2/stm32mp2_syscfg.c | 557 ++
plat/st/stm32mp2/stm32mp2_tbb_cert.c | 55 +
plat/st/stm32mp2/stm32mp2_topology.c | 59 +
plat/st/stm32mp2/stm32mp2_usb_dfu.c | 384 ++
plat/xilinx/versal/platform.mk | 6 +
pyproject.toml | 2 +-
readme.rst | 2 +
services/spd/opteed/opteed_main.c | 55 +-
services/spd/opteed/opteed_private.h | 3 +
services/std_svc/errata_abi/cpu_errata_info.h | 36 +-
services/std_svc/errata_abi/errata_abi_main.c | 506 +-
tools/cert_create/include/key.h | 4 +-
tools/conventional-changelog-tf-a/package.json | 2 +-
.../st/stm32mp2/plat_def_uuid_config.c | 30 +
.../plat_fiptool/st/stm32mp2/plat_fiptool.mk | 25 +
tools/fwu_gen_metadata/README.md | 87 +
tools/fwu_gen_metadata/fwumd_tool.py | 181 +
tools/fwu_gen_metadata/src/metadata.py | 102 +
tools/fwu_gen_metadata/src/structs.py | 262 +
tools/fwu_gen_metadata/src/utils.py | 69 +
tools/fwu_gen_metadata/src/uuid_t.py | 79 +
tools/fwu_gen_metadata/tests/testall.sh | 21 +
tools/fwu_gen_metadata/tests/validate_stable.sh | 8 +
tools/memory/memory/memmap.py | 2 +-
tools/stm32image/stm32image.c | 243 +-
442 files changed, 68172 insertions(+), 4043 deletions(-)
create mode 100644 CODE_OF_CONDUCT.md
create mode 100644 CONTRIBUTING.md
create mode 100644 SECURITY.md
create mode 100644 docs/devicetree/bindings/arm/secure.txt
create mode 100644 docs/devicetree/bindings/clock/st,stm32mp1-rcc.txt
create mode 100644 docs/devicetree/bindings/clock/st,stm32mp13-rcc.txt
create mode 100644 docs/devicetree/bindings/i2c/i2c-stm32.txt
create mode 100644 docs/devicetree/bindings/memory-controllers/st,stm32mp1-ddr.txt
create mode 100644 docs/devicetree/bindings/memory-controllers/st,stm32mp2-ddr.txt
create mode 100644 docs/devicetree/bindings/mmc/mmci.txt
create mode 100644 docs/devicetree/bindings/mmc/st,stm32-sdmmc2.txt
create mode 100644 docs/devicetree/bindings/power/st,stm32mp1-pwr.txt
create mode 100644 docs/devicetree/bindings/power/st,stm32mp21-pwr.txt
create mode 100644 docs/devicetree/bindings/power/st,stm32mp25-pwr.txt
create mode 100644 docs/devicetree/bindings/power/st,stpmic1.txt
create mode 100644 docs/devicetree/bindings/reset/st,stm32mp1-rcc.txt
create mode 100644 docs/devicetree/bindings/rng/st,stm32-rng.txt
create mode 100644 docs/devicetree/bindings/serial/st,stm32-usart.txt
create mode 100644 docs/devicetree/bindings/soc/st,stm32-etzpc.txt
create mode 100644 docs/devicetree/bindings/soc/st,stm32-romem.txt
create mode 100644 docs/devicetree/bindings/soc/st,stm32-stgen.txt
create mode 100644 docs/devicetree/bindings/soc/st,stm32-tamp.txt
create mode 100644 docs/devicetree/bindings/watchdog/st,stm32-iwdg.txt
create mode 100644 docs/security_advisories/security-advisory-tfv-11.rst
create mode 100644 drivers/mtd/hyperflash/hyperflash.c
create mode 100644 drivers/st/bsec/bsec3.c
create mode 100644 drivers/st/clk/clk-stm32mp2.c
create mode 100644 drivers/st/ddr/phy/firmware/bin/stm32mp2/ddr3_pmu_train.bin
create mode 100644 drivers/st/ddr/phy/firmware/bin/stm32mp2/ddr4_pmu_train.bin
create mode 100644 drivers/st/ddr/phy/firmware/bin/stm32mp2/lpddr4_pmu_train.bin
create mode 100644 drivers/st/ddr/phy/firmware/include/mnpmusrammsgblock_ddr3.h
create mode 100644 drivers/st/ddr/phy/firmware/include/mnpmusrammsgblock_ddr4.h
create mode 100644 drivers/st/ddr/phy/firmware/include/mnpmusrammsgblock_lpddr4.h
create mode 100644 drivers/st/ddr/phy/phyinit/include/ddrphy_csr_all_cdefines.h
create mode 100644 drivers/st/ddr/phy/phyinit/include/ddrphy_phyinit.h
create mode 100644 drivers/st/ddr/phy/phyinit/include/ddrphy_phyinit_struct.h
create mode 100644 drivers/st/ddr/phy/phyinit/include/ddrphy_phyinit_usercustom.h
create mode 100644 drivers/st/ddr/phy/phyinit/include/ddrphy_wrapper.h
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_c_initphyconfig.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_calcmb.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_d_loadimem.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_f_loaddmem.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_g_execfw.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_i_loadpieimage.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_initstruct.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_isdbytedisabled.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_loadpieprodcode.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_mapdrvstren.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_progcsrskiptrain.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_reginterface.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_restore_sequence.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_sequence.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_softsetmb.c
create mode 100644 drivers/st/ddr/phy/phyinit/src/ddrphy_phyinit_writeoutmem.c
create mode 100644 drivers/st/ddr/phy/phyinit/usercustom/ddrphy_phyinit_usercustom_custompretrain.c
create mode 100644 drivers/st/ddr/phy/phyinit/usercustom/ddrphy_phyinit_usercustom_g_waitfwdone.c
create mode 100644 drivers/st/ddr/phy/phyinit/usercustom/ddrphy_phyinit_usercustom_saveretregs.c
create mode 100644 drivers/st/ddr/stm32mp2_ddr.c
create mode 100644 drivers/st/ddr/stm32mp2_ddr_helpers.c
create mode 100644 drivers/st/ddr/stm32mp2_ram.c
create mode 100644 drivers/st/mce/stm32_mce.c
create mode 100644 drivers/st/nvmem/nvmem.c
create mode 100644 drivers/st/nvmem/stm32mp_tamp_nvram_core.c
create mode 100644 drivers/st/nvmem/stm32mp_tamp_nvram_mp1.c
create mode 100644 drivers/st/nvmem/stm32mp_tamp_nvram_mp2.c
create mode 100644 drivers/st/pmic/stm32mp_pmic2.c
create mode 100644 drivers/st/pmic/stpmic2.c
create mode 100644 drivers/st/regulator/regulator_gpio.c
create mode 100644 drivers/st/reset/stm32mp2_reset.c
create mode 100644 drivers/st/rif/stm32_rifsc.c
create mode 100644 drivers/st/rif/stm32mp2_risaf.c
create mode 100644 drivers/st/spi/stm32_ospi.c
create mode 100644 drivers/st/usb_dwc3/usb_dwc3.c
create mode 100644 drivers/st/usb_dwc3/usb_dwc3_regs.h
create mode 100644 fdts/stm32mp13-fw-config-mem-encrypt.dtsi
create mode 100644 fdts/stm32mp13-ssp-bl2.dtsi
create mode 100644 fdts/stm32mp15-ssp-bl2.dtsi
create mode 100644 fdts/stm32mp157a-ed1.dts
create mode 100644 fdts/stm32mp157a-ev1.dts
create mode 100644 fdts/stm32mp157d-dk1.dts
create mode 100644 fdts/stm32mp157d-ed1.dts
create mode 100644 fdts/stm32mp157d-ev1.dts
create mode 100644 fdts/stm32mp157f-dk2.dts
create mode 100644 fdts/stm32mp157f-ed1.dts
create mode 100644 fdts/stm32mp157f-ev1.dts
create mode 100644 fdts/stm32mp15xa.dtsi
create mode 100644 fdts/stm32mp15xd.dtsi
create mode 100644 fdts/stm32mp15xf.dtsi
create mode 100644 fdts/stm32mp2-cot-descriptors.dtsi
create mode 100644 fdts/stm32mp21-bl2.dtsi
create mode 100644 fdts/stm32mp21-bl31.dtsi
create mode 100644 fdts/stm32mp21-fw-config.dtsi
create mode 100644 fdts/stm32mp21-lpddr4-1x16Gbits-1x16bits-800MHz.dtsi
create mode 100644 fdts/stm32mp21-pinctrl.dtsi
create mode 100644 fdts/stm32mp211.dtsi
create mode 100644 fdts/stm32mp213.dtsi
create mode 100644 fdts/stm32mp215.dtsi
create mode 100644 fdts/stm32mp215f-dk-ca35tdcid-fw-config.dtsi
create mode 100644 fdts/stm32mp215f-dk-ca35tdcid-rcc.dtsi
create mode 100644 fdts/stm32mp215f-dk-fw-config.dts
create mode 100644 fdts/stm32mp215f-dk.dts
create mode 100644 fdts/stm32mp21xc.dtsi
create mode 100644 fdts/stm32mp21xf.dtsi
create mode 100644 fdts/stm32mp21xxal-pinctrl.dtsi
create mode 100644 fdts/stm32mp21xxam-pinctrl.dtsi
create mode 100644 fdts/stm32mp21xxan-pinctrl.dtsi
create mode 100644 fdts/stm32mp21xxao-pinctrl.dtsi
create mode 100644 fdts/stm32mp23-bl2.dtsi
create mode 100644 fdts/stm32mp23-bl31.dtsi
create mode 100644 fdts/stm32mp23-fw-config.dtsi
create mode 100644 fdts/stm32mp23-lpddr4-1x16Gbits-1x16bits-1200MHz.dtsi
create mode 100644 fdts/stm32mp23-pinctrl.dtsi
create mode 100644 fdts/stm32mp231.dtsi
create mode 100644 fdts/stm32mp233.dtsi
create mode 100644 fdts/stm32mp235.dtsi
create mode 100644 fdts/stm32mp235f-dk-ca35tdcid-fw-config.dtsi
create mode 100644 fdts/stm32mp235f-dk-ca35tdcid-rcc.dtsi
create mode 100644 fdts/stm32mp235f-dk-fw-config.dts
create mode 100644 fdts/stm32mp235f-dk.dts
create mode 100644 fdts/stm32mp23xc.dtsi
create mode 100644 fdts/stm32mp23xf.dtsi
create mode 100644 fdts/stm32mp25-bl31.dtsi
create mode 100644 fdts/stm32mp25-ddr.dtsi
create mode 100644 fdts/stm32mp25-ddr4-2x16Gbits-2x16bits-1200MHz.dtsi
create mode 100644 fdts/stm32mp25-fw-config.dtsi
create mode 100644 fdts/stm32mp25-lpddr4-1x32Gbits-1x32bits-1200MHz.dtsi
create mode 100644 fdts/stm32mp257f-dk-ca35tdcid-fw-config.dtsi
create mode 100644 fdts/stm32mp257f-dk-ca35tdcid-rcc.dtsi
create mode 100644 fdts/stm32mp257f-dk-fw-config.dts
create mode 100644 fdts/stm32mp257f-dk.dts
create mode 100644 fdts/stm32mp257f-ev1-ca35tdcid-fw-config.dtsi
create mode 100644 fdts/stm32mp257f-ev1-ca35tdcid-rcc.dtsi
create mode 100644 fdts/stm32mp257f-ev1-fw-config.dts
delete mode 100644 include/drivers/auth/mbedtls/mbedtls_config-2.h
create mode 100644 include/drivers/hyperflash.h
create mode 100644 include/drivers/st/bsec3_reg.h
create mode 100644 include/drivers/st/nvmem.h
create mode 100644 include/drivers/st/regulator_gpio.h
create mode 100644 include/drivers/st/stm32_cryp2_saes_reg.h
create mode 100644 include/drivers/st/stm32_mce.h
create mode 100644 include/drivers/st/stm32_ospi.h
create mode 100644 include/drivers/st/stm32_rifsc.h
create mode 100644 include/drivers/st/stm32_saes_reg.h
create mode 100644 include/drivers/st/stm32mp21_pwr.h
create mode 100644 include/drivers/st/stm32mp21_rcc.h
create mode 100644 include/drivers/st/stm32mp2_clk.h
create mode 100644 include/drivers/st/stm32mp2_ddr.h
create mode 100644 include/drivers/st/stm32mp2_ddr_helpers.h
create mode 100644 include/drivers/st/stm32mp2_ddr_regs.h
create mode 100644 include/drivers/st/stm32mp2_pwr.h
create mode 100644 include/drivers/st/stm32mp2_ram.h
create mode 100644 include/drivers/st/stm32mp2_risaf.h
create mode 100644 include/drivers/st/stm32mp_pmic2.h
create mode 100644 include/drivers/st/stm32mp_rifsc_regs.h
create mode 100644 include/drivers/st/stm32mp_risab_regs.h
create mode 100644 include/drivers/st/stm32mp_tamp_nvram.h
create mode 100644 include/drivers/st/stpmic2.h
create mode 100644 include/drivers/st/usb_dwc3.h
create mode 100644 include/dt-bindings/clock/st,stm32mp21-rcc.h
create mode 100644 include/dt-bindings/clock/stm32mp21-clksrc.h
create mode 100644 include/dt-bindings/gpio/stm32-gpio.h
create mode 100644 include/dt-bindings/power/stm32mp1-power.h
create mode 100644 include/dt-bindings/reset/st,stm32mp21-rcc.h
create mode 100644 include/dt-bindings/soc/rif.h
create mode 100644 include/dt-bindings/soc/stm32mp13-mce.h
create mode 100644 include/dt-bindings/soc/stm32mp21-rif.h
create mode 100644 include/dt-bindings/soc/stm32mp23-rif.h
create mode 100644 include/dt-bindings/soc/stm32mp25-rif.h
delete mode 100644 include/lib/cpus/aarch64/neoverse_poseidon.h
create mode 100644 include/lib/cpus/aarch64/neoverse_v3.h
delete mode 100644 lib/cpus/aarch64/neoverse_poseidon.S
create mode 100644 lib/cpus/aarch64/neoverse_v3.S
create mode 100644 plat/st/common/default_metadata.json
delete mode 100644 plat/st/common/include/stm32mp_mbedtls_config-2.h
create mode 100644 plat/st/common/include/stm32mp_svc_setup.h
create mode 100644 plat/st/common/stm32mp_fconf_fuse.c
create mode 100644 plat/st/common/stm32mp_svc_setup.c
create mode 100644 plat/st/stm32mp1/include/stm32mp1_context.h
create mode 100644 plat/st/stm32mp1/include/stm32mp1_critic_power.h
create mode 100644 plat/st/stm32mp1/plat_ddr.c
create mode 100644 plat/st/stm32mp1/stm32mp1_context.c
create mode 100644 plat/st/stm32mp1/stm32mp1_critic_power.c
create mode 100644 plat/st/stm32mp1/stm32mp1_critic_power_wrapper.S
create mode 100644 plat/st/stm32mp1/stm32mp1_ssp.c
create mode 100644 plat/st/stm32mp1/stm32mp1_ssp.mk
create mode 100644 plat/st/stm32mp2/bl31_plat_setup.c
create mode 100644 plat/st/stm32mp2/cert_create_tbbr.mk
create mode 100644 plat/st/stm32mp2/include/plat_def_fip_uuid.h
create mode 100644 plat/st/stm32mp2/include/plat_tbbr_img_def.h
create mode 100644 plat/st/stm32mp2/include/platform_oid.h
create mode 100644 plat/st/stm32mp2/include/stm32mp2_context.h
create mode 100644 plat/st/stm32mp2/include/stm32mp2_private.h
create mode 100644 plat/st/stm32mp2/include/stm32mp2_smc.h
create mode 100644 plat/st/stm32mp2/include/tbbr/stm32mp2_tbb_cert.h
create mode 100644 plat/st/stm32mp2/plat_ddr.c
create mode 100644 plat/st/stm32mp2/plat_image_load.c
create mode 100644 plat/st/stm32mp2/services/stgen_svc.c
create mode 100644 plat/st/stm32mp2/services/stgen_svc.h
create mode 100644 plat/st/stm32mp2/services/stm32mp2_svc_setup.c
create mode 100644 plat/st/stm32mp2/stm32mp2_boot_device.c
create mode 100644 plat/st/stm32mp2/stm32mp2_context.c
create mode 100644 plat/st/stm32mp2/stm32mp2_otp.c
create mode 100644 plat/st/stm32mp2/stm32mp2_otp_mirror.c
create mode 100644 plat/st/stm32mp2/stm32mp2_pm.c
create mode 100644 plat/st/stm32mp2/stm32mp2_private.c
create mode 100644 plat/st/stm32mp2/stm32mp2_pwr.c
create mode 100644 plat/st/stm32mp2/stm32mp2_syscfg.c
create mode 100644 plat/st/stm32mp2/stm32mp2_tbb_cert.c
create mode 100644 plat/st/stm32mp2/stm32mp2_topology.c
create mode 100644 plat/st/stm32mp2/stm32mp2_usb_dfu.c
create mode 100644 tools/fiptool/plat_fiptool/st/stm32mp2/plat_def_uuid_config.c
create mode 100644 tools/fiptool/plat_fiptool/st/stm32mp2/plat_fiptool.mk
create mode 100644 tools/fwu_gen_metadata/README.md
create mode 100755 tools/fwu_gen_metadata/fwumd_tool.py
create mode 100644 tools/fwu_gen_metadata/src/metadata.py
create mode 100644 tools/fwu_gen_metadata/src/structs.py
create mode 100644 tools/fwu_gen_metadata/src/utils.py
create mode 100644 tools/fwu_gen_metadata/src/uuid_t.py
create mode 100755 tools/fwu_gen_metadata/tests/testall.sh
create mode 100755 tools/fwu_gen_metadata/tests/validate_stable.sh