[PATCH v2 0/4] firmware: qcom: enable UEFI variables on Lenovo Yoga C630

From: Dmitry Baryshkov
Date: Sat Jun 21 2025 - 16:00:16 EST


Lenovo Yoga C630 is a WoA / WoS laptop, which uses a "standard" QSEECOM /
uefisecapp application in order to implement UEFI variables. However as
this platform has only one storage (UFS) shared between Linux and
SecureOS world, uefisecapp can not update variables directly. It
requires some additional steps in order to update variables, which are
not yet reverse engineered.

However even with the current driver it is possible to implement R/O
UEFI vars access, which e.g. lets the RTC driver to read RTC offset,
providing Linux with a correct time.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
Changes in v2:
- Added QSEECOM quirks in order to make UEFI vars r/o on C630.
- Added DT patch, specifying the use of UEFI vars for RTC offset.
- Link to v1: https://lore.kernel.org/r/20240725-more-qseecom-v1-1-a55a3553d1fe@xxxxxxxxxx

---
Dmitry Baryshkov (4):
firmware: qcom: scm: allow specifying quirks for QSEECOM implementations
firmware: qcom: uefisecapp: add support for R/O UEFI vars
firmware: qcom: enable QSEECOM on Lenovo Yoga C630
arm64: dts: qcom: sdm850-lenovo-yoga-c630: fix RTC offset info

arch/arm64/boot/dts/qcom/pm8998.dtsi | 2 +-
.../boot/dts/qcom/sdm850-lenovo-yoga-c630.dts | 4 +++
drivers/firmware/qcom/qcom_qseecom.c | 6 +++-
drivers/firmware/qcom/qcom_qseecom_uefisecapp.c | 18 +++++++++++-
drivers/firmware/qcom/qcom_scm.c | 32 ++++++++++++----------
include/linux/firmware/qcom/qcom_qseecom.h | 2 ++
6 files changed, 47 insertions(+), 17 deletions(-)
---
base-commit: 5d4809e25903ab8e74034c1f23c787fd26d52934
change-id: 20240725-more-qseecom-379933b9c769

Best regards,
--
With best wishes
Dmitry