0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/firmware/qemu,fw-cfg-mmio.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: QEMU Firmware Configuration bindings
0008
0009 maintainers:
0010 - Rob Herring <robh@kernel.org>
0011
0012 description: |
0013 Various QEMU emulation / virtualization targets provide the following
0014 Firmware Configuration interface on the "virt" machine type:
0015
0016 - A write-only, 16-bit wide selector (or control) register,
0017 - a read-write, 64-bit wide data register.
0018
0019 QEMU exposes the control and data register to guests as memory mapped
0020 registers; their location is communicated to the guest's UEFI firmware in the
0021 DTB that QEMU places at the bottom of the guest's DRAM.
0022
0023 The authoritative guest-side hardware interface documentation to the fw_cfg
0024 device can be found in "docs/specs/fw_cfg.txt" in the QEMU source tree.
0025
0026
0027 properties:
0028 compatible:
0029 const: qemu,fw-cfg-mmio
0030
0031 reg:
0032 maxItems: 1
0033 description: |
0034 * Bytes 0x0 to 0x7 cover the data register.
0035 * Bytes 0x8 to 0x9 cover the selector register.
0036 * Further registers may be appended to the region in case of future interface
0037 revisions / feature bits.
0038
0039 dma-coherent: true
0040
0041 required:
0042 - compatible
0043 - reg
0044
0045 additionalProperties: false
0046
0047 examples:
0048 - |
0049
0050 fw-cfg@9020000 {
0051 compatible = "qemu,fw-cfg-mmio";
0052 reg = <0x9020000 0xa>;
0053 };
0054 ...