From d15760e59897f71252294b2bea8fe986efdcb1b8 Mon Sep 17 00:00:00 2001 From: Ahmad Fatoum Date: Fri, 12 Jul 2019 12:24:57 +0200 Subject: Documentation: boards: add initial STM32MP documentation Support for the SoC is still in progress, but lets document what we have now. Signed-off-by: Ahmad Fatoum Signed-off-by: Sascha Hauer --- Documentation/boards/stm32mp.rst | 71 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Documentation/boards/stm32mp.rst (limited to 'Documentation') diff --git a/Documentation/boards/stm32mp.rst b/Documentation/boards/stm32mp.rst new file mode 100644 index 0000000000..24cf8859db --- /dev/null +++ b/Documentation/boards/stm32mp.rst @@ -0,0 +1,71 @@ +STMicroelectronics STM32MP +========================== + +.. note:: + + Support for the STM32MP architecure in barebox is still in progress. + Bootstrapping an OS from mainline barebox is not yet supported. + +The STM32MP is a line of 32-bit ARM SoCs. They reuse peripherals of the +STM32 line of microcontrollers and can have a STM32 MCU embedded as co-processor +as well. + +The boot process of the STM32MP SoC is a two step process. +The first stage boot loader (FSBL) is loaded by the ROM code into the built-in +SYSRAM and executed. The FSBL sets up the SDRAM, install a secure monitor and +then the second stage boot loader (SSBL) is loaded into DRAM. + +When building barebox, the resulting ``barebox-${board}.img`` file has the STM32 +header preprended, so it can be loaded directly as SSBL by the ARM TF-A +(https://github.com/ARM-software/arm-trusted-firmware). Each entry point has a +header-less image ending in ``*.pblb`` as well. + +Use of barebox as FSBL is not supported. + +Building barebox +---------------- + +With multi-image and device trees, it's expected to have ``stm32mp_defconfig`` +as sole defconfig for all STM32MP boards:: + + make ARCH=arm stm32mp_defconfig + +The resulting images will be placed under ``images/``: + +:: + + barebox-stm32mp157c-dk2.img + + +Flashing barebox +---------------- + +An appropriate image for the boot media can be generated with following +``genimage(1)`` config:: + + image @STM32MP_BOARD@.img { + hdimage { + align = 1M + gpt = "true" + } + partition fsbl1 { + image = "tf-a-@STM32MP_BOARD@.stm32" + size = 256K + } + partition fsbl2 { + image = "tf-a-@STM32MP_BOARD@.stm32" + size = 256K + } + partition ssbl { + image = "barebox-@STM32MP_BOARD@.img" + size = 1M + } + } + +Image can then be flashed on e.g. a SD-Card. + +TODO +---- + +* Extend barebox MMCI support to support the SDMMC2 +* Extend barebox DesignWare MAC support to support the stmmac -- cgit v1.2.3