Where QEMU generates its own devicetree to pass to U-Boot you can use
`-dtb u-boot.dtb` to force QEMU to use U-Boot's in-tree version.
-To obtain the devicetree that qemu generates, add `-machine dumpdtb=qemu.dtb`,
-e.g.::
-
- qemu-system-arm -machine virt -machine dumpdtb=qemu.dtb
-
- qemu-system-aarch64 -machine virt -machine dumpdtb=qemu.dtb
-
- qemu-system-riscv64 -machine virt -machine dumpdtb=qemu.dtb
-
+To obtain the devicetree that QEMU generates, add `dumpdtb=qemu.dtb` to the
+`-machine` argument, e.g.
+
+.. code-block:: bash
+
+ qemu-system-aarch64 \
+ -machine virt,gic-version=3,dumpdtb=qemu.dtb \
+ -cpu cortex-a57 \
+ -smp 4 \
+ -memory 8G \
+ -chardev socket,id=chrtpm,path=/tmp/mytpm1/swtpm-sock \
+ -tpmdev emulator,id=tpm0,chardev=chrtpm \
+ -device tpm-tis-device,tpmdev=tpm0
+
+Except for the dumpdtb=qemu.dtb sub-parameter use the same qemu-system-<arch>
+invocation that you would use to start U-Boot to to get a complete device-tree.
Merging in U-Boot nodes/properties
----------------------------------