* [PATCH v2] arm64: dts: qcom: sm8150: describe download mode register
@ 2026-08-11 21:39 Robin Snyders via B4 Relay
2026-08-18 12:32 ` Konrad Dybcio
0 siblings, 1 reply; 2+ messages in thread
From: Robin Snyders via B4 Relay @ 2026-08-11 21:39 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Robin Snyders, linux-arm-msm, devicetree, linux-kernel
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>
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH v2] arm64: dts: qcom: sm8150: describe download mode register
2026-08-11 21:39 [PATCH v2] arm64: dts: qcom: sm8150: describe download mode register Robin Snyders via B4 Relay
@ 2026-08-18 12:32 ` Konrad Dybcio
0 siblings, 0 replies; 2+ messages in thread
From: Konrad Dybcio @ 2026-08-18 12:32 UTC (permalink / raw)
To: robin, Bjorn Andersson, Konrad Dybcio, Rob Herring,
Krzysztof Kozlowski, Conor Dooley
Cc: linux-arm-msm, devicetree, linux-kernel
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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-18 12:32 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-11 21:39 [PATCH v2] arm64: dts: qcom: sm8150: describe download mode register Robin Snyders via B4 Relay
2026-08-18 12:32 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox