deleted>Frq08988 mNo edit summary |
Registered User mNo edit summary |
||
(15 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
<noinclude> | <noinclude>{{ApplicableFor | ||
{{ | |MPUs list=STM32MP13x, STM32MP15x | ||
|MPUs checklist=STM32MP13x,STM32MP15x | |||
}}</noinclude> | |||
}} | |||
</noinclude> | |||
==Article purpose== | ==Article purpose== | ||
The purpose of this article is to | The purpose of this article is to | ||
* briefly introduce the '''HDP''' peripheral (hardware debug port) and its main features | * briefly introduce the '''HDP''' peripheral (hardware debug port) and its main features | ||
* indicate the level of security supported by this hardware block | * indicate the level of security supported by this hardware block | ||
* explain how each instance can be allocated to the | * explain how each instance can be allocated to the runtime contexts and linked to the corresponding software components | ||
* explain, when needed, how to configure the HDP peripheral. | * explain, when needed, how to configure the HDP peripheral. | ||
Line 22: | Line 14: | ||
<br /><br /> | <br /><br /> | ||
Follow the sequence below to connect a GPIO to an internal signal via the HDP: | Follow the sequence below to connect a GPIO to an internal signal via the HDP: | ||
* First of all, look for the internal signal you want to monitor in the HDP signal multiplexing table of the [[STM32MP15 resources#Reference manuals|STM32MP15 reference manuals]]: | * First of all, look for the internal signal you want to monitor in the HDP signal multiplexing table of the [[STM32MP13 resources#Reference manuals|STM32MP13 reference manuals]] or [[STM32MP15 resources#Reference manuals|STM32MP15 reference manuals]]: | ||
** Search for the HDP signal on which you can get it among eight possible choices. | ** Search for the HDP signal on which you can get it among eight possible choices. | ||
** Note the corresponding '''HDPx multiplexing value''' to select. | ** Note the corresponding '''HDPx multiplexing value''' to select. | ||
* Then, look for the most suitable [[GPIO internal peripheral|GPIO]] pin on which you can output HDPx in the [[STM32MP15 resources# | * Then, look for the most suitable [[GPIO internal peripheral|GPIO]] pin on which you can output HDPx (in the [[STM32MP13 resources#Datasheets|datasheets]] for {{MicroprocessorDevice | device=13}} and [[STM32MP15 resources#Datasheets|datasheets]] for {{MicroprocessorDevice | device=15}}): | ||
** Note the [[GPIO internal peripheral|GPIO]] '''bank''' and '''pin'''. | ** Note the [[GPIO internal peripheral|GPIO]] '''bank''' and '''pin'''. | ||
** Note the corresponding [[GPIO internal peripheral|GPIO]] '''alternate function''' (AF) to select. | ** Note the corresponding [[GPIO internal peripheral|GPIO]] '''alternate function''' (AF) to select. | ||
Line 32: | Line 24: | ||
===Features=== | ===Features=== | ||
Refer to [[STM32MP15 resources#Reference manuals|STM32MP15 reference manuals]] for the complete list of features, and to the software components, introduced below, to know which features are really implemented.<br> | Refer to [[STM32MP13 resources#Reference manuals|STM32MP13 reference manuals]] or [[STM32MP15 resources#Reference manuals|STM32MP15 reference manuals]] for the complete list of features, and to the software components, introduced below, to know which features are really implemented.<br> | ||
===Security support=== | ===Security support=== | ||
Line 48: | Line 39: | ||
====Software frameworks==== | ====Software frameworks==== | ||
{{: | ===== On {{MicroprocessorDevice | device=13}} ===== | ||
{{:STM32MP13 internal peripherals software table template}} | |||
| Trace & Debug | |||
| [[HDP internal peripheral|HDP]] | |||
| | |||
| [[HDP Linux driver|HDP Linux driver]] | |||
| | |||
|- | |||
|} | |||
===== On {{MicroprocessorDevice | device=15}} ===== | |||
{{:STM32MP15_internal_peripherals_software_table_template}} | |||
| Trace & Debug | | Trace & Debug | ||
| [[HDP internal peripheral|HDP]] | | [[HDP internal peripheral|HDP]] | ||
Line 62: | Line 63: | ||
====Peripheral assignment==== | ====Peripheral assignment==== | ||
{{: | ===== On {{MicroprocessorDevice | device=13}} ===== | ||
< | {{:STM32MP13_internal_peripherals_assignment_table_template}} | ||
<section begin=stm32mp13 /> | |||
| rowspan="1" | Trace & Debug | |||
| rowspan="1" | [[HDP internal peripheral|HDP]] | |||
| HDP | |||
| | |||
| <span title="assignable peripheral" style="font-size:21px">☐</span> | |||
| | |||
|- | |||
<section end=stm32mp13 /> | |||
|} | |||
===== On {{MicroprocessorDevice | device=15}} ===== | |||
{{:STM32MP15_internal_peripherals_assignment_table_template}} | |||
<section begin=stm32mp15 /> | |||
| rowspan="1" | Trace & Debug | | rowspan="1" | Trace & Debug | ||
| rowspan="1" | [[HDP internal peripheral|HDP]] | | rowspan="1" | [[HDP internal peripheral|HDP]] | ||
Line 72: | Line 86: | ||
| | | | ||
|- | |- | ||
</ | <section end=stm32mp15 /> | ||
|} | |} | ||
<noinclude> | |||
{{ArticleBasedOnModel| Internal peripheral article model}} | |||
{{PublicationRequestId | 8314 | 2018-08-02 | AnneJ}} | |||
[[Category:Trace and debug peripherals]] | |||
[[Category:ToBeAlignedWithModel]] | |||
}} | |||
</noinclude> | |||
< | |||
Latest revision as of 16:54, 26 October 2022
1. Article purpose
The purpose of this article is to
- briefly introduce the HDP peripheral (hardware debug port) and its main features
- indicate the level of security supported by this hardware block
- explain how each instance can be allocated to the runtime contexts and linked to the corresponding software components
- explain, when needed, how to configure the HDP peripheral.
2. Peripheral overview
The HDP peripheral is used to output some internal signals on up to 8 GPIO pins.
Follow the sequence below to connect a GPIO to an internal signal via the HDP:
- First of all, look for the internal signal you want to monitor in the HDP signal multiplexing table of the STM32MP13 reference manuals or STM32MP15 reference manuals:
- Search for the HDP signal on which you can get it among eight possible choices.
- Note the corresponding HDPx multiplexing value to select.
- Then, look for the most suitable GPIO pin on which you can output HDPx (in the datasheets for STM32MP13x lines
and datasheets for STM32MP15x lines
):
The GPIO bank, pin, alternate function and HDPx multiplexing value are the information required to configure each HDP signal.
2.1. Features
Refer to STM32MP13 reference manuals or STM32MP15 reference manuals for the complete list of features, and to the software components, introduced below, to know which features are really implemented.
2.2. Security support
The HDP is a non-secure peripheral.
3. Peripheral usage and associated software
3.1. Boot time
The HDP is not used at boot time.
3.2. Runtime
3.2.1. Overview
The HDP can be allocated to the Arm® Cortex®-A7 non-secure core to be used under Linux® HDP driver.
3.2.2. Software frameworks
3.2.2.1. On STM32MP13x lines 
Domain | Peripheral | Software components | Comment | |
---|---|---|---|---|
OP-TEE | Linux | |||
Trace & Debug | HDP | HDP Linux driver |
3.2.2.2. On STM32MP15x lines 
Domain | Peripheral | Software components | Comment | ||
---|---|---|---|---|---|
OP-TEE | Linux | STM32Cube | |||
Trace & Debug | HDP | HDP Linux driver |
3.2.3. Peripheral configuration
The configuration is applied by the firmware running in the context to which the peripheral is assigned. The configuration by itself can be performed via the STM32CubeMX tool for all internal peripherals. It can then be manually completed (especially for external peripherals) according to the information given in the corresponding software framework article.
3.2.4. Peripheral assignment
3.2.4.1. On STM32MP13x lines 
Click on the right to expand the legend...
Domain | Peripheral | Runtime allocation | Comment | ||
---|---|---|---|---|---|
Instance | Cortex-A7 secure (OP-TEE) |
Cortex-A7 non-secure (Linux) | |||
Trace & Debug | HDP | HDP | ☐ |
3.2.4.2. On STM32MP15x lines 
Click on the right to expand the legend...
Domain | Peripheral | Runtime allocation | Comment | |||
---|---|---|---|---|---|---|
Instance | Cortex-A7 secure (OP-TEE) |
Cortex-A7 non-secure (Linux) |
Cortex-M4 (STM32Cube) | |||
Trace & Debug | HDP | HDP | ☐ |
}}