summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmit Pundir <amit.pundir@linaro.org>2022-01-10 15:31:22 +0530
committerJohn Stultz <john.stultz@linaro.org>2022-01-28 20:02:43 +0000
commitdf45a8833f0b427ad7a332166412fb2bae0208ed (patch)
treef166f9fa73f91dc418cac83f3e4b0ff4538eaa14
parentd6997a20eaaf7e8d8f6690de536ed3dd6ff55632 (diff)
rb5: Copy fw files to ramdisk.img for boot img header v2
Our assumption that we will always be booting RB5 with boot image header v3 images is wrong. So making sure that, we copy the firmware files, which can't be loaded directly from vendor.img, to ramdisk.img as well. This will make sure that Venus, ADSP and CDSP firmware files load successfully in case we are booting with boot image header v2. Signed-off-by: Amit Pundir <amit.pundir@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org>
-rw-r--r--src/rb5/device.mk54
1 files changed, 37 insertions, 17 deletions
diff --git a/src/rb5/device.mk b/src/rb5/device.mk
index fd91a0b..362f28f 100644
--- a/src/rb5/device.mk
+++ b/src/rb5/device.mk
@@ -48,23 +48,43 @@ FIRMWARE_VENDOR_PATH := $(LINARO_VENDOR_PATH)/linux-firmware/$(EXPECTED_LINARO_V
# Also copy a set of Venus and ADSP/CDSP firmware files to ramdisk to drop the
# dependency on user sysfs fw loader helper (FW_LOADER_USER_HELPER_FALLBACK)
-PRODUCT_COPY_FILES += \
- $(FIRMWARE_VENDOR_PATH)/qcom/sm8250/adsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sm8250/adsp.mbn \
- $(FIRMWARE_VENDOR_PATH)/qcom/sm8250/cdsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sm8250/cdsp.mbn \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b00:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b00 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b01:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b01 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b02:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b02 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b03:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b03 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b04:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b04 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b05:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b05 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b06:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b06 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b07:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b07 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b08:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b08 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b09:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b09 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b10:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b10 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b19:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b19 \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mbn \
- $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.mdt:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mdt
+ifeq ($(TARGET_USES_BOOT_HDR_V3), true)
+ PRODUCT_COPY_FILES += \
+ $(FIRMWARE_VENDOR_PATH)/qcom/sm8250/adsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sm8250/adsp.mbn \
+ $(FIRMWARE_VENDOR_PATH)/qcom/sm8250/cdsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sm8250/cdsp.mbn \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b00:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b00 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b01:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b01 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b02:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b02 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b03:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b03 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b04:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b04 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b05:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b05 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b06:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b06 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b07:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b07 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b08:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b08 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b09:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b09 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b10:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b10 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b19:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b19 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mbn \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.mdt:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mdt
+else
+ PRODUCT_COPY_FILES += \
+ $(FIRMWARE_VENDOR_PATH)/qcom/sm8250/adsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sm8250/adsp.mbn \
+ $(FIRMWARE_VENDOR_PATH)/qcom/sm8250/cdsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sm8250/cdsp.mbn \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b00:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b00 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b01:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b01 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b02:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b02 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b03:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b03 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b04:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b04 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b05:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b05 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b06:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b06 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b07:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b07 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b08:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b08 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b09:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b09 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b10:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b10 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.b19:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.b19 \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mbn \
+ $(FIRMWARE_VENDOR_PATH)/qcom/vpu-1.0/venus.mdt:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/vpu-1.0/venus.mdt
+endif
# Copy notice/license files to rootfs
# Not an AOSP requirement but other Linux distros do this