xref: /freebsd/sys/contrib/device-tree/Bindings/arm/fw-cfg.txt (revision cfd6422a5217410fbd66f7a7a8a64d9d85e61229)
1* QEMU Firmware Configuration bindings for ARM
2
3QEMU's arm-softmmu and aarch64-softmmu emulation / virtualization targets
4provide the following Firmware Configuration interface on the "virt" machine
5type:
6
7- A write-only, 16-bit wide selector (or control) register,
8- a read-write, 64-bit wide data register.
9
10QEMU exposes the control and data register to ARM guests as memory mapped
11registers; their location is communicated to the guest's UEFI firmware in the
12DTB that QEMU places at the bottom of the guest's DRAM.
13
14The authoritative guest-side hardware interface documentation to the fw_cfg
15device can be found in "docs/specs/fw_cfg.txt" in the QEMU source tree.
16
17
18Required properties:
19
20- compatible: "qemu,fw-cfg-mmio".
21
22- reg: the MMIO region used by the device.
23  * Bytes 0x0 to 0x7 cover the data register.
24  * Bytes 0x8 to 0x9 cover the selector register.
25  * Further registers may be appended to the region in case of future interface
26    revisions / feature bits.
27
28Example:
29
30/ {
31	#size-cells = <0x2>;
32	#address-cells = <0x2>;
33
34	fw-cfg@9020000 {
35		compatible = "qemu,fw-cfg-mmio";
36		reg = <0x0 0x9020000 0x0 0xa>;
37	};
38};
39