]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
doc: Add documentation for STM32 MCUs
authorPatrice Chotard <patrice.chotard@foss.st.com>
Wed, 27 Apr 2022 11:54:01 +0000 (13:54 +0200)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Tue, 10 May 2022 11:56:12 +0000 (13:56 +0200)
Add documentation for STM32 MCUs (F4, F7 and H7 series).

Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
board/st/stm32f429-discovery/MAINTAINERS
board/st/stm32f429-evaluation/MAINTAINERS
board/st/stm32f469-discovery/MAINTAINERS
board/st/stm32f746-disco/MAINTAINERS
board/st/stm32h743-disco/MAINTAINERS
board/st/stm32h743-eval/MAINTAINERS
board/st/stm32h750-art-pi/MAINTAINERS
doc/board/st/index.rst
doc/board/st/stm32_MCU.rst [new file with mode: 0644]

index fdb62e98e89305ae5770cca19dda95653c1eae7e..7661a15fdde1f36e76dfb8d3f9f24cfcc236f799 100644 (file)
@@ -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
index 29d00ef27ed3d76cba39968a3e297011fafb378e..b272893ef7b59fa9e2e8729e519ab4893f328037 100644 (file)
@@ -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
index 5a6a78b39ef2949d2fa3ec368f32130e5139c3de..a95f93f6f6ca191131a0e0a26d0ea3ed03a0dd96 100644 (file)
@@ -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
index bc0952c5632d76e7568338b11a8b3fc0aa214792..18e4c99c4fb36312b3a3e3cbb4d985b6ccbd3e65 100644 (file)
@@ -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
index 60fbe344f83485c2fc0488f865ac7df7da86fdb9..f4ecef3aa500a564c607daf2b54b0c95ba1d67c6 100644 (file)
@@ -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
index fda93db7774b0d6a4de3f283e3cfb19495532df8..b69e0d4abbbffc47dc004139479e981063b47945 100644 (file)
@@ -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
index 9578833068b7bfaddb4180fb7e87dc29da3f9fb3..2fd69e6d1ca060a90153d829ef049c473f6f0648 100644 (file)
@@ -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
index 9bba42f1dae93c31de1464e92063e0197b356c31..2a8a4ef3b84065ae2f5c1e500afb42ab64d07f68 100644 (file)
@@ -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 (file)
index 0000000..7ff7c73
--- /dev/null
@@ -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-discovery
+ + stm32f469-discovery
+ + stm32746g-evaluation
+ + stm32f746-discovery
+ + stm32f769-discovery
+ + stm32h743i-discovery
+ + stm32h743i-evaluation
+ + stm32h750i-art-pi
+
+Boot Sequences
+--------------
+
+For STM32F7 series, 2 boot configurations are supported with and without SPL
+
++------------------------+-------------------------+--------------+
+| **FSBL**               | **SSBL**                | **OS**       |
++------------------------+-------------------------+--------------+
+| 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**
+
++------------+------------+-------+
+| 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**
+
++-----------+-------+
+| 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 all
+
+  b) boot without SPL on stm32f746 discovery board::
+
+     # export KBUILD_OUTPUT=stm32f746-disco
+     # make stm32f746-disco_defconfig
+     # make all
+
+  c) boot on stm32h743 discovery board::
+
+     # export KBUILD_OUTPUT=stm32h743-disco
+     # make stm32h743-disco_defconfig
+     # make all
+
+  d) boot on stm32h743 evaluation board::
+
+     # export KBUILD_OUTPUT=stm32h743-disco
+     # make stm32h743-eval_defconfig
+     # 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 or u-boot-with-spl.bin (in case of bootchain with SPL)
+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.