# WLAN
PRODUCT_PACKAGES :=	\
    board-2.bin		\
    firmware-5.bin	\
    wlanmdsp.mbn

# Bluetooth
PRODUCT_PACKAGES +=	\
    crbtfw21.tlv	\
    crnv21.bin

ifneq ($(TARGET_USES_SWR), true)
    # Adreno
    PRODUCT_PACKAGES +=	\
        a630_gmu.bin	\
        a630_sqe.fw	\
        a630_zap.mbn	\
        a630_zap.mdt
endif

# DSP (adsp+cdsp)
PRODUCT_PACKAGES +=	\
    adsp.mbn.sdm845	\
    adsp.mdt		\
    adspr.jsn.sdm845	\
    adspua.jsn.sdm845	\
    cdsp.mbn.sdm845	\
    cdsp.mdt		\
    cdspr.jsn.sdm845

# Modem
PRODUCT_PACKAGES +=	\
    mba.mbn		\
    modem.mbn		\
    modemuw.jsn

# Video encoder/decoder accelerator
PRODUCT_PACKAGES +=	\
    venus.b00.sdm845	\
    venus.b01.sdm845	\
    venus.b02.sdm845	\
    venus.b03.sdm845	\
    venus.b04.sdm845	\
    venus.mbn.sdm845	\
    venus.mdt.sdm845

# USB (USB Host to PCIE)
# For Ethernet and one of the USB-A host port to work
PRODUCT_PACKAGES +=	\
    K2026090.mem

# I2C/SPI fix
PRODUCT_PACKAGES +=	\
    devcfg.mbn

FIRMWARE_VENDOR_PATH := $(LINARO_VENDOR_PATH)/linux-firmware/$(EXPECTED_LINARO_VENDOR_VERSION)

# Copy Venus and ADSP/CDSP firmware files to generic ramdisk or vendor ramdisk to drop the
# dependency on user sysfs fw loader helper (FW_LOADER_USER_HELPER_FALLBACK)
ifeq ($(TARGET_SDCARD_BOOT), true)
PRODUCT_COPY_FILES += \
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/adsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sdm845/adsp.mbn		\
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/adsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sdm845/adsp.mdt		\
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/cdsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sdm845/cdsp.mbn		\
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/cdsp.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/sdm845/cdsp.mdt		\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b00:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b00	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b01:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b01	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b02:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b02	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b03:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b03	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b04:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b04	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.mbn:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mbn	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.mdt:$(TARGET_COPY_OUT_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mdt
else
PRODUCT_COPY_FILES += \
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/adsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sdm845/adsp.mbn		\
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/adsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sdm845/adsp.mdt		\
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/cdsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sdm845/cdsp.mbn		\
    $(FIRMWARE_VENDOR_PATH)/qcom/sdm845/cdsp.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/sdm845/cdsp.mdt		\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b00:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b00	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b01:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b01	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b02:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b02	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b03:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b03	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.b04:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.b04	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.mbn:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mbn	\
    $(FIRMWARE_VENDOR_PATH)/qcom/venus-5.2/venus.mdt:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/vendor/firmware/qcom/venus-5.2/venus.mdt
endif

# Copy notice/license files to rootfs
# Not an AOSP requirement but other Linux distros do this
PRODUCT_COPY_FILES += \
    $(FIRMWARE_VENDOR_PATH)/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp:$(TARGET_COPY_OUT_VENDOR)/firmware/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp	\
    $(FIRMWARE_VENDOR_PATH)/qca/NOTICE.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/qca/NOTICE.txt							\
    $(FIRMWARE_VENDOR_PATH)/qcom/NOTICE.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/qcom/NOTICE.txt							\
    $(FIRMWARE_VENDOR_PATH)/LICENSE.QualcommAtheros_ath10k:$(TARGET_COPY_OUT_VENDOR)/firmware/LICENSE.QualcommAtheros_ath10k			\
    $(FIRMWARE_VENDOR_PATH)/LICENSE.qcom:$(TARGET_COPY_OUT_VENDOR)/firmware/LICENSE.qcom								\
    $(LINARO_VENDOR_PATH)/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/RB3_firmware_20190529180356-v4/LICENSE.qcom.txt:$(TARGET_COPY_OUT_VENDOR)/firmware/LICENSE.qcom.txt
