mbox series

[0/4] ARM: meson: Add boot over DFU RAM as an USB boot step

Message ID 20231023-usb-dfu-boot-v1-0-df9d121c67c1@linaro.org
Headers show
Series ARM: meson: Add boot over DFU RAM as an USB boot step | expand

Message

Neil Armstrong Oct. 23, 2023, 12:41 p.m. UTC
Add boot over DFU RAM as an alternate to running script at
a fixed address like done today.

The main culprit is that it's not possible to do that
on G12A/SM1 platforms due to changes in the USB boot protocol.

With this, U-Boot will present a DFU device with a ram slot where
the Host could write a fitImage or legacy U-Boot image, then with the
detach command boot will continue trying to boot the uploaded image.

Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
---
Neil Armstrong (4):
      ARM: meson: enable FIT with LEGACY_IMAGE_FORMAT on all configs
      configs: meson64: declare addr out of EXTRA_ENV_SETTINGS
      configs: meson64: add alternate USB DFU boot target
      ARM: meson: enable USB DFU + RAM on Amlogic boards with USB Gadget

 configs/ad401_defconfig                   |  2 ++
 configs/bananapi-cm4-cm4io_defconfig      |  6 ++++
 configs/bananapi-m2-pro_defconfig         |  6 ++++
 configs/bananapi-m2s_defconfig            |  6 ++++
 configs/bananapi-m5_defconfig             |  6 ++++
 configs/beelink-gsking-x_defconfig        |  6 ++++
 configs/beelink-gt1-ultimate_defconfig    |  6 ++++
 configs/beelink-gtking_defconfig          |  6 ++++
 configs/beelink-gtkingpro_defconfig       |  6 ++++
 configs/jethub_j100_defconfig             |  6 ++++
 configs/jethub_j80_defconfig              |  6 ++++
 configs/khadas-vim2_defconfig             |  6 ++++
 configs/khadas-vim3_android_ab_defconfig  |  4 +++
 configs/khadas-vim3_android_defconfig     |  4 +++
 configs/khadas-vim3_defconfig             |  6 ++++
 configs/khadas-vim3l_android_ab_defconfig |  4 +++
 configs/khadas-vim3l_android_defconfig    |  4 +++
 configs/khadas-vim3l_defconfig            |  6 ++++
 configs/khadas-vim_defconfig              |  6 ++++
 configs/libretech-ac_defconfig            |  6 ++++
 configs/libretech-cc_defconfig            |  6 ++++
 configs/libretech-cc_v2_defconfig         |  6 ++++
 configs/libretech-s905d-pc_defconfig      |  6 ++++
 configs/libretech-s912-pc_defconfig       |  6 ++++
 configs/nanopi-k2_defconfig               |  4 +++
 configs/odroid-c2_defconfig               |  4 +++
 configs/odroid-c4_defconfig               |  6 ++++
 configs/odroid-go-ultra_defconfig         |  6 ++++
 configs/odroid-hc4_defconfig              |  6 ++++
 configs/odroid-n2_defconfig               |  6 ++++
 configs/odroid-n2l_defconfig              |  6 ++++
 configs/p200_defconfig                    |  4 +++
 configs/p201_defconfig                    |  4 +++
 configs/p212_defconfig                    |  4 +++
 configs/radxa-zero2_defconfig             |  6 ++++
 configs/radxa-zero_defconfig              |  6 ++++
 configs/s400_defconfig                    |  6 ++++
 configs/sei510_defconfig                  |  6 ++++
 configs/sei610_defconfig                  |  6 ++++
 configs/u200_defconfig                    |  6 ++++
 configs/videostrong-kii-pro_defconfig     |  4 +++
 configs/wetek-core2_defconfig             |  6 ++++
 configs/wetek-hub_defconfig               |  4 +++
 configs/wetek-play2_defconfig             |  4 +++
 include/configs/meson64.h                 | 49 ++++++++++++++++++++++++++-----
 45 files changed, 278 insertions(+), 7 deletions(-)
---
base-commit: 9a0cf3993f71043ba08c315572c54622de42d447
change-id: 20231023-usb-dfu-boot-f47849f9fb34

Best regards,

Comments

Mattijs Korpershoek Oct. 24, 2023, 7:05 a.m. UTC | #1
Hi Neil,

Thank you for the series.

On lun., oct. 23, 2023 at 14:41, "Neil Armstrong" <neil.armstrong@linaro.org> wrote:

> Add boot over DFU RAM as an alternate to running script at
> a fixed address like done today.
>
> The main culprit is that it's not possible to do that
> on G12A/SM1 platforms due to changes in the USB boot protocol.
>
> With this, U-Boot will present a DFU device with a ram slot where
> the Host could write a fitImage or legacy U-Boot image, then with the
> detach command boot will continue trying to boot the uploaded image.
>
> Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>

I did a simple boot to aosp/main test on vim3 and also used fastboot to
flash the bootloader.

Tested-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> # on vim3

> ---
> Neil Armstrong (4):
>       ARM: meson: enable FIT with LEGACY_IMAGE_FORMAT on all configs
>       configs: meson64: declare addr out of EXTRA_ENV_SETTINGS
>       configs: meson64: add alternate USB DFU boot target
>       ARM: meson: enable USB DFU + RAM on Amlogic boards with USB Gadget
>
>  configs/ad401_defconfig                   |  2 ++
>  configs/bananapi-cm4-cm4io_defconfig      |  6 ++++
>  configs/bananapi-m2-pro_defconfig         |  6 ++++
>  configs/bananapi-m2s_defconfig            |  6 ++++
>  configs/bananapi-m5_defconfig             |  6 ++++
>  configs/beelink-gsking-x_defconfig        |  6 ++++
>  configs/beelink-gt1-ultimate_defconfig    |  6 ++++
>  configs/beelink-gtking_defconfig          |  6 ++++
>  configs/beelink-gtkingpro_defconfig       |  6 ++++
>  configs/jethub_j100_defconfig             |  6 ++++
>  configs/jethub_j80_defconfig              |  6 ++++
>  configs/khadas-vim2_defconfig             |  6 ++++
>  configs/khadas-vim3_android_ab_defconfig  |  4 +++
>  configs/khadas-vim3_android_defconfig     |  4 +++
>  configs/khadas-vim3_defconfig             |  6 ++++
>  configs/khadas-vim3l_android_ab_defconfig |  4 +++
>  configs/khadas-vim3l_android_defconfig    |  4 +++
>  configs/khadas-vim3l_defconfig            |  6 ++++
>  configs/khadas-vim_defconfig              |  6 ++++
>  configs/libretech-ac_defconfig            |  6 ++++
>  configs/libretech-cc_defconfig            |  6 ++++
>  configs/libretech-cc_v2_defconfig         |  6 ++++
>  configs/libretech-s905d-pc_defconfig      |  6 ++++
>  configs/libretech-s912-pc_defconfig       |  6 ++++
>  configs/nanopi-k2_defconfig               |  4 +++
>  configs/odroid-c2_defconfig               |  4 +++
>  configs/odroid-c4_defconfig               |  6 ++++
>  configs/odroid-go-ultra_defconfig         |  6 ++++
>  configs/odroid-hc4_defconfig              |  6 ++++
>  configs/odroid-n2_defconfig               |  6 ++++
>  configs/odroid-n2l_defconfig              |  6 ++++
>  configs/p200_defconfig                    |  4 +++
>  configs/p201_defconfig                    |  4 +++
>  configs/p212_defconfig                    |  4 +++
>  configs/radxa-zero2_defconfig             |  6 ++++
>  configs/radxa-zero_defconfig              |  6 ++++
>  configs/s400_defconfig                    |  6 ++++
>  configs/sei510_defconfig                  |  6 ++++
>  configs/sei610_defconfig                  |  6 ++++
>  configs/u200_defconfig                    |  6 ++++
>  configs/videostrong-kii-pro_defconfig     |  4 +++
>  configs/wetek-core2_defconfig             |  6 ++++
>  configs/wetek-hub_defconfig               |  4 +++
>  configs/wetek-play2_defconfig             |  4 +++
>  include/configs/meson64.h                 | 49 ++++++++++++++++++++++++++-----
>  45 files changed, 278 insertions(+), 7 deletions(-)
> ---
> base-commit: 9a0cf3993f71043ba08c315572c54622de42d447
> change-id: 20231023-usb-dfu-boot-f47849f9fb34
>
> Best regards,
> -- 
> Neil Armstrong <neil.armstrong@linaro.org>
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Groups.io Links: You receive all messages sent to this group.
> View/Reply Online (#1789): https://groups.io/g/u-boot-amlogic/message/1789
> Mute This Topic: https://groups.io/mt/102134207/1991006
> Group Owner: u-boot-amlogic+owner@groups.io
> Unsubscribe: https://groups.io/g/u-boot-amlogic/leave/9114030/1991006/1716920881/xyzzy [mkorpershoek@baylibre.com]
> -=-=-=-=-=-=-=-=-=-=-=-
Neil Armstrong Oct. 26, 2023, 3:39 p.m. UTC | #2
Hi,

On Mon, 23 Oct 2023 14:41:33 +0200, Neil Armstrong wrote:
> Add boot over DFU RAM as an alternate to running script at
> a fixed address like done today.
> 
> The main culprit is that it's not possible to do that
> on G12A/SM1 platforms due to changes in the USB boot protocol.
> 
> With this, U-Boot will present a DFU device with a ram slot where
> the Host could write a fitImage or legacy U-Boot image, then with the
> detach command boot will continue trying to boot the uploaded image.
> 
> [...]

Thanks, Applied to https://source.denx.de/u-boot/custodians/u-boot-amlogic (u-boot-amlogic)

[1/4] ARM: meson: enable FIT with LEGACY_IMAGE_FORMAT on all configs
      https://source.denx.de/u-boot/custodians/u-boot-amlogic/-/commit/50ad9d01b6124b9730de957e1901d177094748f6
[2/4] configs: meson64: declare addr out of EXTRA_ENV_SETTINGS
      https://source.denx.de/u-boot/custodians/u-boot-amlogic/-/commit/72f63d85fefebed59921456bb29138fbd9f73bb7
[3/4] configs: meson64: add alternate USB DFU boot target
      https://source.denx.de/u-boot/custodians/u-boot-amlogic/-/commit/4aa027b3f8c1b018ab50570ccf337587cc6178f8
[4/4] ARM: meson: enable USB DFU + RAM on Amlogic boards with USB Gadget
      https://source.denx.de/u-boot/custodians/u-boot-amlogic/-/commit/07057ad9be7d400d9d9f02f3c1507fe2d8071c19