# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/misc/xlnx,tmr-inject.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Xilinx Triple Modular Redundancy(TMR) Inject IP

maintainers:
  - Appana Durga Kedareswara rao <appana.durga.kedareswara.rao@amd.com>

description: |
  The Triple Modular Redundancy(TMR) Inject core provides functional fault
  injection by changing selected MicroBlaze instructions, which provides the
  possibility to verify that the TMR subsystem error detection and fault
  recovery logic is working properly.

properties:
  compatible:
    enum:
      - xlnx,tmr-inject-1.0

  reg:
    maxItems: 1

  xlnx,magic:
    minimum: 0
    maximum: 255
    description: |
      Magic number, When configured it allows the controller to perform
      recovery.
    $ref: /schemas/types.yaml#/definitions/uint32

required:
  - compatible
  - reg
  - xlnx,magic

additionalProperties: false

examples:
  - |
    fault-inject@44a30000 {
        compatible = "xlnx,tmr-inject-1.0";
        reg = <0x44a10000 0x10000>;
        xlnx,magic = <0x46>;
    };