
Hi,
On 5/20/22 09:21, Patrice CHOTARD wrote:
Hi PAtrick
typos below
On 5/6/22 16:06, Patrick Delaunay wrote:
Add in U-Boot documentation the quick instruction for
s/for/to
ok
setup the STMicroelectronics STM32MP13x boards.
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com
doc/board/st/stm32mp1.rst | 181 ++++++++++++++++++++++++++------------ 1 file changed, 125 insertions(+), 56 deletions(-)
diff --git a/doc/board/st/stm32mp1.rst b/doc/board/st/stm32mp1.rst index 0c5d3a90f0..25d38d337a 100644 --- a/doc/board/st/stm32mp1.rst +++ b/doc/board/st/stm32mp1.rst @@ -1,41 +1,31 @@ .. SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause .. sectionauthor:: Patrick Delaunay patrick.delaunay@foss.st.com
-STM32MP15x boards
+STM32MP1xx boards
-This is a quick instruction for setup STM32MP15x boards. +This is a quick instruction for setup STMicroelectronics STM32MP1xx boards.
Futher information can be found in STMicrolectronics STM32 WIKI_.
s/Futher/Further
ok
Supported devices
-U-Boot supports STMP32MP15x SoCs: +U-Boot supports all the STMicroelectronics MPU with the associated boards
- STM32MP157
- STM32MP153
- STM32MP151
[...]
+STM32MP15x +``````````
+The STM32MP15x is a Cortex-A7 MPU aimed at various applications.
+It features:
- Dual core Cortex-A7 application core (Single on STM32MP151)
- 2D/3D image composition with GPU (only on STM32MP157)
- Standard memories interface support
- Standard connectivity, widely inherited from the STM32 MCU family
- Comprehensive security support
- Cortex M4 coprocessor
s/coprocessor/co-processor
coprocessor is good for me:
https://en.wikipedia.org/wiki/Coprocessor
it is also used in ST Wiki
https://wiki.st.com/stm32mpu/wiki/Category:Coprocessor_management_Linux
+Each line comes with a security option (cryptography & secure boot) and +a Cortex-A frequency option:
- A : Cortex-A7 @ 650 MHz
- C : Secure Boot + HW Crypto + Cortex-A7 @ 650 MHz
- D : Cortex-A7 @ 800 MHz
- F : Secure Boot + HW Crypto + Cortex-A7 @ 800 MHz
Currently the following boards are supported:
@@ -59,6 +77,16 @@ Currently the following boards are supported:
- stm32mp157c-ev1.dts
- stm32mp15xx-dhcor-avenger96.dts
[...]
# export KBUILD_OUTPUT=stm32mp15_basic # make stm32mp15_basic_defconfig
@@ -235,6 +292,7 @@ Build Procedure So in the output directory (selected by KBUILD_OUTPUT), you can found the needed U-Boot files:
- stm32mp13_defconfig = **u-boot-nodtb.bin** and **u-boot.dtb** - stm32mp15_defconfig = **u-boot-nodtb.bin** and **u-boot.dtb** - stm32mp15_trusted_defconfig = u-boot.stm32
@@ -325,9 +383,9 @@ the boot pin values = BOOT0, BOOT1, BOOT2 | SPI-NAND | 1 | 1 | 1 | +-------------+---------+---------+---------+
-- on the **daugther board ed1 = MB1263** with the switch SW1 -- on **Avenger96** with switch S3 (NOR and SPI-NAND are not applicable) -- on board **DK1/DK2** with the switch SW1 = BOOT0, BOOT2 +- on the STM32MP15x **daugther board ed1 = MB1263** with the switch SW1
s/daugther/daughter
ok
+- on STM32MP15x **Avenger96** with switch S3 (NOR and SPI-NAND are not applicable) +- on board STM32MP15x **DK1/DK2** with the switch SW1 = BOOT0, BOOT2 with only 2 pins available (BOOT1 is forced to 0 and NOR not supported), the possible value becomes:
@@ -355,7 +413,7 @@ The communication between HOST and board is based on Prepare an SD card
-The minimal requirements for STMP32MP15x boot up to U-Boot are: +The minimal requirements for STMP32MP15x and STM32MP13x boot up to U-Boot are:
- GPT partitioning (with gdisk or with sgdisk)
- 2 fsbl partitions, named "fsbl1" and "fsbl2", size at least 256KiB
@@ -511,14 +569,25 @@ MAC Address Please read doc/README.enetaddr for the implementation guidelines for mac id usage. Basically, environment has precedence over board specific storage.
-For STMicroelectonics board, it is retrieved in STM32MP15x OTP : +For STMicroelectonics board, it is retrieved in:
s/STMicroelectonics/STMicroelectronics
OK
- STM32MP15x OTP:
- OTP_57[31:0] = MAC_ADDR[31:0]
- OTP_58[15:0] = MAC_ADDR[47:32]
- OTP_57[31:0] = MAC_ADDR[31:0]
- OTP_58[15:0] = MAC_ADDR[47:32]
-To program a MAC address on virgin OTP words above, you can use the fuse command
- STM32MP13x OTP:
- OTP_57[31:0] = MAC_ADDR0[31:0]
- OTP_58[15:0] = MAC_ADDR0[47:32]
- OTP_58[31:16] = MAC_ADDR1[15:0]
- OTP_59[31:0] = MAC_ADDR1[47:16]
+To program a MAC address on virgin STM32MP15x OTP words above, you can use the fuse command on bank 0 to access to internal OTP and lock them:
+In the next example we are using the 2 OTPs used on STM32MP15x.
Prerequisite: check if a MAC address isn't yet programmed in OTP
- check OTP: their value must be equal to 0::
@@ -571,8 +640,8 @@ Example to set mac address "12:34:56:78:9a:bc" OTP are protected. It is already done for the board provided by STMicroelectronics.
-Coprocessor firmware
+Coprocessor firmware on STM32MP15x
s/Coprocessor/Co-processor
Same
+----------------------------------
U-Boot can boot the coprocessor before the kernel (coprocessor early boot).
s/coprocessor/co-processor
Same
@@ -678,7 +747,7 @@ All the supported device are exported for dfu-util tool::
You can update the boot device:
-- SD card (mmc0) :: +- SD card (mmc0)::
$> dfu-util -d 0483:5720 -a 3 -D tf-a-stm32mp157c-ev1.stm32 $> dfu-util -d 0483:5720 -a 4 -D tf-a-stm32mp157c-ev1.stm32
Regards
Patrick