162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/firmware/qemu,fw-cfg-mmio.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: QEMU Firmware Configuration 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Rob Herring <robh@kernel.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci Various QEMU emulation / virtualization targets provide the following 1462306a36Sopenharmony_ci Firmware Configuration interface on the "virt" machine type: 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci - A write-only, 16-bit wide selector (or control) register, 1762306a36Sopenharmony_ci - a read-write, 64-bit wide data register. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci QEMU exposes the control and data register to guests as memory mapped 2062306a36Sopenharmony_ci registers; their location is communicated to the guest's UEFI firmware in the 2162306a36Sopenharmony_ci DTB that QEMU places at the bottom of the guest's DRAM. 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci The authoritative guest-side hardware interface documentation to the fw_cfg 2462306a36Sopenharmony_ci device can be found in "docs/specs/fw_cfg.txt" in the QEMU source tree. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciproperties: 2862306a36Sopenharmony_ci compatible: 2962306a36Sopenharmony_ci const: qemu,fw-cfg-mmio 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci reg: 3262306a36Sopenharmony_ci maxItems: 1 3362306a36Sopenharmony_ci description: | 3462306a36Sopenharmony_ci * Bytes 0x0 to 0x7 cover the data register. 3562306a36Sopenharmony_ci * Bytes 0x8 to 0x9 cover the selector register. 3662306a36Sopenharmony_ci * Further registers may be appended to the region in case of future interface 3762306a36Sopenharmony_ci revisions / feature bits. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci dma-coherent: true 4062306a36Sopenharmony_ci 4162306a36Sopenharmony_cirequired: 4262306a36Sopenharmony_ci - compatible 4362306a36Sopenharmony_ci - reg 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciadditionalProperties: false 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ciexamples: 4862306a36Sopenharmony_ci - | 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci fw-cfg@9020000 { 5162306a36Sopenharmony_ci compatible = "qemu,fw-cfg-mmio"; 5262306a36Sopenharmony_ci reg = <0x9020000 0xa>; 5362306a36Sopenharmony_ci }; 5462306a36Sopenharmony_ci... 55