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