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

title: Virtual Machine Generation ID

maintainers:
  - Jason A. Donenfeld <Jason@zx2c4.com>

description:
  Firmwares or hypervisors can use this devicetree to describe an
  interrupt and a shared resource to inject a Virtual Machine Generation ID.
  Virtual Machine Generation ID is a globally unique identifier (GUID) and
  the devicetree binding follows VMGenID specification defined in
  http://go.microsoft.com/fwlink/?LinkId=260709.

properties:
  compatible:
    const: microsoft,vmgenid

  reg:
    description:
      Specifies a 16-byte VMGenID in endianness-agnostic hexadecimal format.
    maxItems: 1

  interrupts:
    description:
      Interrupt used to notify that a new VMGenID is available.
    maxItems: 1

required:
  - compatible
  - reg
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    rng@80000000 {
      compatible = "microsoft,vmgenid";
      reg = <0x80000000 0x1000>;
      interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
    };

...
