From 3542c8045f807c6d6156b409399dc855c530cc2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois-Fr=C3=A9d=C3=A9ric=20Ozog?= Date: Fri, 13 Jan 2023 15:27:53 +0100 Subject: [PATCH] RFC: adding a runtime ready RPI4 dtb for tests. PleasePI4 DTBs as static file typically do not include memory stuff: those are added by videocore firmware. The DTB provided has been saved with U-Boot just before transfering control to an OS: this is the DTB that fdt-rs will have to deal with in real world. Another interest of the RPI4 DTB is that bus addresses need translations using ranges to obtain MMIO region for devices. --- tests/rpi4.dtb | Bin 0 -> 61440 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/rpi4.dtb diff --git a/tests/rpi4.dtb b/tests/rpi4.dtb new file mode 100644 index 0000000000000000000000000000000000000000..4ac840883676075aef4528393d7603f8ac6a0a51 GIT binary patch literal 61440 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 P)4-Yr)-><~pn?Anx+mP| literal 0 HcmV?d00001