# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: "http://devicetree.org/schemas/soc/qcom/qcom,memory-dump.yaml#"
$schema: "http://devicetree.org/meta-schemas/core.yaml#"

title: The document describes the device tree binding for qcom memory dump.

maintainers:
  - Yuanfang Zhang <quic_yuanfang@quicinc.com>

description:
  QTI memory dump driver allows various client subsystems to register and
  allocate respective dump regions. At the time of deadlocks or cpu hangs
  these dump regions are captured to give a snapshot of the system at the
  time of the crash.

properties:
  compatible:
    items:
      - const: qcom,mem-dump

  memory-region:
    $ref: '/schemas/types.yaml#/definitions/phandle'
    maxItems: 1
    description: |
      CMA region which is owned by this device.

required:
  - compatible
  - memory-region

additionalProperties: false

patternProperties:
  "[A-Za-z0-9_]+":
    type: object
    description:
      dump entry for subsystem client.

    properties:
      qcom,dump-size:
      maxItems: 1
      description:
        The size of memory that needs to be allocated for the
        particular node.

      qcom,dump-id:
        maxItems: 1
        description:
          The ID within the data dump table where this entry needs
          to be added.

    required:
      - qcom,dump-size
      - qcom,dump-id

    additionalProperties: false

examples:
  - |
    mem_dump {
        compatible = "qcom,mem-dump";
        memory-region = <&dump_mem>;

        rpmh_dump {
            qcom,dump-size = <0x2000000>;
            qcom,dump-id = <0xEC>;
        };
    };

