HSEM device tree configuration

Revision as of 11:08, 6 September 2021 by Registered User (Created page with "== Article purpose == {{Green|''This chapter must clearly indicate the purpose of the article, that is, provide an overview of what the reader will find in the article, and to...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

1. Article purpose[edit source]

This chapter must clearly indicate the purpose of the article, that is, provide an overview of what the reader will find in the article, and to which context this article applies

Below a typical example (remove text in green):

This article explains how to configure the XXX internal peripheral when it is assigned to the Linux® OS. In that case, it is controlled by the YYY framework.

The configuration is performed using the device tree mechanism that provides a hardware description of the XXX peripheral, used by the STM32 XXX Linux driver and/or by the YYY framework (remove the useless field: driver or framework).

If it is possible to assign the peripheral to another execution context than the one described above, copy the following sentence.

If the peripheral is assigned to another execution context, refer to How to assign an internal peripheral to a runtime context article for guidelines on peripheral assignment and configuration.

2. DT bindings documentation[edit source]

The objective of this chapter is to indicate that standard information are available in the community resources. Provide the link to the bindings corresponding to the concerned peripherals.

A typical example is shown below:

The XXX is a multifunction device.

Each function is represented by a separate binding document:

  • The STM32 XXX functionY device tree bindings [1]
  • ...

Set links thanks to the Template:CodeSource. See examples in Template:CodeSource#Example.

3. DT configuration[edit source]

This hardware description is a combination of the STM32 microprocessor device tree files (.dtsi extension) and board device tree files (.dts extension). See the Device tree for an explanation of the device tree file split.

If pins of the internal peripheral need to be configured, then links to Pinctrl device tree configuration (and optionally to Pinctrl overview) must be added in #DT configuration (board level) and/or #DT configuration examples.

STM32CubeMX can be used to generate the board device tree. Refer to How to configure the DT using STM32CubeMX for more details.

3.1. DT configuration (STM32 level)[edit source]

The objective of this chapter is to explain how to configure the DT nodes related to the XXX on an STM32 microprocessor.
A reference to STM32MPU.dtsi file should be added here.
You can indicate that this set of properties may not vary for a given STM32MPU device (see warning below)
.


Warning white.png Warning
This device tree part is related to STM32 microprocessors. It must be kept as is, without being modified by the end-user.

3.2. DT configuration (board level)[edit source]

The objective of this chapter is to explain how to configure the DT nodes related to the STM32 board.
Thanks to this chapter, the end-user must be able to configure any parameters via the DT to adapt to a new board.

3.3. DT configuration examples[edit source]

This chapter must provide an example of how to configure the DT to adapt it to a new board.

4. How to configure the DT using STM32CubeMX[edit source]

The STM32CubeMX tool can be used to configure the STM32MPU device and get the corresponding platform configuration device tree files.
The STM32CubeMX may not support all the properties described in the above DT bindings documentation paragraph. If so, the tool inserts user sections in the generated device tree. These sections can then be edited to add some properties and they are preserved from one generation to another. Refer to STM32CubeMX user manual for further information.

5. References[edit source]

Please refer to the following links for additional information:

  1. Documentation/devicetree/bindings/mfd/stm32-lptimer.txt Example with stm32-lptimer.txt bindings
No categories assignedEdit