diff mbox series

[v1,12/12] doc: Add documentation for STM32 MCUs

Message ID 20220413150500.23883-13-patrice.chotard@foss.st.com
State Superseded
Delegated to: Patrick Delaunay
Headers show
Series stm32: add new board support, defconfig and documentation | expand

Commit Message

Patrice CHOTARD April 13, 2022, 3:05 p.m. UTC
Add documentation for STM32 MCUs (F4, F7 and H7 series).

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>

---

 board/st/stm32f429-discovery/MAINTAINERS  |   1 +
 board/st/stm32f429-evaluation/MAINTAINERS |   1 +
 board/st/stm32f469-discovery/MAINTAINERS  |   1 +
 board/st/stm32f746-disco/MAINTAINERS      |   1 +
 board/st/stm32h743-disco/MAINTAINERS      |   1 +
 board/st/stm32h743-eval/MAINTAINERS       |   1 +
 board/st/stm32h750-art-pi/MAINTAINERS     |   1 +
 doc/board/st/index.rst                    |   1 +
 doc/board/st/stm32_MCU.rst                | 186 ++++++++++++++++++++++
 9 files changed, 194 insertions(+)
 create mode 100644 doc/board/st/stm32_MCU.rst

Comments

Patrick Delaunay April 26, 2022, 11:59 a.m. UTC | #1
Hi Patrice

Few minor remarks,

On 4/13/22 17:05, Patrice Chotard wrote:
> Add documentation for STM32 MCUs (F4, F7 and H7 series).
>
> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
>
> ---
>
>   board/st/stm32f429-discovery/MAINTAINERS  |   1 +
>   board/st/stm32f429-evaluation/MAINTAINERS |   1 +
>   board/st/stm32f469-discovery/MAINTAINERS  |   1 +
>   board/st/stm32f746-disco/MAINTAINERS      |   1 +
>   board/st/stm32h743-disco/MAINTAINERS      |   1 +
>   board/st/stm32h743-eval/MAINTAINERS       |   1 +
>   board/st/stm32h750-art-pi/MAINTAINERS     |   1 +
>   doc/board/st/index.rst                    |   1 +
>   doc/board/st/stm32_MCU.rst                | 186 ++++++++++++++++++++++
>   9 files changed, 194 insertions(+)
>   create mode 100644 doc/board/st/stm32_MCU.rst
>
> diff --git a/board/st/stm32f429-discovery/MAINTAINERS b/board/st/stm32f429-discovery/MAINTAINERS
> index fdb62e98e8..7661a15fdd 100644
> --- a/board/st/stm32f429-discovery/MAINTAINERS
> +++ b/board/st/stm32f429-discovery/MAINTAINERS
> @@ -1,6 +1,7 @@
>   STM32F429-DISCOVERY BOARD
>   M:	Kamil Lulko <kamil.lulko@gmail.com>
>   S:	Maintained
> +F:	doc/board/st/
>   F:	board/st/stm32f429-discovery/
>   F:	include/configs/stm32f429-discovery.h
>   F:	configs/stm32f429-discovery_defconfig
> diff --git a/board/st/stm32f429-evaluation/MAINTAINERS b/board/st/stm32f429-evaluation/MAINTAINERS
> index 29d00ef27e..b272893ef7 100644
> --- a/board/st/stm32f429-evaluation/MAINTAINERS
> +++ b/board/st/stm32f429-evaluation/MAINTAINERS
> @@ -1,6 +1,7 @@
>   STM32F429-EVALUATION BOARD
>   M:	Patrice Chotard <patrice.chotard@foss.st.com>
>   S:	Maintained
> +F:	doc/board/st/
>   F:	board/st/stm32f429-evaluation/
>   F:	include/configs/stm32f429-evaluation.h
>   F:	configs/stm32f429-evaluation_defconfig
> diff --git a/board/st/stm32f469-discovery/MAINTAINERS b/board/st/stm32f469-discovery/MAINTAINERS
> index 5a6a78b39e..a95f93f6f6 100644
> --- a/board/st/stm32f469-discovery/MAINTAINERS
> +++ b/board/st/stm32f469-discovery/MAINTAINERS
> @@ -1,6 +1,7 @@
>   STM32F469-DISCOVERY BOARD
>   M:	Patrice Chotard <patrice.chotard@foss.st.com>
>   S:	Maintained
> +F:	doc/board/st/
>   F:	board/st/stm32f469-discovery/
>   F:	include/configs/stm32f469-discovery.h
>   F:	configs/stm32f469-discovery_defconfig
> diff --git a/board/st/stm32f746-disco/MAINTAINERS b/board/st/stm32f746-disco/MAINTAINERS
> index bc0952c563..18e4c99c4f 100644
> --- a/board/st/stm32f746-disco/MAINTAINERS
> +++ b/board/st/stm32f746-disco/MAINTAINERS
> @@ -1,6 +1,7 @@
>   STM32F746 DISCOVERY BOARD
>   M:	Vikas Manocha <vikas.manocha@st.com>
>   S:	Maintained
> +F:	doc/board/st/
>   F:	board/st/stm32f746-disco
>   F:	include/configs/stm32f746-disco.h
>   F:	configs/stm32f746-disco_defconfig
> diff --git a/board/st/stm32h743-disco/MAINTAINERS b/board/st/stm32h743-disco/MAINTAINERS
> index 60fbe344f8..f4ecef3aa5 100644
> --- a/board/st/stm32h743-disco/MAINTAINERS
> +++ b/board/st/stm32h743-disco/MAINTAINERS
> @@ -1,6 +1,7 @@
>   STM32H743 DISCOVERY BOARD
>   M:	Patrice Chotard <patrice.chotard@foss.st.com>
>   S:	Maintained
> +F:	doc/board/st/
>   F:	board/st/stm32h743-disco
>   F:	include/configs/stm32h743-disco.h
>   F:	configs/stm32h743-disco_defconfig
> diff --git a/board/st/stm32h743-eval/MAINTAINERS b/board/st/stm32h743-eval/MAINTAINERS
> index fda93db777..b69e0d4abb 100644
> --- a/board/st/stm32h743-eval/MAINTAINERS
> +++ b/board/st/stm32h743-eval/MAINTAINERS
> @@ -1,6 +1,7 @@
>   STM32H743 EVALUATION BOARD
>   M:	Patrice Chotard <patrice.chotard@foss.st.com>
>   S:	Maintained
> +F:	doc/board/st/
>   F:	board/st/stm32h743-eval
>   F:	include/configs/stm32h743-eval.h
>   F:	configs/stm32h743-eval_defconfig
> diff --git a/board/st/stm32h750-art-pi/MAINTAINERS b/board/st/stm32h750-art-pi/MAINTAINERS
> index 9578833068..2fd69e6d1c 100644
> --- a/board/st/stm32h750-art-pi/MAINTAINERS
> +++ b/board/st/stm32h750-art-pi/MAINTAINERS
> @@ -1,6 +1,7 @@
>   STM32H750 ART PI BOARD
>   M:	Dillon Min <dillon.minfei@gmail.com>
>   S:	Maintained
> +F:	doc/board/st/
>   F:	board/st/stm32h750-art-pi
>   F:	include/configs/stm32h750-art-pi.h
>   F:	configs/stm32h750-art-pi_defconfig
> diff --git a/doc/board/st/index.rst b/doc/board/st/index.rst
> index 9bba42f1da..2a8a4ef3b8 100644
> --- a/doc/board/st/index.rst
> +++ b/doc/board/st/index.rst
> @@ -8,3 +8,4 @@ STMicroelectronics
>   
>      st-dt
>      stm32mp1
> +   stm32_MCU
> diff --git a/doc/board/st/stm32_MCU.rst b/doc/board/st/stm32_MCU.rst
> new file mode 100644
> index 0000000000..84f7c0016e
> --- /dev/null
> +++ b/doc/board/st/stm32_MCU.rst
> @@ -0,0 +1,186 @@
> +.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
> +.. sectionauthor:: Patrice Chotard <patrice.chotardy@foss.st.com>
> +
> +STM32 MCU boards
> +=================
> +
> +This is a quick instruction for setup STM32 MCU boards.
> +
> +Supported devices
> +-----------------
> +
> +U-Boot supports the following STMP32 MCU SoCs:
> +
> + - STM32F429
> + - STM32F469
> + - STM32F746
> + - STM32F769
> + - STM32H743
> + - STM32H750
> +
> +SoCs information:
> +-----------------
> +STM32F4 series are Cortex-M4 MCU.
> +STM32F7 and STM32H7 series are Cortex-M7 MCU.
> +
> + + STM32F4 series: https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html
> + + STM32F7 series: https://www.st.com/en/microcontrollers-microprocessors/stm32f7-series.html
> + + STM32H7 series: https://www.st.com/en/microcontrollers-microprocessors/stm32h7-series.html
> +
> +Currently the following boards are supported:
> +
> + + stm32f429-disco.dts
> + + stm32f469-disco.dts
> + + stm32746g-eval.dts
> + + stm32f746-disco.dts
> + + stm32f769-disco.dts
> + + stm32h743i-disco.dts
> + + stm32h743i-eval.dts
> + + stm32h750i-art-pi.dts
> +
> +Boot Sequences
> +--------------
> +
> +For STM32F7 series, 2 boot configurations are supported with and without SPL
> +
> ++----------+------------------------+-------------------------+--------------+
> +| **ROM**  | **FSBL**               | **SSBL**                | **OS**       |
> ++ **code** +------------------------+-------------------------+--------------+
> +|          | First Stage Bootloader | Second Stage Bootloader | Linux Kernel |
> ++          +------------------------+-------------------------+--------------+
> +|          | embedded Flash         | DDR                                    |
> ++----------+------------------------+-------------------------+--------------+


no "ROM code" in STM32 MCU


> +
> +The boot chain with SPL
> +```````````````````````
> +
> +defconfig_file :
> +   + **stm32746g-eval_spl_defconfig**
> +   + **stm32f746-disco_spl_defconfig**
> +   + **stm32f769-disco_spl_defconfig**
> +
> ++-------------+------------+------------+-------+
> +|  ROM code   | FSBL       | SSBL       | OS    |
> ++             +------------+------------+-------+
> +|             |U-Boot SPL  | U-Boot     | Linux |
> ++-------------+------------+------------+-------+


no "ROM code" in STM32 MCU

> +
> +The boot chain without SPL
> +``````````````````````````
> +
> +defconfig_file :
> +   + **stm32f429-discovery_defconfig**
> +   + **stm32f429-evaluation_defconfig**
> +   + **stm32f469-discovery_defconfig**
> +   + **stm32746g-eval_defconfig**
> +   + **stm32f746-disco_defconfig**
> +   + **stm32f769-disco_defconfig**
> +   + **stm32h743-disco_defconfig**
> +   + **stm32h743-eval_defconfig**
> +   + **stm32h750-art-pi_defconfig**
> +
> ++-------------+-----------+-------+
> +|  ROM code   | FSBL      | OS    |
> ++             +-----------+-------+
> +|             |U-Boot     | Linux |
> ++-------------+-----------+-------+

no "ROM code" in STM32 MCU

> +
> +Build Procedure
> +---------------
> +
> +1. Install the required tools for U-Boot
> +
> +   * install package needed in U-Boot makefile
> +     (libssl-dev, swig, libpython-dev...)
> +
> +  * install ARMv7 toolchain for 32bit Cortex-A (from Linaro,
> +     from SDK for STM32MP15x, or any crosstoolchains from your distribution)
> +     (you can use any gcc cross compiler compatible with U-Boot)
> +
> +2. Set the cross compiler::
> +
> +    # export CROSS_COMPILE=/path/to/toolchain/arm-linux-gnueabi-
> +
> +3. Select the output directory (optional)::
> +
> +   # export KBUILD_OUTPUT=/path/to/output
> +
> +   for example: use one output directory for each configuration::
> +
> +   # export KBUILD_OUTPUT=stm32f4
> +   # export KBUILD_OUTPUT=stm32f7
> +   # export KBUILD_OUTPUT=stm32h7
> +
> +   you can build outside of code directory::
> +
> +   # export KBUILD_OUTPUT=../build/stm32f4
> +
> +4. Configure U-Boot::
> +
> +   # make <defconfig_file>
> +
> +   For example with <defconfig_file>:
> +
> +   - For **stm32f429 discovery** board : **stm32f429-discovery_defconfig**
> +   - For **stm32f769 discovery** board with SPL: **stm32f769-disco_spl_defconfig**
> +   - For **stm32f769 discovery** board without SPL: **stm32f769-disco_defconfig**
> +
> +5. Configure the device-tree and build the U-Boot image::
> +
> +   # make DEVICE_TREE=<name> all
it is not required as the supported device tree is selected in each 
defconfig.

# make all

> +
> +   Examples:
> +
> +  a) boot with SPL on stm32f746 discovery board::
> +
> +     # export KBUILD_OUTPUT=stm32f746-disco
> +     # make stm32f746-disco_spl_defconfig
> +     # make DEVICE_TREE=stm32f746-disco all
# make all
> +
> +  b) boot without SPL on stm32f746 discovery board::
> +
> +     # export KBUILD_OUTPUT=stm32f746-disco
> +     # make stm32f746-disco_defconfig
> +     # make DEVICE_TREE=stm32f746-disco all


# make all

> +
> +  c) boot on stm32h743 discovery board::
> +
> +      # export KBUILD_OUTPUT=stm32h743-disco
> +      # make stm32h743-disco_defconfig
> +      # make DEVICE_TREE=stm32h743i-disco all

# make all

> +
> +  d) boot on stm32h743 evaluation board::
> +
> +      # export KBUILD_OUTPUT=stm32h743-disco
> +      # make stm32h743-eval_defconfig
> +      # make DEVICE_TREE=stm32h743i-eval all

# make all

> +
> +6. U-Boot Output files
> +
> +   So in the output directory (selected by KBUILD_OUTPUT),
> +   you can found the needed U-Boot files, for example::
> +
> +     - stm32f746-disco_defconfig = **u-boot-dtb.bin** and **u-boot.dtb**
> +
> +        - FSBL = u-boot-dtb.bin
> +
> +     - stm32f746-disco_spl_defconfig = **u-boot-dtb.bin**, **u-boot.dtb** and **u-boot-with-spl.bin**
> +
> +       - FSBL + SSBL = u-boot-with-spl.bin
> +       - SSBL = u-boot-dtb.bin
> +
> +7. Flash U-Boot files
> +
> +Plug STM32 MCUs board using the USB ST-Link connector, hence it will expose
> +the flash area as a mass-storage. In this mass-storage you will find the
> +following files:
> +
> +- DETAILS.TXT: give the bootrom version and build
> +- MBED.HTM: shortcul to the hardware board description web page from st.com.
> +
> +Copy/paste the u-boot.bin to this mass-storage. The "COM" LED will
> +blink alternatively red and green during the flash process.
> +When done the board will reboot automatically.
> +
> +In case of boot with SPL, by default SPL will try to load either a Linux
> +kernel (falcon mode) or, if the key "c" is maintained pressed, the main U-Boot.

regards

Patrick
Patrice CHOTARD April 27, 2022, 11:27 a.m. UTC | #2
Hi Patrick

ok v2 will be sent with your remarks

Thanks

Patrice

On 4/26/22 13:59, Patrick DELAUNAY wrote:
> Hi Patrice
>
> Few minor remarks,
>
> On 4/13/22 17:05, Patrice Chotard wrote:
>> Add documentation for STM32 MCUs (F4, F7 and H7 series).
>>
>> Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
>>
>> ---
>>
>>   board/st/stm32f429-discovery/MAINTAINERS  |   1 +
>>   board/st/stm32f429-evaluation/MAINTAINERS |   1 +
>>   board/st/stm32f469-discovery/MAINTAINERS  |   1 +
>>   board/st/stm32f746-disco/MAINTAINERS      |   1 +
>>   board/st/stm32h743-disco/MAINTAINERS      |   1 +
>>   board/st/stm32h743-eval/MAINTAINERS       |   1 +
>>   board/st/stm32h750-art-pi/MAINTAINERS     |   1 +
>>   doc/board/st/index.rst                    |   1 +
>>   doc/board/st/stm32_MCU.rst                | 186 ++++++++++++++++++++++
>>   9 files changed, 194 insertions(+)
>>   create mode 100644 doc/board/st/stm32_MCU.rst
>>
>> diff --git a/board/st/stm32f429-discovery/MAINTAINERS 
>> b/board/st/stm32f429-discovery/MAINTAINERS
>> index fdb62e98e8..7661a15fdd 100644
>> --- a/board/st/stm32f429-discovery/MAINTAINERS
>> +++ b/board/st/stm32f429-discovery/MAINTAINERS
>> @@ -1,6 +1,7 @@
>>   STM32F429-DISCOVERY BOARD
>>   M:    Kamil Lulko <kamil.lulko@gmail.com>
>>   S:    Maintained
>> +F:    doc/board/st/
>>   F:    board/st/stm32f429-discovery/
>>   F:    include/configs/stm32f429-discovery.h
>>   F:    configs/stm32f429-discovery_defconfig
>> diff --git a/board/st/stm32f429-evaluation/MAINTAINERS 
>> b/board/st/stm32f429-evaluation/MAINTAINERS
>> index 29d00ef27e..b272893ef7 100644
>> --- a/board/st/stm32f429-evaluation/MAINTAINERS
>> +++ b/board/st/stm32f429-evaluation/MAINTAINERS
>> @@ -1,6 +1,7 @@
>>   STM32F429-EVALUATION BOARD
>>   M:    Patrice Chotard <patrice.chotard@foss.st.com>
>>   S:    Maintained
>> +F:    doc/board/st/
>>   F:    board/st/stm32f429-evaluation/
>>   F:    include/configs/stm32f429-evaluation.h
>>   F:    configs/stm32f429-evaluation_defconfig
>> diff --git a/board/st/stm32f469-discovery/MAINTAINERS 
>> b/board/st/stm32f469-discovery/MAINTAINERS
>> index 5a6a78b39e..a95f93f6f6 100644
>> --- a/board/st/stm32f469-discovery/MAINTAINERS
>> +++ b/board/st/stm32f469-discovery/MAINTAINERS
>> @@ -1,6 +1,7 @@
>>   STM32F469-DISCOVERY BOARD
>>   M:    Patrice Chotard <patrice.chotard@foss.st.com>
>>   S:    Maintained
>> +F:    doc/board/st/
>>   F:    board/st/stm32f469-discovery/
>>   F:    include/configs/stm32f469-discovery.h
>>   F:    configs/stm32f469-discovery_defconfig
>> diff --git a/board/st/stm32f746-disco/MAINTAINERS 
>> b/board/st/stm32f746-disco/MAINTAINERS
>> index bc0952c563..18e4c99c4f 100644
>> --- a/board/st/stm32f746-disco/MAINTAINERS
>> +++ b/board/st/stm32f746-disco/MAINTAINERS
>> @@ -1,6 +1,7 @@
>>   STM32F746 DISCOVERY BOARD
>>   M:    Vikas Manocha <vikas.manocha@st.com>
>>   S:    Maintained
>> +F:    doc/board/st/
>>   F:    board/st/stm32f746-disco
>>   F:    include/configs/stm32f746-disco.h
>>   F:    configs/stm32f746-disco_defconfig
>> diff --git a/board/st/stm32h743-disco/MAINTAINERS 
>> b/board/st/stm32h743-disco/MAINTAINERS
>> index 60fbe344f8..f4ecef3aa5 100644
>> --- a/board/st/stm32h743-disco/MAINTAINERS
>> +++ b/board/st/stm32h743-disco/MAINTAINERS
>> @@ -1,6 +1,7 @@
>>   STM32H743 DISCOVERY BOARD
>>   M:    Patrice Chotard <patrice.chotard@foss.st.com>
>>   S:    Maintained
>> +F:    doc/board/st/
>>   F:    board/st/stm32h743-disco
>>   F:    include/configs/stm32h743-disco.h
>>   F:    configs/stm32h743-disco_defconfig
>> diff --git a/board/st/stm32h743-eval/MAINTAINERS 
>> b/board/st/stm32h743-eval/MAINTAINERS
>> index fda93db777..b69e0d4abb 100644
>> --- a/board/st/stm32h743-eval/MAINTAINERS
>> +++ b/board/st/stm32h743-eval/MAINTAINERS
>> @@ -1,6 +1,7 @@
>>   STM32H743 EVALUATION BOARD
>>   M:    Patrice Chotard <patrice.chotard@foss.st.com>
>>   S:    Maintained
>> +F:    doc/board/st/
>>   F:    board/st/stm32h743-eval
>>   F:    include/configs/stm32h743-eval.h
>>   F:    configs/stm32h743-eval_defconfig
>> diff --git a/board/st/stm32h750-art-pi/MAINTAINERS 
>> b/board/st/stm32h750-art-pi/MAINTAINERS
>> index 9578833068..2fd69e6d1c 100644
>> --- a/board/st/stm32h750-art-pi/MAINTAINERS
>> +++ b/board/st/stm32h750-art-pi/MAINTAINERS
>> @@ -1,6 +1,7 @@
>>   STM32H750 ART PI BOARD
>>   M:    Dillon Min <dillon.minfei@gmail.com>
>>   S:    Maintained
>> +F:    doc/board/st/
>>   F:    board/st/stm32h750-art-pi
>>   F:    include/configs/stm32h750-art-pi.h
>>   F:    configs/stm32h750-art-pi_defconfig
>> diff --git a/doc/board/st/index.rst b/doc/board/st/index.rst
>> index 9bba42f1da..2a8a4ef3b8 100644
>> --- a/doc/board/st/index.rst
>> +++ b/doc/board/st/index.rst
>> @@ -8,3 +8,4 @@ STMicroelectronics
>>        st-dt
>>      stm32mp1
>> +   stm32_MCU
>> diff --git a/doc/board/st/stm32_MCU.rst b/doc/board/st/stm32_MCU.rst
>> new file mode 100644
>> index 0000000000..84f7c0016e
>> --- /dev/null
>> +++ b/doc/board/st/stm32_MCU.rst
>> @@ -0,0 +1,186 @@
>> +.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
>> +.. sectionauthor:: Patrice Chotard <patrice.chotardy@foss.st.com>
>> +
>> +STM32 MCU boards
>> +=================
>> +
>> +This is a quick instruction for setup STM32 MCU boards.
>> +
>> +Supported devices
>> +-----------------
>> +
>> +U-Boot supports the following STMP32 MCU SoCs:
>> +
>> + - STM32F429
>> + - STM32F469
>> + - STM32F746
>> + - STM32F769
>> + - STM32H743
>> + - STM32H750
>> +
>> +SoCs information:
>> +-----------------
>> +STM32F4 series are Cortex-M4 MCU.
>> +STM32F7 and STM32H7 series are Cortex-M7 MCU.
>> +
>> + + STM32F4 series: 
>> https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html
>> + + STM32F7 series: 
>> https://www.st.com/en/microcontrollers-microprocessors/stm32f7-series.html
>> + + STM32H7 series: 
>> https://www.st.com/en/microcontrollers-microprocessors/stm32h7-series.html
>> +
>> +Currently the following boards are supported:
>> +
>> + + stm32f429-disco.dts
>> + + stm32f469-disco.dts
>> + + stm32746g-eval.dts
>> + + stm32f746-disco.dts
>> + + stm32f769-disco.dts
>> + + stm32h743i-disco.dts
>> + + stm32h743i-eval.dts
>> + + stm32h750i-art-pi.dts
>> +
>> +Boot Sequences
>> +--------------
>> +
>> +For STM32F7 series, 2 boot configurations are supported with and 
>> without SPL
>> +
>> ++----------+------------------------+-------------------------+--------------+ 
>>
>> +| **ROM**  | **FSBL**               | **SSBL**                | 
>> **OS**       |
>> ++ **code** 
>> +------------------------+-------------------------+--------------+
>> +|          | First Stage Bootloader | Second Stage Bootloader | 
>> Linux Kernel |
>> ++ +------------------------+-------------------------+--------------+
>> +|          | embedded Flash         | 
>> DDR                                    |
>> ++----------+------------------------+-------------------------+--------------+ 
>>
>
>
> no "ROM code" in STM32 MCU
>
>
>> +
>> +The boot chain with SPL
>> +```````````````````````
>> +
>> +defconfig_file :
>> +   + **stm32746g-eval_spl_defconfig**
>> +   + **stm32f746-disco_spl_defconfig**
>> +   + **stm32f769-disco_spl_defconfig**
>> +
>> ++-------------+------------+------------+-------+
>> +|  ROM code   | FSBL       | SSBL       | OS    |
>> ++             +------------+------------+-------+
>> +|             |U-Boot SPL  | U-Boot     | Linux |
>> ++-------------+------------+------------+-------+
>
>
> no "ROM code" in STM32 MCU
>
>> +
>> +The boot chain without SPL
>> +``````````````````````````
>> +
>> +defconfig_file :
>> +   + **stm32f429-discovery_defconfig**
>> +   + **stm32f429-evaluation_defconfig**
>> +   + **stm32f469-discovery_defconfig**
>> +   + **stm32746g-eval_defconfig**
>> +   + **stm32f746-disco_defconfig**
>> +   + **stm32f769-disco_defconfig**
>> +   + **stm32h743-disco_defconfig**
>> +   + **stm32h743-eval_defconfig**
>> +   + **stm32h750-art-pi_defconfig**
>> +
>> ++-------------+-----------+-------+
>> +|  ROM code   | FSBL      | OS    |
>> ++             +-----------+-------+
>> +|             |U-Boot     | Linux |
>> ++-------------+-----------+-------+
>
> no "ROM code" in STM32 MCU
>
>> +
>> +Build Procedure
>> +---------------
>> +
>> +1. Install the required tools for U-Boot
>> +
>> +   * install package needed in U-Boot makefile
>> +     (libssl-dev, swig, libpython-dev...)
>> +
>> +  * install ARMv7 toolchain for 32bit Cortex-A (from Linaro,
>> +     from SDK for STM32MP15x, or any crosstoolchains from your 
>> distribution)
>> +     (you can use any gcc cross compiler compatible with U-Boot)
>> +
>> +2. Set the cross compiler::
>> +
>> +    # export CROSS_COMPILE=/path/to/toolchain/arm-linux-gnueabi-
>> +
>> +3. Select the output directory (optional)::
>> +
>> +   # export KBUILD_OUTPUT=/path/to/output
>> +
>> +   for example: use one output directory for each configuration::
>> +
>> +   # export KBUILD_OUTPUT=stm32f4
>> +   # export KBUILD_OUTPUT=stm32f7
>> +   # export KBUILD_OUTPUT=stm32h7
>> +
>> +   you can build outside of code directory::
>> +
>> +   # export KBUILD_OUTPUT=../build/stm32f4
>> +
>> +4. Configure U-Boot::
>> +
>> +   # make <defconfig_file>
>> +
>> +   For example with <defconfig_file>:
>> +
>> +   - For **stm32f429 discovery** board : 
>> **stm32f429-discovery_defconfig**
>> +   - For **stm32f769 discovery** board with SPL: 
>> **stm32f769-disco_spl_defconfig**
>> +   - For **stm32f769 discovery** board without SPL: 
>> **stm32f769-disco_defconfig**
>> +
>> +5. Configure the device-tree and build the U-Boot image::
>> +
>> +   # make DEVICE_TREE=<name> all
> it is not required as the supported device tree is selected in each 
> defconfig.
>
> # make all
>
>> +
>> +   Examples:
>> +
>> +  a) boot with SPL on stm32f746 discovery board::
>> +
>> +     # export KBUILD_OUTPUT=stm32f746-disco
>> +     # make stm32f746-disco_spl_defconfig
>> +     # make DEVICE_TREE=stm32f746-disco all
> # make all
>> +
>> +  b) boot without SPL on stm32f746 discovery board::
>> +
>> +     # export KBUILD_OUTPUT=stm32f746-disco
>> +     # make stm32f746-disco_defconfig
>> +     # make DEVICE_TREE=stm32f746-disco all
>
>
> # make all
>
>> +
>> +  c) boot on stm32h743 discovery board::
>> +
>> +      # export KBUILD_OUTPUT=stm32h743-disco
>> +      # make stm32h743-disco_defconfig
>> +      # make DEVICE_TREE=stm32h743i-disco all
>
> # make all
>
>> +
>> +  d) boot on stm32h743 evaluation board::
>> +
>> +      # export KBUILD_OUTPUT=stm32h743-disco
>> +      # make stm32h743-eval_defconfig
>> +      # make DEVICE_TREE=stm32h743i-eval all
>
> # make all
>
>> +
>> +6. U-Boot Output files
>> +
>> +   So in the output directory (selected by KBUILD_OUTPUT),
>> +   you can found the needed U-Boot files, for example::
>> +
>> +     - stm32f746-disco_defconfig = **u-boot-dtb.bin** and 
>> **u-boot.dtb**
>> +
>> +        - FSBL = u-boot-dtb.bin
>> +
>> +     - stm32f746-disco_spl_defconfig = **u-boot-dtb.bin**, 
>> **u-boot.dtb** and **u-boot-with-spl.bin**
>> +
>> +       - FSBL + SSBL = u-boot-with-spl.bin
>> +       - SSBL = u-boot-dtb.bin
>> +
>> +7. Flash U-Boot files
>> +
>> +Plug STM32 MCUs board using the USB ST-Link connector, hence it will 
>> expose
>> +the flash area as a mass-storage. In this mass-storage you will find 
>> the
>> +following files:
>> +
>> +- DETAILS.TXT: give the bootrom version and build
>> +- MBED.HTM: shortcul to the hardware board description web page from 
>> st.com.
>> +
>> +Copy/paste the u-boot.bin to this mass-storage. The "COM" LED will
>> +blink alternatively red and green during the flash process.
>> +When done the board will reboot automatically.
>> +
>> +In case of boot with SPL, by default SPL will try to load either a 
>> Linux
>> +kernel (falcon mode) or, if the key "c" is maintained pressed, the 
>> main U-Boot.
>
> regards
>
> Patrick
>
diff mbox series

Patch

diff --git a/board/st/stm32f429-discovery/MAINTAINERS b/board/st/stm32f429-discovery/MAINTAINERS
index fdb62e98e8..7661a15fdd 100644
--- a/board/st/stm32f429-discovery/MAINTAINERS
+++ b/board/st/stm32f429-discovery/MAINTAINERS
@@ -1,6 +1,7 @@ 
 STM32F429-DISCOVERY BOARD
 M:	Kamil Lulko <kamil.lulko@gmail.com>
 S:	Maintained
+F:	doc/board/st/
 F:	board/st/stm32f429-discovery/
 F:	include/configs/stm32f429-discovery.h
 F:	configs/stm32f429-discovery_defconfig
diff --git a/board/st/stm32f429-evaluation/MAINTAINERS b/board/st/stm32f429-evaluation/MAINTAINERS
index 29d00ef27e..b272893ef7 100644
--- a/board/st/stm32f429-evaluation/MAINTAINERS
+++ b/board/st/stm32f429-evaluation/MAINTAINERS
@@ -1,6 +1,7 @@ 
 STM32F429-EVALUATION BOARD
 M:	Patrice Chotard <patrice.chotard@foss.st.com>
 S:	Maintained
+F:	doc/board/st/
 F:	board/st/stm32f429-evaluation/
 F:	include/configs/stm32f429-evaluation.h
 F:	configs/stm32f429-evaluation_defconfig
diff --git a/board/st/stm32f469-discovery/MAINTAINERS b/board/st/stm32f469-discovery/MAINTAINERS
index 5a6a78b39e..a95f93f6f6 100644
--- a/board/st/stm32f469-discovery/MAINTAINERS
+++ b/board/st/stm32f469-discovery/MAINTAINERS
@@ -1,6 +1,7 @@ 
 STM32F469-DISCOVERY BOARD
 M:	Patrice Chotard <patrice.chotard@foss.st.com>
 S:	Maintained
+F:	doc/board/st/
 F:	board/st/stm32f469-discovery/
 F:	include/configs/stm32f469-discovery.h
 F:	configs/stm32f469-discovery_defconfig
diff --git a/board/st/stm32f746-disco/MAINTAINERS b/board/st/stm32f746-disco/MAINTAINERS
index bc0952c563..18e4c99c4f 100644
--- a/board/st/stm32f746-disco/MAINTAINERS
+++ b/board/st/stm32f746-disco/MAINTAINERS
@@ -1,6 +1,7 @@ 
 STM32F746 DISCOVERY BOARD
 M:	Vikas Manocha <vikas.manocha@st.com>
 S:	Maintained
+F:	doc/board/st/
 F:	board/st/stm32f746-disco
 F:	include/configs/stm32f746-disco.h
 F:	configs/stm32f746-disco_defconfig
diff --git a/board/st/stm32h743-disco/MAINTAINERS b/board/st/stm32h743-disco/MAINTAINERS
index 60fbe344f8..f4ecef3aa5 100644
--- a/board/st/stm32h743-disco/MAINTAINERS
+++ b/board/st/stm32h743-disco/MAINTAINERS
@@ -1,6 +1,7 @@ 
 STM32H743 DISCOVERY BOARD
 M:	Patrice Chotard <patrice.chotard@foss.st.com>
 S:	Maintained
+F:	doc/board/st/
 F:	board/st/stm32h743-disco
 F:	include/configs/stm32h743-disco.h
 F:	configs/stm32h743-disco_defconfig
diff --git a/board/st/stm32h743-eval/MAINTAINERS b/board/st/stm32h743-eval/MAINTAINERS
index fda93db777..b69e0d4abb 100644
--- a/board/st/stm32h743-eval/MAINTAINERS
+++ b/board/st/stm32h743-eval/MAINTAINERS
@@ -1,6 +1,7 @@ 
 STM32H743 EVALUATION BOARD
 M:	Patrice Chotard <patrice.chotard@foss.st.com>
 S:	Maintained
+F:	doc/board/st/
 F:	board/st/stm32h743-eval
 F:	include/configs/stm32h743-eval.h
 F:	configs/stm32h743-eval_defconfig
diff --git a/board/st/stm32h750-art-pi/MAINTAINERS b/board/st/stm32h750-art-pi/MAINTAINERS
index 9578833068..2fd69e6d1c 100644
--- a/board/st/stm32h750-art-pi/MAINTAINERS
+++ b/board/st/stm32h750-art-pi/MAINTAINERS
@@ -1,6 +1,7 @@ 
 STM32H750 ART PI BOARD
 M:	Dillon Min <dillon.minfei@gmail.com>
 S:	Maintained
+F:	doc/board/st/
 F:	board/st/stm32h750-art-pi
 F:	include/configs/stm32h750-art-pi.h
 F:	configs/stm32h750-art-pi_defconfig
diff --git a/doc/board/st/index.rst b/doc/board/st/index.rst
index 9bba42f1da..2a8a4ef3b8 100644
--- a/doc/board/st/index.rst
+++ b/doc/board/st/index.rst
@@ -8,3 +8,4 @@  STMicroelectronics
 
    st-dt
    stm32mp1
+   stm32_MCU
diff --git a/doc/board/st/stm32_MCU.rst b/doc/board/st/stm32_MCU.rst
new file mode 100644
index 0000000000..84f7c0016e
--- /dev/null
+++ b/doc/board/st/stm32_MCU.rst
@@ -0,0 +1,186 @@ 
+.. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+.. sectionauthor:: Patrice Chotard <patrice.chotardy@foss.st.com>
+
+STM32 MCU boards
+=================
+
+This is a quick instruction for setup STM32 MCU boards.
+
+Supported devices
+-----------------
+
+U-Boot supports the following STMP32 MCU SoCs:
+
+ - STM32F429
+ - STM32F469
+ - STM32F746
+ - STM32F769
+ - STM32H743
+ - STM32H750
+
+SoCs information:
+-----------------
+STM32F4 series are Cortex-M4 MCU.
+STM32F7 and STM32H7 series are Cortex-M7 MCU.
+
+ + STM32F4 series: https://www.st.com/en/microcontrollers-microprocessors/stm32f4-series.html
+ + STM32F7 series: https://www.st.com/en/microcontrollers-microprocessors/stm32f7-series.html
+ + STM32H7 series: https://www.st.com/en/microcontrollers-microprocessors/stm32h7-series.html
+
+Currently the following boards are supported:
+
+ + stm32f429-disco.dts
+ + stm32f469-disco.dts
+ + stm32746g-eval.dts
+ + stm32f746-disco.dts
+ + stm32f769-disco.dts
+ + stm32h743i-disco.dts
+ + stm32h743i-eval.dts
+ + stm32h750i-art-pi.dts
+
+Boot Sequences
+--------------
+
+For STM32F7 series, 2 boot configurations are supported with and without SPL
+
++----------+------------------------+-------------------------+--------------+
+| **ROM**  | **FSBL**               | **SSBL**                | **OS**       |
++ **code** +------------------------+-------------------------+--------------+
+|          | First Stage Bootloader | Second Stage Bootloader | Linux Kernel |
++          +------------------------+-------------------------+--------------+
+|          | embedded Flash         | DDR                                    |
++----------+------------------------+-------------------------+--------------+
+
+The boot chain with SPL
+```````````````````````
+
+defconfig_file :
+   + **stm32746g-eval_spl_defconfig**
+   + **stm32f746-disco_spl_defconfig**
+   + **stm32f769-disco_spl_defconfig**
+
++-------------+------------+------------+-------+
+|  ROM code   | FSBL       | SSBL       | OS    |
++             +------------+------------+-------+
+|             |U-Boot SPL  | U-Boot     | Linux |
++-------------+------------+------------+-------+
+
+The boot chain without SPL
+``````````````````````````
+
+defconfig_file :
+   + **stm32f429-discovery_defconfig**
+   + **stm32f429-evaluation_defconfig**
+   + **stm32f469-discovery_defconfig**
+   + **stm32746g-eval_defconfig**
+   + **stm32f746-disco_defconfig**
+   + **stm32f769-disco_defconfig**
+   + **stm32h743-disco_defconfig**
+   + **stm32h743-eval_defconfig**
+   + **stm32h750-art-pi_defconfig**
+
++-------------+-----------+-------+
+|  ROM code   | FSBL      | OS    |
++             +-----------+-------+
+|             |U-Boot     | Linux |
++-------------+-----------+-------+
+
+Build Procedure
+---------------
+
+1. Install the required tools for U-Boot
+
+   * install package needed in U-Boot makefile
+     (libssl-dev, swig, libpython-dev...)
+
+  * install ARMv7 toolchain for 32bit Cortex-A (from Linaro,
+     from SDK for STM32MP15x, or any crosstoolchains from your distribution)
+     (you can use any gcc cross compiler compatible with U-Boot)
+
+2. Set the cross compiler::
+
+    # export CROSS_COMPILE=/path/to/toolchain/arm-linux-gnueabi-
+
+3. Select the output directory (optional)::
+
+   # export KBUILD_OUTPUT=/path/to/output
+
+   for example: use one output directory for each configuration::
+
+   # export KBUILD_OUTPUT=stm32f4
+   # export KBUILD_OUTPUT=stm32f7
+   # export KBUILD_OUTPUT=stm32h7
+
+   you can build outside of code directory::
+
+   # export KBUILD_OUTPUT=../build/stm32f4
+
+4. Configure U-Boot::
+
+   # make <defconfig_file>
+
+   For example with <defconfig_file>:
+
+   - For **stm32f429 discovery** board : **stm32f429-discovery_defconfig**
+   - For **stm32f769 discovery** board with SPL: **stm32f769-disco_spl_defconfig**
+   - For **stm32f769 discovery** board without SPL: **stm32f769-disco_defconfig**
+
+5. Configure the device-tree and build the U-Boot image::
+
+   # make DEVICE_TREE=<name> all
+
+   Examples:
+
+  a) boot with SPL on stm32f746 discovery board::
+
+     # export KBUILD_OUTPUT=stm32f746-disco
+     # make stm32f746-disco_spl_defconfig
+     # make DEVICE_TREE=stm32f746-disco all
+
+  b) boot without SPL on stm32f746 discovery board::
+
+     # export KBUILD_OUTPUT=stm32f746-disco
+     # make stm32f746-disco_defconfig
+     # make DEVICE_TREE=stm32f746-disco all
+
+  c) boot on stm32h743 discovery board::
+
+      # export KBUILD_OUTPUT=stm32h743-disco
+      # make stm32h743-disco_defconfig
+      # make DEVICE_TREE=stm32h743i-disco all
+
+  d) boot on stm32h743 evaluation board::
+
+      # export KBUILD_OUTPUT=stm32h743-disco
+      # make stm32h743-eval_defconfig
+      # make DEVICE_TREE=stm32h743i-eval all
+
+6. U-Boot Output files
+
+   So in the output directory (selected by KBUILD_OUTPUT),
+   you can found the needed U-Boot files, for example::
+
+     - stm32f746-disco_defconfig = **u-boot-dtb.bin** and **u-boot.dtb**
+
+        - FSBL = u-boot-dtb.bin
+
+     - stm32f746-disco_spl_defconfig = **u-boot-dtb.bin**, **u-boot.dtb** and **u-boot-with-spl.bin**
+
+       - FSBL + SSBL = u-boot-with-spl.bin
+       - SSBL = u-boot-dtb.bin
+
+7. Flash U-Boot files
+
+Plug STM32 MCUs board using the USB ST-Link connector, hence it will expose
+the flash area as a mass-storage. In this mass-storage you will find the
+following files:
+
+- DETAILS.TXT: give the bootrom version and build
+- MBED.HTM: shortcul to the hardware board description web page from st.com.
+
+Copy/paste the u-boot.bin to this mass-storage. The "COM" LED will
+blink alternatively red and green during the flash process.
+When done the board will reboot automatically.
+
+In case of boot with SPL, by default SPL will try to load either a Linux
+kernel (falcon mode) or, if the key "c" is maintained pressed, the main U-Boot.