18c2ecf20Sopenharmony_ci* QEMU Firmware Configuration bindings for ARM 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciQEMU's arm-softmmu and aarch64-softmmu emulation / virtualization targets 48c2ecf20Sopenharmony_ciprovide the following Firmware Configuration interface on the "virt" machine 58c2ecf20Sopenharmony_citype: 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci- A write-only, 16-bit wide selector (or control) register, 88c2ecf20Sopenharmony_ci- a read-write, 64-bit wide data register. 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciQEMU exposes the control and data register to ARM guests as memory mapped 118c2ecf20Sopenharmony_ciregisters; their location is communicated to the guest's UEFI firmware in the 128c2ecf20Sopenharmony_ciDTB that QEMU places at the bottom of the guest's DRAM. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciThe authoritative guest-side hardware interface documentation to the fw_cfg 158c2ecf20Sopenharmony_cidevice can be found in "docs/specs/fw_cfg.txt" in the QEMU source tree. 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciRequired properties: 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci- compatible: "qemu,fw-cfg-mmio". 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ci- reg: the MMIO region used by the device. 238c2ecf20Sopenharmony_ci * Bytes 0x0 to 0x7 cover the data register. 248c2ecf20Sopenharmony_ci * Bytes 0x8 to 0x9 cover the selector register. 258c2ecf20Sopenharmony_ci * Further registers may be appended to the region in case of future interface 268c2ecf20Sopenharmony_ci revisions / feature bits. 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciExample: 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci/ { 318c2ecf20Sopenharmony_ci #size-cells = <0x2>; 328c2ecf20Sopenharmony_ci #address-cells = <0x2>; 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci fw-cfg@9020000 { 358c2ecf20Sopenharmony_ci compatible = "qemu,fw-cfg-mmio"; 368c2ecf20Sopenharmony_ci reg = <0x0 0x9020000 0x0 0xa>; 378c2ecf20Sopenharmony_ci }; 388c2ecf20Sopenharmony_ci}; 39