From f76fab3fff96ab876772413ed29deda61dedb0d9 Mon Sep 17 00:00:00 2001 From: Berkus Decker Date: Sat, 22 Jan 2022 02:37:03 +0200 Subject: [PATCH] =?UTF-8?q?chore:=20=E2=99=BB=EF=B8=8F=20Use=20different?= =?UTF-8?q?=20DTB=20files=20for=20rpi3=20and=20rpi4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile.toml | 3 +++ nucleus/Makefile.toml | 6 +++--- targets/bcm2711-rpi-4-b.dtb | Bin 0 -> 49090 bytes targets/bcm2711-rpi-400.dtb | Bin 0 -> 48794 bytes 4 files changed, 6 insertions(+), 3 deletions(-) create mode 100755 targets/bcm2711-rpi-4-b.dtb create mode 100755 targets/bcm2711-rpi-400.dtb diff --git a/Makefile.toml b/Makefile.toml index 7386667..e31dd08 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -19,6 +19,8 @@ TARGET = { value = "${DEFAULT_TARGET}", condition = { env_not_set = ["TARGET"] } # Name of the target board "rpi3" or "rpi4" TARGET_BOARD = { value = "rpi4", condition = { env_not_set = ["TARGET_BOARD"] } } +# Name of the DTB file for target board configuration, use bcm2710-rpi-3-b-plus.dtb for RasPi3B+ +TARGET_DTB = { value = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2711-rpi-4-b.dtb", condition = { env_not_set = ["TARGET_DTB"] } } # AArch64 QEMU binary QEMU = { value = "qemu-system-aarch64", condition = { env_not_set = ["QEMU"] } } @@ -163,6 +165,7 @@ script = [ appendfile ${ZELLIJ_CONFIG_FILE} "QEMU_OPTS=\"${QEMU_OPTS}\"\n" appendfile ${ZELLIJ_CONFIG_FILE} "QEMU_RUNNER_OPTS=${QEMU_RUNNER_OPTS}\n" appendfile ${ZELLIJ_CONFIG_FILE} "CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY=${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}\n" + appendfile ${ZELLIJ_CONFIG_FILE} "TARGET_DTB=${TARGET_DTB}\n" appendfile ${ZELLIJ_CONFIG_FILE} "KERNEL_BIN=${KERNEL_BIN}\n" ''' ] diff --git a/nucleus/Makefile.toml b/nucleus/Makefile.toml index b564a60..c7d8fe6 100644 --- a/nucleus/Makefile.toml +++ b/nucleus/Makefile.toml @@ -11,16 +11,16 @@ run_task = "custom-binary" dependencies = ["build-qemu", "kernel-binary"] env = { "TARGET_FEATURES" = "${QEMU_FEATURES}" } script = [ - "${QEMU} ${QEMU_OPTS} ${QEMU_RUNNER_OPTS} -dtb ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb -kernel ${KERNEL_BIN}" + "${QEMU} ${QEMU_OPTS} ${QEMU_RUNNER_OPTS} -dtb ${TARGET_DTB} -kernel ${KERNEL_BIN}" ] [tasks.qemu] extend = "qemu-runner" -env = { "QEMU_RUNNER_OPTS" = "${QEMU_SERIAL_OPTS}" } +env = { "QEMU_RUNNER_OPTS" = "${QEMU_SERIAL_OPTS}", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } [tasks.qemu-gdb] extend = "qemu-runner" -env = { "QEMU_RUNNER_OPTS" = "${QEMU_SERIAL_OPTS} ${QEMU_GDB_OPTS}" } +env = { "QEMU_RUNNER_OPTS" = "${QEMU_SERIAL_OPTS} ${QEMU_GDB_OPTS}", "TARGET_DTB" = "${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb" } [tasks.zellij-nucleus] env = { "KERNEL_BIN" = "${KERNEL_BIN}" } diff --git a/targets/bcm2711-rpi-4-b.dtb b/targets/bcm2711-rpi-4-b.dtb new file mode 100755 index 0000000000000000000000000000000000000000..772001f1dc133974cc17c5ff8688548c07593103 GIT binary patch literal 49090 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 literal 0 HcmV?d00001 diff --git a/targets/bcm2711-rpi-400.dtb b/targets/bcm2711-rpi-400.dtb new file mode 100755 index 0000000000000000000000000000000000000000..d3e570a65750ca5436a14c28bee2b617a0fdc173 GIT binary patch literal 48794 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 A0RR91 literal 0 HcmV?d00001