mbox series

[00/18] stm32mp1: add command stm32prog

Message ID 20200318082503.8025-1-patrick.delaunay@st.com
Headers show
Series stm32mp1: add command stm32prog | expand

Message

Patrick Delaunay March 18, 2020, 8:24 a.m. UTC
Add a specific command stm32prog for STM32MP soc family
witch allows to update the devices on the board with the
STMicroelectronics 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 (MCU ST extension are no supported).

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

This FlashLayout file is loaded in DDR by TF-A during during a
serial boot or in a virtual device by stm32prog command
and is parsed by U-Boot (see "AN5275: USB DFU/USART protocols used
in STM32MP1 Series bootloaders" for details).

Regards
Patrick



Patrick Delaunay (18):
  usb: gadget: g_dnl: add function g_dnl_set_product
  dfu: add prototype for dfu_transaction_initiate/cleanup
  stm32mp: add function get_cpu_dev
  stm32mp: add the command stm32prog
  stm32mp: stm32prog: add flash layout parsing
  stm32mp: stm32prog: add MMC device
  stm32mp: stm32prog: add support of boot partition for eMMC device
  stm32mp: stm32prog: add upport of partial update
  stm32mp: stm32prog: add MTD devices support
  stm32mp: stm32prog: adapt the MTD partitions
  stm32mp: stm32prog: add support of ssbl copy
  stm32mp: stm32prog: add support for delete option in flashlayout
  stm32mp: stm32prog: add otp update support
  stm32mp: stm32prog: add pmic NVM update support
  stm32mp: stm32prog: add serial link support
  stm32mp: stm32prog: enable videoconsole
  stm32mp: stm32prog: support for script
  stm32mp: stm32prog: add support of RAM target

 arch/arm/mach-stm32mp/Kconfig                 |   17 +
 arch/arm/mach-stm32mp/Makefile                |    1 +
 arch/arm/mach-stm32mp/cmd_stm32prog/Makefile  |    9 +
 .../cmd_stm32prog/cmd_stm32prog.c             |  192 ++
 .../mach-stm32mp/cmd_stm32prog/stm32prog.c    | 1745 +++++++++++++++++
 .../mach-stm32mp/cmd_stm32prog/stm32prog.h    |  185 ++
 .../cmd_stm32prog/stm32prog_serial.c          |  993 ++++++++++
 .../cmd_stm32prog/stm32prog_usb.c             |  230 +++
 arch/arm/mach-stm32mp/cpu.c                   |   11 +-
 .../arm/mach-stm32mp/include/mach/stm32prog.h |   16 +
 .../arm/mach-stm32mp/include/mach/sys_proto.h |    5 +
 board/st/common/stm32mp_dfu.c                 |   20 +
 board/st/common/stm32mp_mtdparts.c            |   14 +-
 configs/stm32mp15_basic_defconfig             |    7 +-
 configs/stm32mp15_trusted_defconfig           |    7 +-
 drivers/usb/gadget/g_dnl.c                    |    8 +
 include/dfu.h                                 |    3 +
 include/g_dnl.h                               |    1 +
 18 files changed, 3445 insertions(+), 19 deletions(-)
 create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/Makefile
 create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c
 create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
 create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
 create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_serial.c
 create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_usb.c
 create mode 100644 arch/arm/mach-stm32mp/include/mach/stm32prog.h

Comments

Patrick Delaunay May 14, 2020, 9:28 a.m. UTC | #1
Hi,

> From: Patrick DELAUNAY <patrick.delaunay at st.com>
> Sent: mercredi 18 mars 2020 09:25
> 
> 
> Add a specific command stm32prog for STM32MP soc family witch allows to
> update the devices on the board with the STMicroelectronics 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 (MCU ST extension are no supported).
> 
> The executed actions are based on a tab separated value file with a stm32 header
> (see https://wiki.st.com/stm32mpu/wiki/STM32CubeProgrammer_flashlayout).
> 
> This FlashLayout file is loaded in DDR by TF-A during during a serial boot or in a
> virtual device by stm32prog command and is parsed by U-Boot (see "AN5275:
> USB DFU/USART protocols used in STM32MP1 Series bootloaders" for details).
> 
> Regards
> Patrick
> 
> 
> 
> Patrick Delaunay (18):
>   usb: gadget: g_dnl: add function g_dnl_set_product
>   dfu: add prototype for dfu_transaction_initiate/cleanup
>   stm32mp: add function get_cpu_dev
>   stm32mp: add the command stm32prog
>   stm32mp: stm32prog: add flash layout parsing
>   stm32mp: stm32prog: add MMC device
>   stm32mp: stm32prog: add support of boot partition for eMMC device
>   stm32mp: stm32prog: add upport of partial update
>   stm32mp: stm32prog: add MTD devices support
>   stm32mp: stm32prog: adapt the MTD partitions
>   stm32mp: stm32prog: add support of ssbl copy
>   stm32mp: stm32prog: add support for delete option in flashlayout
>   stm32mp: stm32prog: add otp update support
>   stm32mp: stm32prog: add pmic NVM update support
>   stm32mp: stm32prog: add serial link support
>   stm32mp: stm32prog: enable videoconsole
>   stm32mp: stm32prog: support for script
>   stm32mp: stm32prog: add support of RAM target
> 
>  arch/arm/mach-stm32mp/Kconfig                 |   17 +
>  arch/arm/mach-stm32mp/Makefile                |    1 +
>  arch/arm/mach-stm32mp/cmd_stm32prog/Makefile  |    9 +
>  .../cmd_stm32prog/cmd_stm32prog.c             |  192 ++
>  .../mach-stm32mp/cmd_stm32prog/stm32prog.c    | 1745 +++++++++++++++++
>  .../mach-stm32mp/cmd_stm32prog/stm32prog.h    |  185 ++
>  .../cmd_stm32prog/stm32prog_serial.c          |  993 ++++++++++
>  .../cmd_stm32prog/stm32prog_usb.c             |  230 +++
>  arch/arm/mach-stm32mp/cpu.c                   |   11 +-
>  .../arm/mach-stm32mp/include/mach/stm32prog.h |   16 +
>  .../arm/mach-stm32mp/include/mach/sys_proto.h |    5 +
>  board/st/common/stm32mp_dfu.c                 |   20 +
>  board/st/common/stm32mp_mtdparts.c            |   14 +-
>  configs/stm32mp15_basic_defconfig             |    7 +-
>  configs/stm32mp15_trusted_defconfig           |    7 +-
>  drivers/usb/gadget/g_dnl.c                    |    8 +
>  include/dfu.h                                 |    3 +
>  include/g_dnl.h                               |    1 +
>  18 files changed, 3445 insertions(+), 19 deletions(-)  create mode 100644
> arch/arm/mach-stm32mp/cmd_stm32prog/Makefile
>  create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/cmd_stm32prog.c
>  create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.c
>  create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog.h
>  create mode 100644 arch/arm/mach-
> stm32mp/cmd_stm32prog/stm32prog_serial.c
>  create mode 100644 arch/arm/mach-stm32mp/cmd_stm32prog/stm32prog_usb.c
>  create mode 100644 arch/arm/mach-stm32mp/include/mach/stm32prog.h
> 
> --
> 2.17.1

For the serie: applied to u-boot-stm/master, thanks!

Regards

Patrick