# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/reset/fsl,imx7-src.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale i.MX7 System Reset Controller

maintainers:
  - Andrey Smirnov <andrew.smirnov@gmail.com>

description: |
  The system reset controller can be used to reset various set of
  peripherals. Device nodes that need access to reset lines should
  specify them as a reset phandle in their corresponding node as
  specified in reset.txt.

  For list of all valid reset indices see
    <dt-bindings/reset/imx7-reset.h> for i.MX7,
    <dt-bindings/reset/imx8mq-reset.h> for i.MX8MQ, i.MX8MM and i.MX8MN,
    <dt-bindings/reset/imx8mp-reset.h> for i.MX8MP.

properties:
  compatible:
    oneOf:
      - items:
          - enum:
              - fsl,imx7d-src
              - fsl,imx8mq-src
              - fsl,imx8mp-src
          - const: syscon
      - items:
          - enum:
              - fsl,imx8mm-src
              - fsl,imx8mn-src
          - const: fsl,imx8mq-src
          - const: syscon

  reg:
    maxItems: 1

  interrupts:
    maxItems: 1

  '#reset-cells':
    const: 1

required:
  - compatible
  - reg
  - interrupts
  - '#reset-cells'

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>

    reset-controller@30390000 {
        compatible = "fsl,imx7d-src", "syscon";
        reg = <0x30390000 0x2000>;
        interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
        #reset-cells = <1>;
    };
