Registered User (Merge articles) |
Registered User mNo edit summary Tag: 2017 source edit |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude>{{ApplicableFor | <noinclude>{{ApplicableFor | ||
|MPUs list=STM32MP15x | |MPUs list=STM32MP15x | ||
|MPUs checklist=STM32MP13x, STM32MP15x | |MPUs checklist=STM32MP13x, STM32MP15x, STM32MP25x | ||
}}</noinclude> | }}</noinclude> | ||
This article lists all internal peripherals embedded in | This article lists all internal peripherals embedded in {{MicroprocessorDevice | device=15}} and shows the assignment possibilities to the execution contexts for each one of them.<br> | ||
From this article, you can also access to individual peripheral articles in which information related to the overview and configuration can be found. | |||
==Internal peripherals overview== | ==Internal peripherals overview== | ||
The figure below shows all '''peripherals''' embedded in | The figure below shows all '''peripherals''' embedded in {{MicroprocessorDevice | device=15}}, grouped per '''functional domains''' that are reused in many places of this wiki to structure the articles. | ||
<br /> | <br /> | ||
Several ''' | Several '''execution contexts''' exist on {{MicroprocessorDevice | device=15}}<ref>[[:Category:STM32_MPU_microprocessor_devices#Multiple-core_architecture_concepts|STM32 MPU microprocessor devices: multiple-core architecture concepts]]</ref>, corresponding to the different '''Arm cores and associated security modes''': | ||
* <span style="color:#FFFFFF; background:{{STPink}};"> Arm dual core Cortex-A7 secure </span> (Trustzone), running | * <span style="color:#FFFFFF; background:{{STPink}};"> Arm dual core Cortex-A7 secure </span> (Trustzone), running [[STM32 MPU ROM code overview|ROM code]] and [[TF-A BL2 overview|TF-A BL2]] at boot time, and running [[STM32 MPU OP-TEE overview|OP-TEE]] at runtime | ||
* <span style="color:#FFFFFF; background:{{STDarkBlue}};"> Arm dual core Cortex-A7 non secure </span>, running [[STM32MP15 Linux kernel overview|Linux]] | * <span style="color:#FFFFFF; background:{{STDarkBlue}};"> Arm dual core Cortex-A7 non secure </span>, running [[U-Boot overview|U-Boot]] at boot time, and running [[STM32MP15 Linux kernel overview|Linux]] at runtime | ||
* <span style="color:#FFFFFF; background:{{STLightBlue}};"> Arm Cortex-M4 </span> | * <span style="color:#FFFFFF; background:{{STLightBlue}};"> Arm Cortex-M4 non-secure </span>, running [[STM32CubeMP15 Package architecture|STM32Cube]] | ||
<br /> | <br /> | ||
Some peripherals can be strictly '''assigned''' to one | |||
Other ones can be '''shared''' between several | Some peripherals can be strictly '''assigned''' to one execution context: this is the case for most of the peripherals, like [[USART internal peripheral|USART]] or [[I2C internal peripheral|I2C]].<br /> | ||
Other ones can be '''shared''' between several execution contexts: this is the case for system peripherals, like [[STM32MP15 PWR internal peripheral|PWR]] or [[RCC internal peripheral|RCC]].<br /> | |||
The legend below shows how assigned and shared peripherals are identified in the assignment diagram that follows: | The legend below shows how assigned and shared peripherals are identified in the assignment diagram that follows: | ||
<br /> | |||
[[File: STM32MP1IPsOverview legend.png]] | [[File: STM32MP1IPsOverview legend.png]] | ||
<br /> | |||
Both the diagram below and the following summary table (in [[#Internal peripherals assignment|Internal peripherals assignment]] | Both the diagram below and the following summary table (in [[#Internal peripherals runtime assignment|Internal peripherals runtime assignment]] and [[#Internal peripherals boot time assignment|Internal peripherals boot time assignment]] chapters below) are clickable in order to jump to each peripheral overview articles and get more detailed information (like software frameworks used to control them). | ||
They list STMicroelectronics recommendations. The STM32MP15 reference manual <ref>[[STM32MP15 resources#Reference manuals|STM32MP15 reference manuals]]</ref> may expose more possibilities than what is shown here. | They list STMicroelectronics recommendations. The STM32MP15 reference manual <ref>[[STM32MP15 resources#Reference manuals|STM32MP15 reference manuals]]</ref> may expose more possibilities than what is shown here. | ||
{{ | {{ImageMap | Image:STM32MP1IPsOverview.png {{!}} frame {{!}} center{{!}} STM32MP1 internal peripherals overview | ||
ImageMap| | |||
Image:STM32MP1IPsOverview.png {{!}} frame {{!}} center{{!}} STM32MP1 internal peripherals overview | |||
rect 18 14 198 79 [[Arm Cortex-A7 | Cortex-A7]] | rect 18 14 198 79 [[Arm Cortex-A7 | Cortex-A7]] | ||
rect 705 12 882 78 [[Arm Cortex-M4 | Cortex-M4]] | rect 705 12 882 78 [[Arm Cortex-M4 | Cortex-M4]] | ||
Line 64: | Line 63: | ||
rect 111 415 195 442 [[DBGMCU internal peripheral | DBGMCU]] | rect 111 415 195 442 [[DBGMCU internal peripheral | DBGMCU]] | ||
rect 111 448 195 474 [[HDP internal peripheral | HDP]] | rect 111 448 195 474 [[HDP internal peripheral | HDP]] | ||
rect 215 381 298 408 [[BSEC internal peripheral | BSEC]] | rect 215 381 298 408 [[BSEC internal peripheral | BSEC]] | ||
rect 215 415 298 442 [[QUADSPI internal peripheral | QUADSPI]] | rect 215 415 298 442 [[QUADSPI internal peripheral | QUADSPI]] | ||
Line 108: | Line 106: | ||
}} | }} | ||
==Internal peripherals assignment== | ==Internal peripherals runtime assignment== | ||
{{#lst:STM32MP1_internal_peripherals_assignment_table_template|stm32mp15_runtime}} | {{#lst:STM32MP1_internal_peripherals_assignment_table_template|stm32mp15_runtime}} | ||
{{#lst:STM32MP15_ADC_internal_peripheral|stm32mp15_runtime}} | {{#lst:STM32MP15_ADC_internal_peripheral|stm32mp15_runtime}} | ||
Line 162: | Line 160: | ||
{{#lst:DDRPERFM_internal_peripheral|stm32mp15_runtime}} | {{#lst:DDRPERFM_internal_peripheral|stm32mp15_runtime}} | ||
{{#lst:HDP_internal_peripheral|stm32mp15_runtime}} | {{#lst:HDP_internal_peripheral|stm32mp15_runtime}} | ||
{{#lst:CEC_internal_peripheral|stm32mp15_runtime}} | {{#lst:CEC_internal_peripheral|stm32mp15_runtime}} | ||
{{#lst:DCMI_internal_peripheral|stm32mp15_runtime}} | {{#lst:DCMI_internal_peripheral|stm32mp15_runtime}} | ||
Line 169: | Line 165: | ||
{{#lst:GPU_internal_peripheral|stm32mp15_runtime}} | {{#lst:GPU_internal_peripheral|stm32mp15_runtime}} | ||
{{#lst:LTDC_internal_peripheral|stm32mp15_runtime}} | {{#lst:LTDC_internal_peripheral|stm32mp15_runtime}} | ||
|} | |||
==Internal peripherals boot time assignment== | |||
{{#lst:STM32MP1_internal_peripherals_assignment_table_template|stm32mp1_boottime}} | |||
{{#lst:STM32MP15_ADC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DAC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DFSDM_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:STM32MP15_VREFBUF_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:SAI internal peripheral|stm32mp15_boottime}} | |||
{{#lst:SPDIFRX internal peripheral|stm32mp15_boottime}} | |||
{{#lst:IPCC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:HSEM_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:RTC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:STGEN_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:SYSCFG_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DMA_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DMAMUX_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:MDMA_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:EXTI_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:GIC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:NVIC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:GPIO internal peripheral|stm32mp15_boottime}} | |||
{{#lst:BKPSRAM internal memory|stm32mp15_boottime}} | |||
{{#lst:DDRCTRL and DDRPHYC internal peripherals|stm32mp15_boottime}} | |||
{{#lst:STM32MP15_MCU_SRAM_internal_memory|stm32mp15_boottime}} | |||
{{#lst:RETRAM internal memory|stm32mp15_boottime}} | |||
{{#lst:SYSRAM_internal_memory|stm32mp15_boottime}} | |||
{{#lst:LPTIM_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:TIM_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:IWDG_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:WWDG_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:OTG_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:USBH_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:USBPHYC internal peripheral|stm32mp15_boottime}} | |||
{{#lst:I2C_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:SPI_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:USART_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:FMC internal peripheral|stm32mp15_boottime}} | |||
{{#lst:QUADSPI internal peripheral|stm32mp15_boottime}} | |||
{{#lst:SDMMC internal peripheral|stm32mp15_boottime}} | |||
{{#lst:ETH internal peripheral|stm32mp15_boottime}} | |||
{{#lst:FDCAN internal peripheral|stm32mp15_boottime}} | |||
{{#lst:DTS_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:STM32MP15_PWR_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:RCC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:BSEC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:CRC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:CRYP_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:ETZPC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:HASH_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:RNG_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:TZC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:TAMP_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DBGMCU_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DDRPERFM_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:HDP_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:CEC_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DCMI_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:DSI_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:GPU_internal_peripheral|stm32mp15_boottime}} | |||
{{#lst:LTDC_internal_peripheral|stm32mp15_boottime}} | |||
|} | |} | ||
Latest revision as of 15:04, 25 July 2024
This article lists all internal peripherals embedded in STM32MP15x lines and shows the assignment possibilities to the execution contexts for each one of them.
From this article, you can also access to individual peripheral articles in which information related to the overview and configuration can be found.
1. Internal peripherals overview
The figure below shows all peripherals embedded in STM32MP15x lines , grouped per functional domains that are reused in many places of this wiki to structure the articles.
Several execution contexts exist on STM32MP15x lines [1], corresponding to the different Arm cores and associated security modes:
- Arm dual core Cortex-A7 secure (Trustzone), running ROM code and TF-A BL2 at boot time, and running OP-TEE at runtime
- Arm dual core Cortex-A7 non secure , running U-Boot at boot time, and running Linux at runtime
- Arm Cortex-M4 non-secure , running STM32Cube
Some peripherals can be strictly assigned to one execution context: this is the case for most of the peripherals, like USART or I2C.
Other ones can be shared between several execution contexts: this is the case for system peripherals, like PWR or RCC.
The legend below shows how assigned and shared peripherals are identified in the assignment diagram that follows:
Both the diagram below and the following summary table (in Internal peripherals runtime assignment and Internal peripherals boot time assignment chapters below) are clickable in order to jump to each peripheral overview articles and get more detailed information (like software frameworks used to control them). They list STMicroelectronics recommendations. The STM32MP15 reference manual [2] may expose more possibilities than what is shown here.


- Cortex-A7
- Cortex-M4
- STGEN
- SYSCFG
- RTC
- EXTI
- GIC
- NVIC
- IWDG
- WWDG
- DMA
- DMAMUX
- MDMA
- SYSRAM
- DDR via DDR CTRL
- BKPSRAM
- MCU SRAM
- RETRAM
- TIM
- LPTIM
- GPIO
- IPCC
- HSEM
- RCC
- PWR
- DTS
- DDRPERFM
- DBGMCU
- HDP
- BSEC
- QUADSPI
- FMC
- SDMMC
- FDCAN
- ETH
- USBH
- OTG
- USBPHYC
- USART
- I2C
- SPI
- RNG
- HASH
- ETZPC
- CRYP
- CRC
- TZC
- TAMP
- GPU
- DSI
- LTDC
- DCMI
- CEC
- VREFBUF
- DAC
- DFSDM
- ADC
- SPI I2S
- SPDIFRX
- SAI
2. Internal peripherals runtime assignment
Click on to expand or collapse the legend...
Domain | Peripheral | Runtime allocation | Comment ![]() | |||
---|---|---|---|---|---|---|
Instance | Cortex-A7 secure (OP-TEE) |
Cortex-A7 non-secure (Linux) |
Cortex-M4 (STM32Cube) | |||
Analog | ADC | ADC | ☐ | ☐ | Assignment (single choice) | |
Analog | DAC | DAC | ☐ | ☐ | Assignment (single choice) | |
Analog | DFSDM | DFSDM | ☐ | ☐ | Assignment (single choice) | |
Analog | VREFBUF | VREFBUF | ☐ | ☐ | Assignment (single choice) | |
Audio | SAI | SAI1 | ☐ | ☐ | Assignment (single choice) | |
SAI2 | ☐ | ☐ | Assignment (single choice) | |||
SAI3 | ☐ | ☐ | Assignment (single choice) | |||
SAI4 | ☐ | ☐ | Assignment (single choice) | |||
Audio | SPDIFRX | SPDIFRX | ☐ | ☐ | Assignment (single choice) | |
Coprocessor | IPCC | IPCC | ☑ | ☑ | Shared (none or both) | |
Coprocessor | HSEM | HSEM | ⬚ | ☑ | ☑ | |
Core | RTC | RTC | ☑ | ☐ | ☐ | RTC is mandatory to resynchronize STGEN after exiting low-power modes. |
Core | STGEN | STGEN | ✓ | |||
Core | SYSCFG | SYSCFG | ☑ | ☑ | ☑ | |
Core/DMA | DMA | DMA1 | ☐ | ☐ | Assignment (single choice) | |
DMA2 | ☐ | ☐ | Assignment (single choice) | |||
Core/DMA | DMAMUX | DMAMUX | ☐ | ☐ | Shareable (multiple choices supported) | |
Core/DMA | MDMA | MDMA | ⬚ | ☐ | Shareable (multiple choices supported) | |
Core/Interrupts | EXTI | EXTI | ☐ | ☐ | ☐ | Shared |
Core/Interrupts | GIC | GIC | ✓ | ✓ | ||
Core/Interrupts | NVIC | NVIC | ✓ | |||
Core/IOs | GPIO | GPIOA-K | ☐ (*) | ☐ | ☐ | The pins can individually be shared (*): despite they cannot be secured, the pins can be used by the secure context |
GPIOZ | ☐ | ☐ | ☐ | The pins can individually be secured or shared | ||
Core/RAM | BKPSRAM | BKPSRAM | ☑ | ⬚ | ⬚ | Assignment (single choice) |
Core/RAM | DDR via DDRCTRL | DDR | ☑ | ⬚ | ||
Core/RAM | MCU SRAM | SRAM1 | ☐ | ☐ | ☐ | Assignment (between A7 S and A7 NS / M4) Shareable (between A7 NS and M4) |
SRAM2 | ☐ | ☐ | ☐ | Assignment (between A7 S and A7 NS / M4) Shareable (between A7 NS and M4) | ||
SRAM3 | ☐ | ☐ | ☐ | Assignment (between A7 S and A7 NS / M4) Shareable (between A7 NS and M4) | ||
SRAM4 | ☐ | ☐ | ☐ | Assignment (between A7 S and A7 NS / M4) Shareable (between A7 NS and M4) | ||
Core/RAM | RETRAM | RETRAM | ⬚ | ⬚ | ☑ | Assignment to the Cortex-M4 if used |
Core/RAM | SYSRAM | SYSRAM | ☑ | ☐ | ⬚ | Shareable (multiple choices supported)
Secure section required for low power entry and exit |
Core/Timers | LPTIM | LPTIM1 | ☐ | ☐ | Assignment (single choice) | |
LPTIM2 | ☐ | ☐ | Assignment (single choice) | |||
LPTIM3 | ☐ | ☐ | Assignment (single choice) | |||
LPTIM4 | ☐ | ☐ | Assignment (single choice) | |||
LPTIM5 | ☐ | ☐ | Assignment (single choice) | |||
Core/Timers | TIM | TIM1 (APB2 group) | ☐ | ☐ | Assignment (single choice) | |
TIM2 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM3 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM4 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM5 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM6 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM7 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM8 (APB2 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM12 (APB1 group) | ☐ | ☐ | ☐ | Assignment (single choice) TIM12 or TIM15 can be used for HSI/CSI calibration[3] | ||
TIM13 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM14 (APB1 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM15 (APB2 group) | ☐ | ☐ | ☐ | Assignment (single choice) TIM12 or TIM15 can be used for HSI/CSI calibration[3] | ||
TIM16 (APB2 group) | ☐ | ☐ | Assignment (single choice) | |||
TIM17 (APB2 group) | ☐ | ☐ | Assignment (single choice) | |||
Core/Watchdog | IWDG | IWDG1 | ☐ | ☐ | ||
IWDG2 | ☐ | ☐ | Shared (none or both):
| |||
Core/Watchdog | WWDG | WWDG | ☐ | |||
High speed interface | OTG (USB OTG) | OTG (USB OTG) | ☐ | ⬚ | ||
High speed interface | USBH (USB Host) | USBH (USB Host) | ☐ | ⬚ | ||
High speed interface | USBPHYC (USB HS PHY controller) | USBPHYC (USB HS PHY controller) | ☐ | ⬚ | ||
Low speed interface | I2C | I2C1 | ☐ | ☐ | Assignment (single choice) | |
I2C2 | ☐ | ☐ | Assignment (single choice) | |||
I2C3 | ☐ | ☐ | Assignment (single choice) | |||
I2C4 | ☐ | ☐ | Assignment (single choice). Used for PMIC control on ST boards. | |||
I2C5 | ☐ | ☐ | Assignment (single choice) | |||
I2C6 | ☐ | ☐ | Assignment (single choice) | |||
Low speed interface or audio |
SPI | SPI2S1 | ☐ | ☐ | Assignment (single choice) | |
SPI2S2 | ☐ | ☐ | Assignment (single choice) | |||
SPI2S3 | ☐ | ☐ | Assignment (single choice) | |||
SPI4 | ☐ | ☐ | Assignment (single choice) | |||
SPI5 | ☐ | ☐ | Assignment (single choice) | |||
SPI6 | ⬚ | ☐ | Assignment (single choice) | |||
Low speed interface | USART | USART1 | ☐ | ☐ | Assignment (single choice) | |
USART2 | ☐ | ☐ | Assignment (single choice) | |||
USART3 | ☐ | ☐ | Assignment (single choice) | |||
UART4 | ☐ | ☐ | Assignment (single choice). Used for Linux® serial console on ST boards. | |||
UART5 | ☐ | ☐ | Assignment (single choice) | |||
USART6 | ☐ | ☐ | Assignment (single choice) | |||
UART7 | ☐ | ☐ | Assignment (single choice) | |||
UART8 | ☐ | ☐ | Assignment (single choice) | |||
Mass storage | FMC | FMC | ☐ | ☐ | Assignment (single choice) | |
Mass storage | QUADSPI | QUADSPI | ☐ | ☐ | Assignment (single choice) | |
Mass storage | SDMMC | SDMMC1 | ☐ | |||
SDMMC2 | ☐ | |||||
SDMMC3 | ☐ | ☐ | Assignment (single choice) | |||
Networking | ETH | ETH | ☐ | Assignment (single choice) | ||
Networking | FDCAN | FDCAN1 | ☐ | ☐ | Assignment (single choice) | |
FDCAN2 | ☐ | ☐ | Assignment (single choice) | |||
Power & Thermal | DTS | DTS | ☐ | |||
Power & Thermal | PWR | PWR | ✓ | ✓ | ✓ | |
Power & Thermal | RCC | RCC | ✓ | ✓ | ✓ | |
Security | BSEC | BSEC | ✓ | ☐ | ⬚ | Cortex-M4 can read BSEC shadow register (BSEC_OTP_DATAx) to read a lower OTP value |
Security | CRC | CRC1 | ☐ | ☐ | ||
CRC2 | ☐ | ☐ | ||||
Security | CRYP | CRYP1 | ☐ | ☐ | Assignment (single choice) | |
CRYP2 | ☐ | |||||
Security | ETZPC | ETZPC | ✓ | ✓ | ⬚ | |
Security | HASH | HASH1 | ☐ | ☐ | Assignment (single choice) | |
HASH2 | ☐ | |||||
Security | RNG | RNG1 | ☐ | ☐ | Assignment (single choice) | |
RNG2 | ☐ | |||||
Security | TZC | TZC | ✓ | |||
Security | TAMP | TAMP | ☐ | ☐ | ☐ | |
Trace & Debug | DBGMCU | DBGMCU | ✓ | |||
Trace & Debug | DDRPERFM | DDRPERFM | ☐ | |||
Trace & Debug | HDP | HDP | ☐ | |||
Visual | CEC | CEC | ☐ | ☐ | Assignment (single choice) | |
Visual | DCMI | DCMI | ☐ | ☐ | Assignment (single choice) | |
Visual | DSI | DSI | ☐ | |||
Visual | GPU | GPU | ☐ | |||
Visual | LTDC | LTDC | ☐ |
3. Internal peripherals boot time assignment
Click on to expand or collapse the legend...
Domain | Peripheral | Boot time allocation | Comment ![]() | |||
---|---|---|---|---|---|---|
Instance | Cortex-A7 secure (ROM code) |
Cortex-A7 secure (TF-A BL2) |
Cortex-A7 non-secure (U-Boot) | |||
Analog | ADC | ADC | ☐ | |||
Coprocessor | HSEM | HSEM | ☐ | |||
Core | RTC | RTC | ☐ | |||
Core | STGEN | STGEN | ✓ | ✓ | ||
Core | SYSCFG | SYSCFG | ✓ | ☑ | ☑ | |
Core/IOs | GPIO | GPIOA-K | ✓ | ☑ (*) | ☐ | The pins cannot be secured (*): despite they cannot be secured, the pins can be used by the secure context |
GPIOZ | ☐ | ☐ | The pins can individually be secured | |||
Core/RAM | BKPSRAM | BKPSRAM | ☑ | ⬚ | ||
Core/RAM | DDR via DDRCTRL | DDR | ☑ | ⬚ | ||
Core/RAM | MCU SRAM | Any instance | ✓ | ☑ | ☐ | |
Core/RAM | RETRAM | RETRAM | ☐ | |||
Core/RAM | SYSRAM | SYSRAM | ✓ | ✓ | ||
Core/Watchdog | IWDG | Any instance | ✓ | ☐ | ☐ | |
High speed interface | OTG (USB OTG) | OTG (USB OTG) | ✓ | ☐ | ☐ | The OTG can be used by ROM code, FSBL and SSBL in DFU mode to support serial boot. It can be used also in U-boot with command line tools. |
High speed interface | USBH (USB Host) | USBH (USB Host) | ☐ | |||
High speed interface | USBPHYC (USB HS PHY controller) | USBPHYC (USB HS PHY controller) | ✓ | ☐ | ☐ | The USBPHYC can be used by ROM code, FSBL and SSBL in DFU mode to support serial boot. It can be used also in U-boot by OTG and USBH with command line tools. |
Low speed interface | I2C | Any instance | ☐ | ☐ | ||
Low speed interface | USART | Any instance | ✓ | ☐ | ☐ | |
Mass storage | FMC | FMC | ✓ | ☐ | ☐ | |
Mass storage | QUADSPI | QUADSPI | ✓ | ☐ | ☐ | |
Mass storage | SDMMC | SDMMC1 | ✓ | ☐ | ☐ | |
SDMMC2 | ✓ | ☐ | ☐ | |||
Networking | ETH | Any instance | ☐ | Assignment (single choice) | ||
Power & Thermal | PWR | PWR | ✓ | ✓ | ✓ | |
Power & Thermal | RCC | RCC | ✓ | ✓ | ✓ | |
Security | BSEC | BSEC | ✓ | ✓ | ☐ | |
Security | ETZPC | Any instance | ✓ | ✓ | ✓ | ETZPC configuration is set by OP-TEE |
Security | HASH | HASH1 | ✓ | ☑ | ||
HASH2 | not used at boot time. | |||||
Security | RNG | RNG1 | ☑ | ☐ | ||
Security | TZC | TZC | ☑ | |||
Security | TAMP | TAMP | ✓ | ✓ | ✓ | |
Trace & Debug | DBGMCU | DBGMCU | ✓ | ✓ | ✓ | |
Visual | DSI | DSI | ☐ | |||
Visual | LTDC | LTDC | ☐ |
4. References