Re: [PATCH 1/4] dt-bindings: firmware: qcom,scm: Add minidump SRAM property
From: Mukesh Ojha
Date: Tue May 19 2026 - 04:42:49 EST
On Fri, May 08, 2026 at 07:07:14AM -0500, Rob Herring wrote:
> On Thu, May 7, 2026 at 3:07 AM Mukesh Ojha <mukesh.ojha@xxxxxxxxxxxxxxxx> wrote:
> >
> > On most Qualcomm SoCs where minidump is supported, a word in always-on
> > SRAM is shared between the kernel and boot firmware. Before DDR is
> > initialised on the warm reset following a crash, firmware reads this
> > word to decide if minidump is enabled and collect a minidump and where
> > to deliver it (USB upload to a host, or save to local storage).
> >
> > Add 'sram' and 'sram-names' properties to the SCM binding to describe
> > a region in always-on SRAM where the minidump download destination
> > value could be written. Boot firmware reads it before DDR is initialised
> > on a warm reset to decide where to store the minidump either to host
> > PC or to on device storage.
> >
> > Most of the Qualcomm SoC supporting minidump supports this, added the
> > kaanapali SoC for now.
> >
> > Suggested-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxxxxxxxx>
> > Signed-off-by: Mukesh Ojha <mukesh.ojha@xxxxxxxxxxxxxxxx>
> > ---
> > .../bindings/firmware/qcom,scm.yaml | 57 +++++++++++++++++++
> > 1 file changed, 57 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml
> > index 7918d31f58b4..6813081fd74a 100644
> > --- a/Documentation/devicetree/bindings/firmware/qcom,scm.yaml
> > +++ b/Documentation/devicetree/bindings/firmware/qcom,scm.yaml
> > @@ -127,6 +127,22 @@ properties:
> > - description: offset of the download mode control register
> > description: TCSR hardware block
> >
> > + sram:
> > + $ref: /schemas/types.yaml#/definitions/phandle-array
>
> Drop. This is a common property though we need to create a common definition.
Did you mean to just drop ref for now? And common definition could be followed later or
create one as part of the series.
>
> > + description:
> > + Phandle to a region in always-on SRAM used to store the download
> > + mode value for boot firmware to read before DDR is initialised on
> > + the next warm reset.
> > + maxItems: 1
> > +
> > + sram-names:
> > + items:
> > + - const: minidump
>
> You don't need -names with 1 entry and sram-names is not a common property.
Will drop it.
> > +
> > +dependencies:
> > + sram: [ sram-names ]
> > + sram-names: [ sram ]
> > +
> > allOf:
> > # Clocks
> > - if:
> > @@ -229,6 +245,18 @@ allOf:
> > properties:
> > memory-region: false
> >
> > + - if:
> > + not:
> > + properties:
> > + compatible:
> > + contains:
> > + enum:
> > + - qcom,scm-kaanapali
> > + then:
> > + properties:
> > + sram: false
> > + sram-names: false
> > +
> > required:
> > - compatible
> >
> > @@ -247,3 +275,32 @@ examples:
> > clock-names = "core", "bus", "iface";
> > };
> > };
> > +
> > + - |
> > + /* kaanapali — minidump SRAM */
> > + / {
> > + #address-cells = <2>;
> > + #size-cells = <2>;
> > +
> > + sram@14680000 {
> > + compatible = "qcom,kaanapali-imem", "mmio-sram";
> > + reg = <0x0 0x14680000 0x0 0x1000>;
> > + ranges = <0x0 0x0 0x14680000 0x1000>;
> > + no-memory-wc;
> > + #address-cells = <1>;
> > + #size-cells = <1>;
> > +
> > + minidump_config: minidump-config@1c {
> > + reg = <0x1c 0x4>;
> > + };
> > + };
>
> You don't need providers in examples. Really, don't need a whole other
> example for 1 added property.
Sure, will drop it.
>
> > +
> > + firmware {
> > + scm {
> > + compatible = "qcom,scm-kaanapali", "qcom,scm";
> > + sram = <&minidump_config>;
> > + sram-names = "minidump";
> > + #reset-cells = <1>;
> > + };
> > + };
> > + };
> > --
> > 2.53.0
> >
--
-Mukesh Ojha