Commit Graph

5 Commits

Author SHA1 Message Date
f67aa06fd4 stm32prog: add "Device Name" in iproduct during DFU USB enumeration
Add "Device Name" in iproduct during DFU USB enumeration
to have information in STM32CubeProgrammer trace.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Change-Id: I15e9f84cc4116350cbec881d243a86f28b819123
Reviewed-on: https://gerrit.st.com/c/mpu/oe/st/u-boot/+/137947
Reviewed-by: CITOOLS <smet-aci-reviews@lists.codex.cro.st.com>
Reviewed-by: CIBUILD <smet-aci-builds@lists.codex.cro.st.com>
2020-05-29 14:00:46 +02:00
42461cdd81 stm32mp: stm32prog: add serial link support
Add a support of UAR,  using the same UART STM32 protocol
than MCU STM32, see "AN5275: USB DFU/USART protocols
used in STM32MP1 Series bootloaders" for details.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-09 15:40:59 +02:00
ab6c6bc0d7 stm32mp: stm32prog: add pmic NVM update support
Add a virtual partition to update the pmic not volatile memory.
(on ST board, STPMIC1).

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-09 15:40:59 +02:00
020567b5c2 stm32mp: stm32prog: add otp update support
Add a virtual partition to update the STM32MP15x OTP based
on SMC service provided by TF-A.

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
2020-04-09 15:40:59 +02:00
40de68cee6 stm32mp: add the command stm32prog
Add a specific command stm32prog for STM32MP soc family
witch allows to program the boot devices with the tool
STM32CubeProgrammer (http://www.st.com/STM32CubeProg).

This command use the same UART STM32 protocol than MCU
STM32 with or USB with DFU protocol v1.1 (ithe MCU ST
extension are no supported).

The executed actions are based on a tab separated value file
with a stm32 header, the FlashLayout file
(https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout).

This file is parsed by the U-Boot command to:
- initialized the devices
- create the partition table on each device
- initialize the DFU backend to access to not volatile memory
  (NOR/NAND/SD/eMMC) or to virtual device (OTP/PMIC)

Up to STM32PROG_MAX_DEV (5) devices can be updated with a FlashLayout.

The communication between U-Boot and STM32CubeProgrammer is done with
the specific alternate configuration (see "AN5275: USB DFU/USART protocols
used in STM32MP1 Series bootloaders" for details).

The command stm32prog is executed when a boot from USB is detected
(selected with bootpins) and we can program the board boot devices with
a simple command (on Windows or Linux):

PC $>  STM32_Programmer_CLI -c port=usb1 -w flaslayout.tsv

1/ the ROM code loads TF-A in embedded RAM (DFU or uart)
2/ TF-A loads flashlayout file and U-Boot in DDR (DFU or uart)
3/ U-Boot executes the stm32prog command (DFU or uart)

Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>
Change-Id: I4a84b1a09311e05ad95aed6ee847685b03771b29
2020-04-09 15:40:59 +02:00