Skip to content

feat(flash): enable maili-mtp (SM8950) board support - #686

Draft
xueqnie wants to merge 2 commits into
qualcomm-linux:mainfrom
xueqnie:maili-mtp-enablement-pr
Draft

xueqnie wants to merge 2 commits into
qualcomm-linux:mainfrom
xueqnie:maili-mtp-enablement-pr

Conversation

@xueqnie

@xueqnie xueqnie commented Sep 30, 2026

Copy link
Copy Markdown

Add maili-mtp to the flash recipe so qcom-deb-images can produce flashable Debian assets for the Maili MTP (SM8950 / Oryon-3) board.

  • Add the maili-mtp board dict (soc_id sm8950, combineddtb, ptool_platform maili-mtp/ufs). No cdt_download: the maili partitions.conf cdt partition carries no --filename.
  • Force-keep pvmfw.img and qsahara_device_programmer.xml in the per-board copy filter (the EDL Sahara chain the PBL loads before Firehose; qsahara maps image_id -> file, incl. sequencer_ram.elf=id59).
  • Point the qcom-ptool download at the maili-mtp/ufs platform added in the pending qualcomm-linux/qcom-ptool PR (commit 8be7dd6). Bump to the merge-commit SHA once that PR lands.

Boot binaries: no public firmware feed for maili exists yet, so the board's boot-binaries URL and checksum must be supplied at build time via -t maili_boot_binaries_url: and -t maili_boot_binaries_sha256:.

Flash with:
qdl --storage ufs qsahara_device_programmer.xml rawprogram*.xml patch*.xml

Add maili-mtp to the flash recipe so qcom-deb-images can produce
flashable Debian assets for the Maili MTP (SM8950 / Oryon-3) board.

- Add the maili-mtp board dict (soc_id sm8950, combineddtb,
  ptool_platform maili-mtp/ufs). No cdt_download: the maili
  partitions.conf cdt partition carries no --filename.
- Force-keep pvmfw.img and qsahara_device_programmer.xml in the
  per-board copy filter (the EDL Sahara chain the PBL loads before
  Firehose; qsahara maps image_id -> file, incl. sequencer_ram.elf=id59).
- Point the qcom-ptool download at the maili-mtp/ufs platform added in
  the pending qualcomm-linux/qcom-ptool PR (commit 8be7dd6). Bump to the
  merge-commit SHA once that PR lands.

Boot binaries: no public firmware feed for maili exists yet, so the
board's boot-binaries URL and checksum must be supplied at build time
via -t maili_boot_binaries_url:<url> and -t maili_boot_binaries_sha256:<sha>.

Flash with:
  qdl --storage ufs qsahara_device_programmer.xml rawprogram*.xml patch*.xml

Signed-off-by: Xueqian Nie <xueqnie@qti.qualcomm.com>
@xueqnie
xueqnie marked this pull request as draft September 30, 2026 07:10
"ptool_platforms" (list "maili-mtp/ufs")
"boot_binaries_download" (dict
"description" "Maili MTP boot binaries"
"url" "https://softwarecenter.qualcomm.com/nexus/generic/product/chip/tech-package/sm8950_bootbinaries.1.0/sm8950_bootbinaries.1.0-test-device-public/00135/maili-boot-binaries.zip"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In your commit message you mention:

Boot binaries: no public firmware feed for maili exists yet, so the
board's boot-binaries URL and checksum must be supplied at build time
via -t maili_boot_binaries_url:<url> and -t maili_boot_binaries_sha256:<sha>.

but you've put links in here. Can you fix it?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a placeholder; the boot_binaries are not ready yet.

name: qcom-ptool
filename: qcom-ptool.tar.gz
sha256sum: 4fe113e20fa8feffdd962612f17cb03e60e6e7f460738bbcf897c7c9c631ad06
sha256sum: e914d1af7d347fd755b910f2b11950c2dd4c3650473104c4c479de383ab717e0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a separate commit before the commit adding the malili-mtp platform. See #587 (comment) for some instructions on how to generate that commit.

- action: download
description: Download qcom-ptool
url: https://github.com/qualcomm-linux/qcom-ptool/archive/80e52fcde1cbae7d725692dea98a27cb479c5a2c.tar.gz
# Includes the maili-mtp/ufs platform via the pending qcom-ptool PR

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Link in comment to qualcomm-linux/qcom-ptool#181 until it is merged, please.

# Includes the maili-mtp/ufs platform via the pending qcom-ptool PR
# (qualcomm-linux/qcom-ptool#<PR>, commit 8be7dd6). Bump to the merge-commit
# SHA on qualcomm-linux/qcom-ptool main once that PR lands.
url: https://github.com/qualcomm-linux/qcom-ptool/archive/8be7dd6982313f466e72fbe29b2b32dd56cb454e.tar.gz

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this point to your fork of qcom-ptool e.g. https://github.com/xueqnie/qcom-ptool/tree/feat/maili-mtp ?

qcom-ptool is migrating board definitions from per-platform
partitions.conf to a structured platforms/boards/<board>.yaml format
(qualcomm-linux/qcom-ptool#124). maili-mtp is submitted directly as a
YAML board (qualcomm-linux/qcom-ptool#181), and glymur-crd / qrb2210 are
already YAML-only upstream, so the flash flow can no longer assume a
.conf exists for every platform.

- scripts/gen-ptool.sh: when platforms/boards/<board>.yaml exists,
  generate the table with `gen_partition --board <yaml> -C <dir>` and
  hoist the per-storage <dir>/<id>/partitions.xml (storage id == the
  disk type we already pass) to the flat ptool-partitions.xml the rest
  of the flow expects. Legacy boards keep the `-i partitions.conf` path.
  The partition_map (-m) rewrite of efi/rootfs/dtb/cdt to debos' build
  artifacts is unchanged and applies to both paths.

- flash recipe: bump the qcom-ptool download to commit 9dd7a68, which
  carries platforms/boards/maili-mtp.yaml on top of the (lun, name)
  partition-merge fix the multi-LUN maili layout needs. Verified to emit
  a byte-identical partition XML to the previous maili-mtp/ufs .conf.

Validated by running the flash recipe end-to-end for maili-mtp: the YAML
branch produced flash_maili-mtp_ufs/ with rawprogram0-5 / patch0-5 and a
150-partition table (all five per-LUN last_parti markers preserved).

Signed-off-by: Xueqian Nie <xueqnie@qti.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants