[U-Boot] [RFC][DFU] Unification of dfu_alt_info alt settings description + command execution
Lukasz Majewski
l.majewski at samsung.com
Tue Jul 16 17:35:21 CEST 2013
Dear All,
Since DFU usage at u-boot is spreading to different device types (MMC,
NAND), file systems, raw partitions, ubi, etc, I think that it is a
good moment to unify and structure the form of dfu_alt_info environment
variable.
Proposed new format for single dfu entity:
NAME | Type | Device | Dev_num | Dev_part | FS | start | size |
where:
Name - name of the alt setting (as seen by dfu-util -l)
Type - description of the image (raw, file, img, command [*])
Device - physical device on which data are stored (mmc, nand, "-")
Dev_num - number of the device - it is possible to store data via DFU
on several devices of the same type.
Dev_part - number of partitions on the device.
FS - information about file system on the device (fat,
ext2/ext4, ubi).
start - start offset from the beginning of the Device (byte or LBA
number addressed)
size - maximal number of blocks to be stored on the Device
(expressed with Bytes of LBA number) (protection from
overwriting the whole device)
Example:
NAME | Type | Device | Dev_num | Dev_part | FS | start | size |
----------------------------------------------------------------------
u-boot | raw | mmc | 0 | "-" [**] | "-" | 0x80 | 0x100 |
uImage | file | mmc | 0 | 2 | ext4 | "-" | "-" |
root.img | img | mmc | 0 | 5 | "-" | "-" | "-" |
root.img | raw | mmc | 0 | "-" | "-" | 0x1000| 0x4000|
u-boot | raw | nand | 0 | "-" | "-" | 0x100 | 0x100 |
uImage | file | nand | 0 | 3 | ubi | "-" | "-" |
command | cmd | "-" | "-" | "-" | "-" | "-" | "-" |
[*] - support for sending command via DFU (see below)
[**] - "-" - indicates that no value is provided for this field.
Despite of that it is mandatory to facilitate parsing.
Please share any possible use cases - for now and for the future. My
goal is to devise dfu_alt_info structure which would work for us for a
long time.
After setting up new format, it would be possible to replace different
dfu command variations (i.e. dfu mmc 0, dfu nand) with only one command
"dfu".
------------------------------------------------------------------------
DFU extension - Command execution.
------------------------------------------------------------------------
As a follow up I plan to add support for sending file filled with
command[s]. This would provide interface for automated tests and
force board to reset itself after emulated reset command from dfu-util
program.
dfu_alt_info = "command cmd - - - - - -;"
and then on host:
dfu-util -aN -D file_with_commands
The end step would be to extend dfu-util to support -C switch, which
would allow to send u-boot command quoted as text:
dfu-util -aN -C "reset"
--
Best regards,
Lukasz Majewski
Samsung R&D Institute Poland (SRPOL) | Linux Platform Group
More information about the U-Boot
mailing list