[PATCH v3 0/6] board: samsung: e850-96: Support USB boot

Sam Protsenko semen.protsenko at linaro.org
Mon Nov 24 21:47:38 CET 2025


Hi Minkyu,

If there are no objections, can you please apply this series to your tree?

Thanks!

On Tue, Nov 18, 2025 at 5:21 PM Sam Protsenko
<semen.protsenko at linaro.org> wrote:
>
> When U-Boot is executed during USB boot [1,2] on E850-96 board, two
> issues happen:
>
>   1. eMMC fails to initialize
>   2. Attempt to use USB PHY driver leads to abort
>
> It was identified that issue #1 happens due to enalbed Flash Memory
> Protector bits in MMC block registers during USB boot, and it's handled
> in patch series [3].
>
> Issue #2 on the other hand happens because ROM code expects the
> bootloader (U-Boot) to download remaining binaries (LDFW and TZSW) over
> USB using SMC calls. Before that, the access to USB blocks (USB PHY and
> DWC3) is disabled, probably because corresponding TrustZone domains are
> configured for access from Secure World only.
>
> This patch series implements downloading LDFW and TZSW firmware over USB
> during USB boot, which makes it possible to use U-Boot for flashing
> images to eMMC using fastboot and DFU protocols. That in turn simplifies
> the U-Boot development, as one can use `dltool' [1] to run U-Boot binary
> during USB boot, and update U-Boot on eMMC this way (e.g. using DFU).
> It's not possible when using LittleKernel bootloader, as it expects
> non-standard Samsung GPT partition, but in case of U-Boot we use the
> regular one.
>
> Once this patch series and patch series [3] are applied it'll be
> possible to use U-Boot during USB boot. The two series are independent
> of each other, and can be applied in any particular order.
>
> Changes in v3:
>   - Added PATCH #6 (enter DFU automatically on USB boot)
>   - Rebased on top of the most recent master
>
> Changes in v2:
>   - PATCH #4: Return 0 on success in load_image_usb()
>
> [1] https://gitlab.com/LinaroLtd/e850-96/tools/dltool
> [2] https://docs.u-boot.org/en/latest/board/samsung/e850-96.html
> [3] https://lore.kernel.org/u-boot/20251026010658.19271-1-semen.protsenko@linaro.org/
>
> Sam Protsenko (6):
>   board: samsung: e850-96: Keep public functions together
>   board: samsung: e850-96: Add routines for checking boot dev
>   board: samsung: e850-96: Split LDFW loading and init
>   board: samsung: e850-96: Add routine for loading images over USB
>   board: samsung: e850-96: Load firmwares over USB on USB boot
>   board: samsung: e850-96: Enter DFU automatically on USB boot
>
>  board/samsung/e850-96/Makefile  |  2 +-
>  board/samsung/e850-96/bootdev.c | 99 +++++++++++++++++++++++++++++++++
>  board/samsung/e850-96/bootdev.h | 23 ++++++++
>  board/samsung/e850-96/e850-96.c | 71 ++++++++++++++++++-----
>  board/samsung/e850-96/fw.c      | 76 ++++++++++++++++++-------
>  board/samsung/e850-96/fw.h      | 10 +++-
>  6 files changed, 246 insertions(+), 35 deletions(-)
>  create mode 100644 board/samsung/e850-96/bootdev.c
>  create mode 100644 board/samsung/e850-96/bootdev.h
>
>
> base-commit: 91861e5a30d217d8e70130c9124c1646f4afef29
> --
> 2.47.3
>


More information about the U-Boot mailing list