Files
qdl/docs/multi-programmer.md
T
Igor Opaniuk fa60a80e42 doc: move specialised README sections into docs/
The README had grown into one long page where the basic flashing
workflow was buried between VIP, multi-programmer, ramdump, kickstart,
WSL2 and raw sector guides. Keep only the generic material in the
README and move each specialised workflow into its own file under
docs/, linked from a new "Documentation" index. The moved text is
unchanged apart from heading levels and two cross-references.

Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
2026-09-29 17:59:54 +02:00

2.1 KiB

Multi-programmer targets

On some targets multiple files need to be loaded in order to reach the Firehose programmer; these targets will request multiple images over Sahara. Three mechanisms for providing these images are provided:

Command line argument

The programmer argument allows specifying a comma-separated list of colon-separated "id" and "filename" pairs. Each filename should refer to the Sahara image of the specified Sahara image id.

qdl 13:prog_firehose_ddr.elf,42:the-answer rawprogram.xml

Sahara configuration XML file

Flattened METAs include the various images that need to be loaded to enter Firehose mode, as well as a sahara_config XML file, which defines the Sahara image id for each of these images.

If the specified device programmer is determined to be a Sahara configuration XML file, it will be parsed and the referenced files will be loaded and serviced to the device upon request.

qdl sahara_programmer.xml rawprogram.xml

Programmer archive

Directly providing a list of ids and filenames is cumbersome and error-prone, so QDL accepts a "programmer archive". This allows the user to use the tool in the same fashion as was done for single-programmer targets.

The programmer archive contains the Sahara images to be loaded, identified by the Sahara id needed by the target.

QDL can create such an archive from the same programmer descriptions accepted for flashing. To create an archive from a command-line Sahara image list:

qdl create-sahara-archive programmer.bin 13:prog_firehose_ddr.elf,42:the-answer

To create an archive from a Sahara configuration XML file:

qdl create-sahara-archive programmer.bin sahara_programmer.xml

To create an archive from a contents XML file:

qdl create-sahara-archive programmer.bin contents.xml

When the contents XML describes multiple storage or flavor combinations, select exactly one with the same ::specifier syntax used by flash:

qdl create-sahara-archive programmer.bin contents.xml::ufs

programmer.bin can now be passed to QDL and the included images will be served in order to reach Firehose mode.