[PATCH 0/2] mtd: devices: Qualcomm SCM storage support

Junhao Xie bigfoot at radxa.com
Thu Dec 18 10:02:03 PST 2025


This patch series adds support for accessing storage devices managed by
Qualcomm TrustZone firmware via SCM (Secure Channel Manager) by
introducing a new MTD driver.

On some Qualcomm platforms, firmware or BIOS-related storage (typically
SPI NOR flash) is not directly accessible from the non-secure world.
All read, write, and erase operations must be performed through SCM
interfaces provided by the secure firmware. As a result, existing MTD
SPI NOR drivers cannot be used directly on these systems.

This series introduces a new MTD device driver that exposes such
firmware-managed storage as a standard MTD device in the Linux kernel.
The driver is built on top of the existing Qualcomm SCM infrastructure
and integrates with the MTD subsystem to provide a uniform interface to
userspace.

This driver has been tested on Radxa Dragon Q6A, based on the Qualcomm
QCS6490 SoC, with a Winbond W25Q256JWPIQ SPI NOR flash device.

Note that this platform previously used the standard Qualcomm Linux firmware,
which allowed direct access to the QSPI controller without needing this
driver. However, we plan to migrate to a Windows-compatible firmware which
is more feature-complete but restricts direct access. Device tree changes
for this transition will be sent separately.

Junhao Xie (2):
  firmware: qcom: scm: Add SCM storage interface support
  mtd: devices: Add Qualcomm SCM storage driver

 drivers/firmware/qcom/qcom_scm.c       | 183 ++++++++++++++++++
 drivers/firmware/qcom/qcom_scm.h       |   3 +
 drivers/mtd/devices/Kconfig            |  17 ++
 drivers/mtd/devices/Makefile           |   1 +
 drivers/mtd/devices/qcom_scm_storage.c | 256 +++++++++++++++++++++++++
 include/linux/firmware/qcom/qcom_scm.h |  47 +++++
 6 files changed, 507 insertions(+)
 create mode 100644 drivers/mtd/devices/qcom_scm_storage.c

-- 
2.51.2




More information about the linux-mtd mailing list