DDRPERFM internal peripheral

Revision as of 15:10, 23 June 2021 by Registered User (Created page with "{{Info|{{Green| The objective of this article model is to avoid too much misalignments between all articles related to internal peripheral. * The text highlighted in green ex...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Info white.png Information

The objective of this article model is to avoid too much misalignments between all articles related to internal peripheral.

  • The text highlighted in green explains what is expected in each paragraph, and must be removed or replaced in your internal peripheral article.
  • The table of contents must be used as it is, without any modification in your internal peripheral article.
  • The text in black must be used as it is, or slightly adapted when needed, in your internal peripheral article.
  • The technical writers will review your internal peripheral article with this model as reference.
  • Your internal peripheral article must be named "XXX internal peripheral", where "XXX" is the internal peripheral.
  • If you have nothing to write in a paragraph, remove it.
  • If you have something to add in your internal peripheral article, add it in a paragraph defined by this model. If you don't find the right paragraph, please contact the Wiki maintainers.
  • The following template must be added on top of your article: {{ArticleBasedOnModel | Internal peripheral article model}}
  • Example of articles that follow this model:

1. Article purpose[edit source]

The purpose of this article is to:

  • briefly introduce the XXX peripheral and its main features
  • indicate the level of security supported by this hardware block
  • explain how each instance (or "it" instead of "each instance" if the peripheral is not instantiated) can be allocated to the three runtime contexts and linked to the corresponding software components
  • explain, when necessary, how to configure the XXX peripheral.

2. Peripheral overview[edit source]

The XXX peripheral is used to ... .

2.1. Features[edit source]

In addition to the generic sentence below , the peripheral main features can be introduced and briefly described here. e.g. DAC_internal_peripheral#Features

Refer to the STM32MP15 reference manuals for the complete list of features, and to the software components, introduced below, to see which features are implemented.

2.2. Security support[edit source]

Please adapt the sentence below to your peripheral:

The XXX is a non-secure / secure peripheral (under ETZPC control).

3. Peripheral usage and associated software[edit source]

3.1. Boot time[edit source]

In this chapter, use one of the sentences or both depending your peripheral case

XXX instances are boot devices that support serial boot for Flash programming with STM32CubeProgrammer.

or / and

The XXX is not used at boot time.

3.2. Runtime[edit source]

3.2.1. Overview[edit source]

XXX instances can be allocated to:

  • the Arm® Cortex®-A7 secure core to be controlled in OP-TEE by the XXX OP-TEE driver

or

  • the Arm® Cortex®-A7 non-secure core to be controlled in Linux® by the YYY framework

or


Chapter Peripheral assignment describes which peripheral instance can be assigned to which context.

3.2.2. Software frameworks[edit source]

Domain Peripheral Software components Comment
OP-TEE Linux STM32Cube
Domain Peripheral (XXX internal peripheral) OP-TEE XXX driver Linux YYY framework STM32Cube XXX driver

3.2.3. Peripheral configuration[edit source]

The configuration is applied by the firmware running in the context to which the peripheral is assigned. The configuration can be done alone via the STM32CubeMX tool for all internal peripherals, and then manually completed (particularly for external peripherals), according to the information given in the corresponding software framework article.

If necessary, adapt this section to add more information about the peripheral configuration for given runtime contexts. The user must be able to easily understand how to configure the peripheral by reading this paragraph or the software framework overview. A good approach can be to put all the information related to Linux® device tree in a dedicated article that will be referenced from the peripheral overview and from the framework overview

3.2.4. Peripheral assignment[edit source]

Internal peripherals

Check boxes illustrate the possible peripheral allocations supported by STM32 MPU Embedded Software:

  • means that the peripheral can be assigned () to the given runtime context.
  • is used for system peripherals that cannot be unchecked because they are statically connected in the device.

Refer to How to assign an internal peripheral to a runtime context for more information on how to assign peripherals manually or via STM32CubeMX.
The present chapter describes STMicroelectronics recommendations or choice of implementation. Additional possiblities might be described in STM32MP15 reference manuals.

Domain Peripheral Runtime allocation Comment
Instance Cortex-A7
secure
(OP-TEE)
Cortex-A7
non-secure
(Linux)
Cortex-M4

(STM32Cube)
Domain Peripheral (XXX internal peripheral) Instance1
Instance2

4. How to go further[edit source]

Use this paragraph to provide additional information or to refer to other documents such as application notes (AN)

5. References[edit source]