* [PATCH v2 0/5] Add support for reporting boot status on Qualcomm IPQ9574 and IPQ5332
@ 2026-10-02 13:03 Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 1/5] dt-bindings: sram: Document IMEM found in Qualcomm's " Kathiravan Thirumoorthy
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-10-02 13:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa
Cc: devicetree, linux-kernel, linux-arm-msm, Kathiravan Thirumoorthy
Similar to IPQ5424, add the IMEM node and the restart-reason child node
on IPQ9574 and IPQ5332 to enable reporting of watchdog boot status.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
Changes in v2:
- Placed the compatibles in alphabetical order
- Fixed the unit-address in the restartreason-sram node in 4/5 and 5/5
- Link to v1: https://patch.msgid.link/20261001-imem_restart_reason-v1-0-79f516906010@oss.qualcomm.com
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Bjorn Andersson <andersson@kernel.org>
To: Konrad Dybcio <konradybcio@kernel.org>
To: Abel Vesa <abelvesa@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-msm@vger.kernel.org
---
Kathiravan Thirumoorthy (5):
dt-bindings: sram: Document IMEM found in Qualcomm's IPQ9574 and IPQ5332
arm64: dts: qcom: ipq9574: add the IMEM node
arm64: dts: qcom: ipq5332: add the IMEM node
arm64: dts: qcom: ipq9574: add support to get watchdog bootstatus from IMEM
arm64: dts: qcom: ipq5332: add support to get watchdog bootstatus from IMEM
Documentation/devicetree/bindings/sram/sram.yaml | 2 ++
arch/arm64/boot/dts/qcom/ipq5332.dtsi | 16 ++++++++++++++++
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 16 ++++++++++++++++
3 files changed, 34 insertions(+)
---
base-commit: 6c2cb8b8b843d216ab549b678a0d8831c43153e0
change-id: 20260929-imem_restart_reason-15c5b95f9a5a
Best regards,
--
Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 1/5] dt-bindings: sram: Document IMEM found in Qualcomm's IPQ9574 and IPQ5332
2026-10-02 13:03 [PATCH v2 0/5] Add support for reporting boot status on Qualcomm IPQ9574 and IPQ5332 Kathiravan Thirumoorthy
@ 2026-10-02 13:03 ` Kathiravan Thirumoorthy
2026-10-03 14:37 ` Krzysztof Kozlowski
2026-10-02 13:03 ` [PATCH v2 2/5] arm64: dts: qcom: ipq9574: add the IMEM node Kathiravan Thirumoorthy
` (3 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-10-02 13:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa
Cc: devicetree, linux-kernel, linux-arm-msm, Kathiravan Thirumoorthy
Document the compatibles for the IMEM found in the Qualcomm's IPQ9574
and IPQ5332 SoCs.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
Documentation/devicetree/bindings/sram/sram.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/sram/sram.yaml b/Documentation/devicetree/bindings/sram/sram.yaml
index 6ee0b1464722..b09a70b3d576 100644
--- a/Documentation/devicetree/bindings/sram/sram.yaml
+++ b/Documentation/devicetree/bindings/sram/sram.yaml
@@ -37,7 +37,9 @@ properties:
- qcom,eliza-imem
- qcom,glymur-imem
- qcom,hawi-imem
+ - qcom,ipq5332-imem
- qcom,ipq5424-imem
+ - qcom,ipq9574-imem
- qcom,kaanapali-imem
- qcom,maili-imem
- qcom,milos-imem
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 2/5] arm64: dts: qcom: ipq9574: add the IMEM node
2026-10-02 13:03 [PATCH v2 0/5] Add support for reporting boot status on Qualcomm IPQ9574 and IPQ5332 Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 1/5] dt-bindings: sram: Document IMEM found in Qualcomm's " Kathiravan Thirumoorthy
@ 2026-10-02 13:03 ` Kathiravan Thirumoorthy
2026-10-02 13:11 ` sashiko-bot
2026-10-02 13:03 ` [PATCH v2 3/5] arm64: dts: qcom: ipq5332: " Kathiravan Thirumoorthy
` (2 subsequent siblings)
4 siblings, 1 reply; 8+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-10-02 13:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa
Cc: devicetree, linux-kernel, linux-arm-msm, Kathiravan Thirumoorthy
Add the IMEM node to the device tree to extract debugging information
like system restart reason, which is populated via IMEM. Define the
IMEM region to enable this functionality.
As described, overall IMEM region is 32KB but only initial 4KB is
accessible by all masters in the SoC.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index 771a59585645..f7cc6f274ca9 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -757,6 +757,13 @@ usb_0_qmpphy: phy@7d000 {
status = "disabled";
};
+ sram@8600000 {
+ compatible = "qcom,ipq9574-imem", "mmio-sram";
+ reg = <0x08600000 0x8000>;
+
+ no-memory-wc;
+ };
+
usb3: usb@8af8800 {
compatible = "qcom,ipq9574-dwc3", "qcom,dwc3";
reg = <0x08af8800 0x400>;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 3/5] arm64: dts: qcom: ipq5332: add the IMEM node
2026-10-02 13:03 [PATCH v2 0/5] Add support for reporting boot status on Qualcomm IPQ9574 and IPQ5332 Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 1/5] dt-bindings: sram: Document IMEM found in Qualcomm's " Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 2/5] arm64: dts: qcom: ipq9574: add the IMEM node Kathiravan Thirumoorthy
@ 2026-10-02 13:03 ` Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 4/5] arm64: dts: qcom: ipq9574: add support to get watchdog bootstatus from IMEM Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 5/5] arm64: dts: qcom: ipq5332: " Kathiravan Thirumoorthy
4 siblings, 0 replies; 8+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-10-02 13:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa
Cc: devicetree, linux-kernel, linux-arm-msm, Kathiravan Thirumoorthy
Add the IMEM node to the device tree to extract debugging information
like system restart reason, which is populated via IMEM. Define the
IMEM region to enable this functionality.
As described, overall IMEM region is 80KB but only initial 4KB is
accessible by all masters in the SoC.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq5332.dtsi | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
index 74d9de8d7641..3e10f45e182e 100644
--- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
@@ -493,6 +493,13 @@ qpic_nand: spi@79b0000 {
status = "disabled";
};
+ sram@8600000 {
+ compatible = "qcom,ipq5332-imem", "mmio-sram";
+ reg = <0x08600000 0x14000>;
+
+ no-memory-wc;
+ };
+
usb: usb@8af8800 {
compatible = "qcom,ipq5332-dwc3", "qcom,dwc3";
reg = <0x08af8800 0x400>;
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 4/5] arm64: dts: qcom: ipq9574: add support to get watchdog bootstatus from IMEM
2026-10-02 13:03 [PATCH v2 0/5] Add support for reporting boot status on Qualcomm IPQ9574 and IPQ5332 Kathiravan Thirumoorthy
` (2 preceding siblings ...)
2026-10-02 13:03 ` [PATCH v2 3/5] arm64: dts: qcom: ipq5332: " Kathiravan Thirumoorthy
@ 2026-10-02 13:03 ` Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 5/5] arm64: dts: qcom: ipq5332: " Kathiravan Thirumoorthy
4 siblings, 0 replies; 8+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-10-02 13:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa
Cc: devicetree, linux-kernel, linux-arm-msm, Kathiravan Thirumoorthy
Add the "sram" property to the watchdog device node to enable
retrieval of the system restart reason from IMEM, populated by XBL.
Parse this information in the watchdog driver and update the bootstatus
sysFS if the restart was triggered by a watchdog timeout.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq9574.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index f7cc6f274ca9..e1908f01851d 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -760,8 +760,16 @@ usb_0_qmpphy: phy@7d000 {
sram@8600000 {
compatible = "qcom,ipq9574-imem", "mmio-sram";
reg = <0x08600000 0x8000>;
+ ranges = <0 0x08600000 0x8000>;
no-memory-wc;
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ restart_reason: restartreason-sram@7a4 {
+ reg = <0x7a4 0x4>;
+ };
};
usb3: usb@8af8800 {
@@ -854,6 +862,7 @@ watchdog: watchdog@b017000 {
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
clocks = <&sleep_clk>;
timeout-sec = <30>;
+ sram = <&restart_reason>;
};
apcs_glb: mailbox@b111000 {
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH v2 5/5] arm64: dts: qcom: ipq5332: add support to get watchdog bootstatus from IMEM
2026-10-02 13:03 [PATCH v2 0/5] Add support for reporting boot status on Qualcomm IPQ9574 and IPQ5332 Kathiravan Thirumoorthy
` (3 preceding siblings ...)
2026-10-02 13:03 ` [PATCH v2 4/5] arm64: dts: qcom: ipq9574: add support to get watchdog bootstatus from IMEM Kathiravan Thirumoorthy
@ 2026-10-02 13:03 ` Kathiravan Thirumoorthy
4 siblings, 0 replies; 8+ messages in thread
From: Kathiravan Thirumoorthy @ 2026-10-02 13:03 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa
Cc: devicetree, linux-kernel, linux-arm-msm, Kathiravan Thirumoorthy
Add the "sram" property to the watchdog device node to enable
retrieval of the system restart reason from IMEM, populated by XBL.
Parse this information in the watchdog driver and update the bootstatus
sysFS if the restart was triggered by a watchdog timeout.
Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/ipq5332.dtsi | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/ipq5332.dtsi b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
index 3e10f45e182e..c1b083624696 100644
--- a/arch/arm64/boot/dts/qcom/ipq5332.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5332.dtsi
@@ -496,8 +496,16 @@ qpic_nand: spi@79b0000 {
sram@8600000 {
compatible = "qcom,ipq5332-imem", "mmio-sram";
reg = <0x08600000 0x14000>;
+ ranges = <0 0x08600000 0x14000>;
no-memory-wc;
+
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ restart_reason: restartreason-sram@7a4 {
+ reg = <0x7a4 0x4>;
+ };
};
usb: usb@8af8800 {
@@ -585,6 +593,7 @@ watchdog: watchdog@b017000 {
interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
clocks = <&sleep_clk>;
timeout-sec = <30>;
+ sram = <&restart_reason>;
};
apcs_glb: mailbox@b111000 {
--
2.34.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/5] arm64: dts: qcom: ipq9574: add the IMEM node
2026-10-02 13:03 ` [PATCH v2 2/5] arm64: dts: qcom: ipq9574: add the IMEM node Kathiravan Thirumoorthy
@ 2026-10-02 13:11 ` sashiko-bot
0 siblings, 0 replies; 8+ messages in thread
From: sashiko-bot @ 2026-10-02 13:11 UTC (permalink / raw)
To: Kathiravan Thirumoorthy; +Cc: devicetree, conor+dt, robh
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] dts: IMEM reg size exposes inaccessible memory to genalloc
--
commit d2b7d5d7c89f0f7e2ce2ebd4070ca10c86d37283
Author: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
arm64: dts: qcom: ipq9574: add the IMEM node
This commit adds the IMEM node to the device tree to extract debugging
information. The commit message notes the region is 32KB overall, but
only the initial 4KB is accessible by all masters in the SoC.
> diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> index 771a595856459..f7cc6f274ca91 100644
> --- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
> +++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
[ ... ]
> @@ -757,6 +757,13 @@ usb_0_qmpphy: phy@7d000 {
> status = "disabled";
> };
>
> + sram@8600000 {
> + compatible = "qcom,ipq9574-imem", "mmio-sram";
> + reg = <0x08600000 0x8000>;
[Severity: Medium]
Does this reg property expose inaccessible memory to the generic SRAM pool?
The commit message states that only the initial 4KB of this 32KB region
is accessible. However, because the node uses the mmio-sram compatible
string, sram_probe() in drivers/misc/sram.c will automatically add all
unreserved regions within the full 32KB (0x8000) space to the kernel's
generic SRAM pool via gen_pool_add_virt().
If any driver allocates from this pool and attempts to access the upper
28KB, could it trigger a fatal Synchronous External Abort (SError) due to
the hardware protections on the inaccessible region?
Is there a way to describe only the accessible 4KB portion in the reg
property, or mark the inaccessible portion as reserved, so the allocator
state remains safe?
> +
> + no-memory-wc;
> + };
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261002-imem_restart_reason-v2-0-61703c6362e3@oss.qualcomm.com?part=2
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 1/5] dt-bindings: sram: Document IMEM found in Qualcomm's IPQ9574 and IPQ5332
2026-10-02 13:03 ` [PATCH v2 1/5] dt-bindings: sram: Document IMEM found in Qualcomm's " Kathiravan Thirumoorthy
@ 2026-10-03 14:37 ` Krzysztof Kozlowski
0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2026-10-03 14:37 UTC (permalink / raw)
To: Kathiravan Thirumoorthy
Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Bjorn Andersson,
Konrad Dybcio, Abel Vesa, devicetree, linux-kernel, linux-arm-msm
On Fri, Oct 02, 2026 at 06:33:02PM +0530, Kathiravan Thirumoorthy wrote:
> Document the compatibles for the IMEM found in the Qualcomm's IPQ9574
> and IPQ5332 SoCs.
>
> Signed-off-by: Kathiravan Thirumoorthy <kathiravan.thirumoorthy@oss.qualcomm.com>
> ---
> Documentation/devicetree/bindings/sram/sram.yaml | 2 ++
> 1 file changed, 2 insertions(+)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-10-03 14:38 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-02 13:03 [PATCH v2 0/5] Add support for reporting boot status on Qualcomm IPQ9574 and IPQ5332 Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 1/5] dt-bindings: sram: Document IMEM found in Qualcomm's " Kathiravan Thirumoorthy
2026-10-03 14:37 ` Krzysztof Kozlowski
2026-10-02 13:03 ` [PATCH v2 2/5] arm64: dts: qcom: ipq9574: add the IMEM node Kathiravan Thirumoorthy
2026-10-02 13:11 ` sashiko-bot
2026-10-02 13:03 ` [PATCH v2 3/5] arm64: dts: qcom: ipq5332: " Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 4/5] arm64: dts: qcom: ipq9574: add support to get watchdog bootstatus from IMEM Kathiravan Thirumoorthy
2026-10-02 13:03 ` [PATCH v2 5/5] arm64: dts: qcom: ipq5332: " Kathiravan Thirumoorthy
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox