xref: /linux/Documentation/devicetree/bindings/rng/microsoft,vmgenid.yaml (revision f0cd69b8cca6a5096463644d6dacc9f991bfa521)
1*a4aded1fSSudan Landge# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*a4aded1fSSudan Landge%YAML 1.2
3*a4aded1fSSudan Landge---
4*a4aded1fSSudan Landge$id: http://devicetree.org/schemas/rng/microsoft,vmgenid.yaml#
5*a4aded1fSSudan Landge$schema: http://devicetree.org/meta-schemas/core.yaml#
6*a4aded1fSSudan Landge
7*a4aded1fSSudan Landgetitle: Virtual Machine Generation ID
8*a4aded1fSSudan Landge
9*a4aded1fSSudan Landgemaintainers:
10*a4aded1fSSudan Landge  - Jason A. Donenfeld <Jason@zx2c4.com>
11*a4aded1fSSudan Landge
12*a4aded1fSSudan Landgedescription:
13*a4aded1fSSudan Landge  Firmwares or hypervisors can use this devicetree to describe an
14*a4aded1fSSudan Landge  interrupt and a shared resource to inject a Virtual Machine Generation ID.
15*a4aded1fSSudan Landge  Virtual Machine Generation ID is a globally unique identifier (GUID) and
16*a4aded1fSSudan Landge  the devicetree binding follows VMGenID specification defined in
17*a4aded1fSSudan Landge  http://go.microsoft.com/fwlink/?LinkId=260709.
18*a4aded1fSSudan Landge
19*a4aded1fSSudan Landgeproperties:
20*a4aded1fSSudan Landge  compatible:
21*a4aded1fSSudan Landge    const: microsoft,vmgenid
22*a4aded1fSSudan Landge
23*a4aded1fSSudan Landge  reg:
24*a4aded1fSSudan Landge    description:
25*a4aded1fSSudan Landge      Specifies a 16-byte VMGenID in endianness-agnostic hexadecimal format.
26*a4aded1fSSudan Landge    maxItems: 1
27*a4aded1fSSudan Landge
28*a4aded1fSSudan Landge  interrupts:
29*a4aded1fSSudan Landge    description:
30*a4aded1fSSudan Landge      Interrupt used to notify that a new VMGenID is available.
31*a4aded1fSSudan Landge    maxItems: 1
32*a4aded1fSSudan Landge
33*a4aded1fSSudan Landgerequired:
34*a4aded1fSSudan Landge  - compatible
35*a4aded1fSSudan Landge  - reg
36*a4aded1fSSudan Landge  - interrupts
37*a4aded1fSSudan Landge
38*a4aded1fSSudan LandgeadditionalProperties: false
39*a4aded1fSSudan Landge
40*a4aded1fSSudan Landgeexamples:
41*a4aded1fSSudan Landge  - |
42*a4aded1fSSudan Landge    #include <dt-bindings/interrupt-controller/arm-gic.h>
43*a4aded1fSSudan Landge    rng@80000000 {
44*a4aded1fSSudan Landge      compatible = "microsoft,vmgenid";
45*a4aded1fSSudan Landge      reg = <0x80000000 0x1000>;
46*a4aded1fSSudan Landge      interrupts = <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>;
47*a4aded1fSSudan Landge    };
48*a4aded1fSSudan Landge
49*a4aded1fSSudan Landge...
50