arch/arm64/boot/dts/qcom/sm8150.dtsi | 6 ++++++ 1 file changed, 6 insertions(+)
From: Robin Snyders <robin@snyders.xyz>
The SM8150 SCM node does not describe the TCSR download-mode register.
Without it, the SCM driver falls back to a firmware call and the
mode cookie may remain set across a warm reset, causing the next boot to
enter the Qualcomm crashdump transport.
Describe the TCSR window and point qcom,dload-mode at offset 0x13000,
matching the layout used by SM8250 and other related Qualcomm platforms.
On a OnePlus 7T Pro this changes software reboot from a reproducible
05c6:900e transition to six consecutive successful boots.
Signed-off-by: Robin Snyders <robin@snyders.xyz>
---
Describe the SM8150 TCSR download-mode register so warm reboot clears the
download cookie through the SCM driver's MMIO path instead of falling back to
firmware. This was validated on a OnePlus 7T Pro with six consecutive software
reboots that returned to Linux rather than Qualcomm crashdump mode.
---
Changes in v2:
- Place the TCSR syscon node in unit-address order.
- Link to v1: https://lore.kernel.org/r/20260811-submit-sm8150-dload-v1-1-1a87eefe6c89@snyders.xyz
---
arch/arm64/boot/dts/qcom/sm8150.dtsi | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/sm8150.dtsi b/arch/arm64/boot/dts/qcom/sm8150.dtsi
index 94a3b02cb289..46183687a5e3 100644
--- a/arch/arm64/boot/dts/qcom/sm8150.dtsi
+++ b/arch/arm64/boot/dts/qcom/sm8150.dtsi
@@ -610,6 +610,7 @@ cpu7_opp20: opp-2841600000 {
firmware {
scm: scm {
compatible = "qcom,scm-sm8150", "qcom,scm";
+ qcom,dload-mode = <&tcsr 0x13000>;
#reset-cells = <1>;
};
};
@@ -2181,6 +2182,11 @@ tcsr_regs_1: syscon@1f60000 {
reg = <0x0 0x01f60000 0x0 0x20000>;
};
+ tcsr: syscon@1fc0000 {
+ compatible = "qcom,sm8150-tcsr", "syscon";
+ reg = <0x0 0x01fc0000 0x0 0x30000>;
+ };
+
remoteproc_slpi: remoteproc@2400000 {
compatible = "qcom,sm8150-slpi-pas";
reg = <0x0 0x02400000 0x0 0x4040>;
---
base-commit: 3d08ff75a47a3e7e2ab45a3bcab6723b4d906422
change-id: 20260811-submit-sm8150-dload-38802bee77c9
Best regards,
--
Robin Snyders <robin@snyders.xyz>
On Tue, 11 Aug 2026 23:39:12 +0200, Robin Snyders wrote:
> The SM8150 SCM node does not describe the TCSR download-mode register.
> Without it, the SCM driver falls back to a firmware call and the
> mode cookie may remain set across a warm reset, causing the next boot to
> enter the Qualcomm crashdump transport.
>
> Describe the TCSR window and point qcom,dload-mode at offset 0x13000,
> matching the layout used by SM8250 and other related Qualcomm platforms.
>
> [...]
Applied, thanks!
[1/1] arm64: dts: qcom: sm8150: describe download mode register
commit: ab6a07a8de6f4df3eecb733d0620019734592f31
Best regards,
--
Bjorn Andersson <andersson@kernel.org>
On 8/11/26 11:39 PM, Robin Snyders via B4 Relay wrote: > From: Robin Snyders <robin@snyders.xyz> > > The SM8150 SCM node does not describe the TCSR download-mode register. > Without it, the SCM driver falls back to a firmware call and the > mode cookie may remain set across a warm reset, causing the next boot to > enter the Qualcomm crashdump transport. > > Describe the TCSR window and point qcom,dload-mode at offset 0x13000, > matching the layout used by SM8250 and other related Qualcomm platforms. > > On a OnePlus 7T Pro this changes software reboot from a reproducible > 05c6:900e transition to six consecutive successful boots. > > Signed-off-by: Robin Snyders <robin@snyders.xyz> > --- Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com> Konrad
© 2016 - 2026 Red Hat, Inc.