[U-Boot] [PATCH v1 0/7] imx: add USB Serial Download Protocol (SDP) support
Stefan Agner
stefan at agner.ch
Fri Aug 4 23:38:06 UTC 2017
From: Stefan Agner <stefan.agner at toradex.com>
This series adds NXP's Serial Download Protocol (SDP) support via
USB for SPL/U-Boot. It allows to download U-Boot via USB from a
(recovered) SPL using the same tools used to download SPL itself
(specifically imx_usb, but also sb_loader seems to work).
The idea has been brought up when the first targets started to make
use of SPL for DDR initialization, see:
https://lists.denx.de/pipermail/u-boot/2015-July/220330.html
The initial SDP implementation (patch 2) requires the payload to
have the imx specific headers (hence the move of the imx header
file in patch 1).
Patch 3 extends image header support beyond the SDP specification,
specifically implements also support for U-Boot headers. This
allows to use the same SPL/U-Boot binaries for recovery as used on
the regular boot device (SD/eMMC). For that to work also the host
side imx_usb tools needed an extension, currently available here:
https://github.com/toradex/imx_loader/tree/imx_usb_batch_mode_refactored
The full patchset allows to download SPL and U-Boot over USB to a
target in recovery mode using the same usb_imx utility:
The usb_imx utility also has a batch mode which allows to download
multiple artifacts with a single invocation. The details are
outlined in the imx_usb commit message:
https://github.com/toradex/imx_loader/commit/5434415d921f1cc4d22332d9558bed6d42db9f60
In case this patchset gets accepted in U-Boot, I plan to push the
imx_usb changes upstream as well.
Stefan Agner (7):
imx: move imximage header to common location
usb: gadget: add SDP driver
usb: gadget: sdp: extend images compatible for jumps
cmd: add sdp command
spl: add serial download protocol (SDP) support
apalis/colibri_imx6: use independent USB PID for SPL
apalis/colibri_imx6: enable SDP by default
board/toradex/apalis_imx6/apalis_imx6.c | 13 +
board/toradex/colibri_imx6/colibri_imx6.c | 13 +
cmd/Kconfig | 7 +
cmd/Makefile | 1 +
cmd/usb_gadget_sdp.c | 53 +++
common/spl/Kconfig | 6 +
common/spl/Makefile | 1 +
common/spl/spl_sdp.c | 38 ++
configs/apalis_imx6_defconfig | 4 +
configs/colibri_imx6_defconfig | 4 +
drivers/usb/gadget/Kconfig | 7 +
drivers/usb/gadget/Makefile | 2 +
drivers/usb/gadget/f_sdp.c | 739 ++++++++++++++++++++++++++++++
{tools => include}/imximage.h | 0
include/sdp.h | 16 +
15 files changed, 904 insertions(+)
create mode 100644 cmd/usb_gadget_sdp.c
create mode 100644 common/spl/spl_sdp.c
create mode 100644 drivers/usb/gadget/f_sdp.c
rename {tools => include}/imximage.h (100%)
create mode 100644 include/sdp.h
--
2.13.3
More information about the U-Boot
mailing list