Linux SCSI subsystem development
 help / color / mirror / Atom feed
* [RFC PATCH v1 0/2] Add OP-TEE based RPMB driver for UFS devices
@ 2025-09-15 21:46 Bean Huo
  2025-09-15 21:46 ` [RFC PATCH v1 1/2] rpmb: move rpmb_frame struct and constants to common header Bean Huo
  2025-09-15 21:46 ` [RFC PATCH v1 2/2] scsi: ufs: core: Add OP-TEE based RPMB driver for UFS devices Bean Huo
  0 siblings, 2 replies; 6+ messages in thread
From: Bean Huo @ 2025-09-15 21:46 UTC (permalink / raw)
  To: avri.altman, bvanassche, alim.akhtar, jejb, martin.petersen,
	can.guo, ulf.hansson, jens.wiklander
  Cc: linux-scsi, linux-kernel, mikebi, lporzio, Bean Huo

This patch series introduces OP-TEE based RPMB (Replay Protected Memory Block)
support for UFS devices, extending the kernel-level secure storage capabilities
that are currently available for eMMC devices.

Background:
Previously, OP-TEE required a userspace supplicant to access RPMB partitions,
which created complex dependencies and reliability issues, especially during
early boot scenarios. Recent work by Linaro has moved core supplicant
functionality directly into the Linux kernel for eMMC devices, eliminating
userspace dependencies and enabling immediate secure storage access.

This series extends that same approach to UFS devices, which are becoming
increasingly common in enterprise and mobile applications that require secure
storage capabilities.

Benefits:
- Eliminates dependency on userspace supplicant for UFS RPMB access
- Enables early boot secure storage access (e.g., fTPM, secure UEFI variables)
- Provides kernel-level RPMB access as soon as UFS driver is initialized
- Removes complex initramfs dependencies and boot ordering requirements
- Ensures reliable and deterministic secure storage operations
- Supports both built-in and modular fTPM configurations

The implementation follows the same pattern as the existing eMMC RPMB driver
and currently supports RPMB region0 only. Support for additional UFS RPMB regions
will be added in future versions after updating optee core structure.


Bean Huo (2):
  rpmb: move rpmb_frame struct and constants to common header
  scsi: ufs: core: Add OP-TEE based RPMB driver for UFS devices

 drivers/misc/Kconfig           |   2 +-
 drivers/mmc/core/block.c       |  42 --------
 drivers/ufs/core/Makefile      |   1 +
 drivers/ufs/core/ufs-rpmb.c    | 174 +++++++++++++++++++++++++++++++++
 drivers/ufs/core/ufshcd-priv.h |  13 +++
 drivers/ufs/core/ufshcd.c      |  34 +++++--
 include/linux/rpmb.h           |  42 ++++++++
 include/ufs/ufs.h              |   4 +
 include/ufs/ufshcd.h           |   1 +
 9 files changed, 264 insertions(+), 49 deletions(-)
 create mode 100644 drivers/ufs/core/ufs-rpmb.c

-- 
2.34.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2025-09-16 13:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-15 21:46 [RFC PATCH v1 0/2] Add OP-TEE based RPMB driver for UFS devices Bean Huo
2025-09-15 21:46 ` [RFC PATCH v1 1/2] rpmb: move rpmb_frame struct and constants to common header Bean Huo
2025-09-15 21:54   ` Bart Van Assche
2025-09-15 21:46 ` [RFC PATCH v1 2/2] scsi: ufs: core: Add OP-TEE based RPMB driver for UFS devices Bean Huo
2025-09-15 22:06   ` Bart Van Assche
2025-09-16 13:27     ` Bean Huo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox