1c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0 2c9ccf3a3SEmmanuel Vadot%YAML 1.2 3c9ccf3a3SEmmanuel Vadot--- 4c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/firmware/qemu,fw-cfg-mmio.yaml# 5c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c9ccf3a3SEmmanuel Vadot 7*8bab661aSEmmanuel Vadottitle: QEMU Firmware Configuration 8c9ccf3a3SEmmanuel Vadot 9c9ccf3a3SEmmanuel Vadotmaintainers: 10c9ccf3a3SEmmanuel Vadot - Rob Herring <robh@kernel.org> 11c9ccf3a3SEmmanuel Vadot 12c9ccf3a3SEmmanuel Vadotdescription: | 13c9ccf3a3SEmmanuel Vadot Various QEMU emulation / virtualization targets provide the following 14c9ccf3a3SEmmanuel Vadot Firmware Configuration interface on the "virt" machine type: 15c9ccf3a3SEmmanuel Vadot 16c9ccf3a3SEmmanuel Vadot - A write-only, 16-bit wide selector (or control) register, 17c9ccf3a3SEmmanuel Vadot - a read-write, 64-bit wide data register. 18c9ccf3a3SEmmanuel Vadot 19c9ccf3a3SEmmanuel Vadot QEMU exposes the control and data register to guests as memory mapped 20c9ccf3a3SEmmanuel Vadot registers; their location is communicated to the guest's UEFI firmware in the 21c9ccf3a3SEmmanuel Vadot DTB that QEMU places at the bottom of the guest's DRAM. 22c9ccf3a3SEmmanuel Vadot 23c9ccf3a3SEmmanuel Vadot The authoritative guest-side hardware interface documentation to the fw_cfg 24c9ccf3a3SEmmanuel Vadot device can be found in "docs/specs/fw_cfg.txt" in the QEMU source tree. 25c9ccf3a3SEmmanuel Vadot 26c9ccf3a3SEmmanuel Vadot 27c9ccf3a3SEmmanuel Vadotproperties: 28c9ccf3a3SEmmanuel Vadot compatible: 29c9ccf3a3SEmmanuel Vadot const: qemu,fw-cfg-mmio 30c9ccf3a3SEmmanuel Vadot 31c9ccf3a3SEmmanuel Vadot reg: 32c9ccf3a3SEmmanuel Vadot maxItems: 1 33c9ccf3a3SEmmanuel Vadot description: | 34c9ccf3a3SEmmanuel Vadot * Bytes 0x0 to 0x7 cover the data register. 35c9ccf3a3SEmmanuel Vadot * Bytes 0x8 to 0x9 cover the selector register. 36c9ccf3a3SEmmanuel Vadot * Further registers may be appended to the region in case of future interface 37c9ccf3a3SEmmanuel Vadot revisions / feature bits. 38c9ccf3a3SEmmanuel Vadot 39c9ccf3a3SEmmanuel Vadot dma-coherent: true 40c9ccf3a3SEmmanuel Vadot 41c9ccf3a3SEmmanuel Vadotrequired: 42c9ccf3a3SEmmanuel Vadot - compatible 43c9ccf3a3SEmmanuel Vadot - reg 44c9ccf3a3SEmmanuel Vadot 45c9ccf3a3SEmmanuel VadotadditionalProperties: false 46c9ccf3a3SEmmanuel Vadot 47c9ccf3a3SEmmanuel Vadotexamples: 48c9ccf3a3SEmmanuel Vadot - | 49c9ccf3a3SEmmanuel Vadot 50c9ccf3a3SEmmanuel Vadot fw-cfg@9020000 { 51c9ccf3a3SEmmanuel Vadot compatible = "qemu,fw-cfg-mmio"; 52c9ccf3a3SEmmanuel Vadot reg = <0x9020000 0xa>; 53c9ccf3a3SEmmanuel Vadot }; 54c9ccf3a3SEmmanuel Vadot... 55