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>
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.