From ef14c347db4ae62f964bcf36805563efe1104754 Mon Sep 17 00:00:00 2001 From: Caleb Connolly Date: Sat, 12 Oct 2024 15:57:17 +0200 Subject: dfu: add scsi backend This is extremely similar to the MMC backend, but there are some notable differences. Works with a DFU string like scsi 4=u-boot-bin part 11 Where "4" is the SCSI dev number (sequential LUN across all SCSI devices) and "11" is the partition number. Reviewed-by: Mattijs Korpershoek Acked-by: Mattijs Korpershoek Signed-off-by: Caleb Connolly --- doc/usage/dfu.rst | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'doc/usage') diff --git a/doc/usage/dfu.rst b/doc/usage/dfu.rst index 8cc09c308d8..af805514b26 100644 --- a/doc/usage/dfu.rst +++ b/doc/usage/dfu.rst @@ -22,6 +22,7 @@ U-Boot implements this DFU capability (CONFIG_DFU) with the command dfu Today the supported DFU backends are: - MMC (RAW or FAT / EXT2 / EXT3 / EXT4 file system / SKIP / SCRIPT) +- SCSI (UFS, RAW partition, FAT / EXT2 / EXT3 / EXT4 file system / SKIP / SCRIPT) - NAND - RAM - SF (serial flash) @@ -51,6 +52,7 @@ The following configuration options are relevant to device firmware upgrade: * CONFIG_DFU_MTD * CONFIG_DFU_NAND * CONFIG_DFU_RAM +* CONFIG_DFU_SCSI * CONFIG_DFU_SF * CONFIG_DFU_SF_PART * CONFIG_DFU_TIMEOUT @@ -167,6 +169,36 @@ mmc Please note that this means the user will be able to execute any arbitrary commands just like in the u-boot's shell. +scsi + for UFS storage:: + + dfu 0 scsi + + each element in *dfu_alt_info* being + + * raw raw access to SCSI LUN + * part raw access to partition + * fat file in FAT partition + * ext4 file in EXT4 partition + * skip 0 0 ignore flashed data + * script 0 0 execute commands in shell + + with + + size + is the size of the access area (hexadecimal without "0x") + or 0 which means whole device + partid + is the GPT or DOS partition index. + dev + is the SCSI LU (Logical Unit) index (decimal only) + + A value of environment variable *dfu_alt_info* for UFS could be:: + + u-boot part 4;bl2 raw 0x1e 0x1d + + See mmc section above for details on the skip and script types. + nand raw slc nand device:: @@ -278,6 +310,7 @@ alternate list separated by '&' with the same format for each :: mmc =;....; nand =;....; ram =;....; + scsi =;....; sf =;....; mtd =;....; virt =;....; -- cgit v1.3.1