From: Luke Macken <luke@phorex.org>
To: andersson@kernel.org, konradybcio@kernel.org
Cc: abelvesa@kernel.org, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, srinivas.kandagatla@oss.qualcomm.com,
linux-arm-msm@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, Luke Macken <luke@phorex.org>
Subject: [PATCH] arm64: dts: qcom: mahua-t14s: store the RTC offset in SDAM
Date: Fri, 16 Oct 2026 17:25:28 -0600 [thread overview]
Message-ID: <20261016232528.4012876-1-luke@phorex.org> (raw)
The PMIC RTC registers on the Lenovo ThinkPad T14s Gen 7 are read-only,
so an offset needs to be stored in machine-specific non-volatile memory
which the RTC driver can take into account when reading or updating the
time.
The firmware on this machine does not provide the RTCInfo UEFI variable
that other Glymur based machines use for this purpose, so, as on
sc8280xp-crd and the QCS8550 boards, reserve four bytes in one of the
PMIC SDAM blocks to hold the RTC offset. SDAM 2 on PMK8850 is 128 bytes
and its last word is not used by the firmware.
Without this the RTC reports the time elapsed since the PMIC was first
powered, setting the time fails and the system clock starts in 1970 on
every boot until it is corrected from the network.
Assisted-by: LLM
Signed-off-by: Luke Macken <luke@phorex.org>
---
Note for reviewers: Qualcomm's "rtc: Add Qualcomm PMIC RTC-GLINK support
for Glymur" (August 2026) would move the RTC behind the charger firmware
on these machines, but it has not been resubmitted and needs firmware
that at least the ThinkPad does not ship yet. This patch uses the
existing rtc-pm8xxx nvmem offset mechanism in the meantime and does not
conflict with that work.
.../boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts b/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
index 35afcb5ae..28c2da5d9 100644
--- a/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
+++ b/arch/arm64/boot/dts/qcom/mahua-lenovo-thinkpad-t14s-gen7-lcd.dts
@@ -941,9 +941,17 @@ &pmk8850_pwm {
};
&pmk8850_rtc {
+ nvmem-cells = <&rtc_offset>;
+ nvmem-cell-names = "offset";
qcom,no-alarm;
};
+&pmk8850_sdam_2 {
+ rtc_offset: rtc-offset@bc {
+ reg = <0xbc 0x4>;
+ };
+};
+
&remoteproc_adsp {
firmware-name = "qcom/glymur/LENOVO/22A8/qcadsp8480.mbn",
"qcom/glymur/LENOVO/22A8/adsp_dtbs.elf";
next reply other threads:[~2026-10-16 23:25 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 23:25 Luke Macken [this message]
2026-10-21 10:39 ` Konrad Dybcio
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261016232528.4012876-1-luke@phorex.org \
--to=luke@phorex.org \
--cc=abelvesa@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=konradybcio@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=srinivas.kandagatla@oss.qualcomm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®