# 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 vendor ramdisk to drop the
# dependency on user sysfs fw loader helper (FW_LOADER_USER_HELPER_FALLBACK)
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

# 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
