2663 lines
60 KiB
Makefile
2663 lines
60 KiB
Makefile
|
||
add_if_exists = $(foreach d,$(1),$(if $(wildcard $(srctree)/$(d)),$(d) ,))
|
||
|
||
# -------------------------------------------
|
||
# Macro Default Value
|
||
# -------------------------------------------
|
||
# 1 for IBRT, 0 for stereo
|
||
export IBRT ?= 0
|
||
|
||
# 1 to enable BLE, 0 to disable BLE
|
||
export BLE ?= 0
|
||
|
||
# 1 to enable BLE security feature, 0 to disable it
|
||
export BLE_SECURITY_ENABLED ?= 0
|
||
|
||
export CTKD_ENABLE ?= 0
|
||
|
||
export TILE_DATAPATH_ENABLED ?= 0
|
||
|
||
export OTA_ENABLE ?= 0
|
||
|
||
export OTA_CODE_OFFSET ?= 0
|
||
export OTA_UPGRADE_LOG_SIZE ?= 0
|
||
export OTA_SUPPORT_SLAVE_BIN ?= 0
|
||
export OTA_BOOT_SIZE ?= 0
|
||
|
||
# is current system a tws system
|
||
# currently in our SDK, system include relay tws and IBRT
|
||
# of if relay tws or IBRT is enabled, this macro must set to 1
|
||
export TWS_SYSTEM_ENABLED ?= 0
|
||
|
||
# ai voice related configuration
|
||
export VOICE_DATAPATH_ENABLED ?= 0
|
||
|
||
# Google related feature
|
||
export GOOGLE_SERVICE_ENABLE ?= 0
|
||
export BISTO_ENABLE ?= 0
|
||
export GSOUND_HOTWORD_ENABLE ?= 0
|
||
export GSOUND_HOTWORD_EXTERNAL ?= 0
|
||
export GFPS_ENABLE ?= 0
|
||
|
||
# Amazon related feature
|
||
export AMA_VOICE ?= 0
|
||
|
||
# HUAWEI related feature
|
||
export INTERCONNECTION ?= 0
|
||
|
||
# ALI related feature
|
||
export GMA_VOICE ?= 0
|
||
|
||
# TENCENT related feature
|
||
export TENCENT_VOICE ?= 0
|
||
|
||
# BAIDU related feature
|
||
export DMA_VOICE ?= 0
|
||
|
||
# BES AI feature
|
||
export SMART_VOICE ?= 0
|
||
|
||
# other AI feature
|
||
export CUSTOMIZE_VOICE ?= 0
|
||
|
||
# mean to manage all AI features
|
||
export AI_VOICE ?= 0
|
||
|
||
# Dual mic recording feature
|
||
export DUAL_MIC_RECORDING ?= 0
|
||
export LOWER_BANDWIDTH ?= 0
|
||
|
||
# 1 to support mutiple AI, 0 to disable this feature
|
||
IS_MULTI_AI_ENABLE ?= 0
|
||
|
||
# NOTE: This size is 0 by default, used to save the hotword model file
|
||
HOTWORD_SECTION_SIZE ?= 0x0
|
||
|
||
# NOTE: This size cannot be changed so that audio section address is fixed.
|
||
# This rule can be removed once audio tool can set audio section address dynamically.
|
||
FACTORY_SECTION_SIZE ?= 0x1000
|
||
|
||
# NOTE: This size cannot be changed so that audio section address is fixed.
|
||
# This rule can be removed once audio tool can set audio section address dynamically.
|
||
RESERVED_SECTION_SIZE ?= 0x1000
|
||
|
||
# 1 to enable the VAD feature, 0 to disable the VAD feature
|
||
export VOICE_DETECTOR_EN ?= 0
|
||
|
||
# 1 to use 8K sample rate for VAD, 0 to use 16K sample rate for VAD
|
||
VAD_USE_8K_SAMPLE_RATE ?= 0
|
||
|
||
# -------------------------------------------
|
||
# Root Option Dependencies
|
||
# -------------------------------------------
|
||
# NOTE: the value of AMA_VOICE,DMA_VOICE, SMART_VOICE, TENCENT_VOICE, GMA_VOICE, CUSTOMIZE_VOICE must be confirmed above
|
||
ifneq ($(filter 1,$(AMA_VOICE) $(DMA_VOICE) $(SMART_VOICE) $(TENCENT_VOICE) $(GMA_VOICE) $(CUSTOMIZE_VOICE) $(DUAL_MIC_RECORDING)),)
|
||
export AI_VOICE := 1
|
||
endif
|
||
|
||
ifeq ($(BT_ANC),1)
|
||
export ANC_APP ?= 1
|
||
endif
|
||
|
||
export ANC_ASSIST_ENABLED ?= 0
|
||
|
||
ifeq ($(GOOGLE_SERVICE_ENABLE), 1)
|
||
export BISTO_ENABLE := 1
|
||
export GFPS_ENABLE := 1
|
||
KBUILD_CPPFLAGS += -DOS_DYNAMIC_MEM_SIZE=0x6800
|
||
endif
|
||
|
||
ifeq ($(BISTO_ENABLE),1)
|
||
OTA_ENABLE := 1
|
||
export VOICE_DATAPATH_ENABLED := 1
|
||
export CRASH_REBOOT ?= 1
|
||
|
||
export BLE_SECURITY_ENABLED := 1
|
||
|
||
ifeq ($(CHIP),best1400)
|
||
export DUMP_CRASH_LOG ?= 0
|
||
else
|
||
export DUMP_CRASH_LOG ?= 0
|
||
endif
|
||
|
||
export VOICE_DATAPATH_TYPE ?= gsound
|
||
#export TRACE_DUMP2FLASH ?= 1
|
||
export FLASH_SUSPEND := 1
|
||
export BLE_ONLY_ENABLED ?= 0
|
||
|
||
ifeq ($(GSOUND_HOTWORD_ENABLE),1)
|
||
# used to store hotword model, currently 240KB
|
||
# this value is used in link file
|
||
HOTWORD_SECTION_SIZE ?= 0x3C000
|
||
endif
|
||
endif # ifeq ($(BISTO_ENABLE),1)
|
||
|
||
ifeq ($(MIX_AUDIO_PROMPT_WITH_A2DP_MEDIA_ENABLED),1)
|
||
AUDIO_OUTPUT_SW_GAIN ?= 1
|
||
endif # ifeq ($(MIX_AUDIO_PROMPT_WITH_A2DP_MEDIA_ENABLED),1)
|
||
|
||
# NOTE: variable value in BLE_SWITCH must already confirmed above here
|
||
BLE_SWITCH := \
|
||
$(BISTO_ENABLE) \
|
||
$(GFPS_ENABLE) \
|
||
$(AMA_VOICE) \
|
||
$(DMA_VOICE) \
|
||
$(GMA_VOICE) \
|
||
$(SMART_VOICE) \
|
||
$(TENCENT_VOICE) \
|
||
$(CUSTOMIZE_VOICE) \
|
||
$(TILE_DATAPATH_ENABLED) \
|
||
$(BLE_ONLY_ENABLED)
|
||
|
||
ifneq ($(filter 1, $(BLE_SWITCH)),)
|
||
export BLE := 1
|
||
endif
|
||
|
||
# NOTE: value of AI_VOICE and BISTO_ENABLE must already confirmed above here
|
||
ifeq ($(filter 0,$(AI_VOICE) $(BISTO_ENABLE)),)
|
||
IS_MULTI_AI_ENABLE := 1
|
||
endif
|
||
|
||
ifeq ($(VOICE_PROMPT),1)
|
||
KBUILD_CPPFLAGS += -DMEDIA_PLAYER_SUPPORT
|
||
endif
|
||
|
||
ifeq ($(INTERCONNECTION),1)
|
||
OTA_ENABLE := 1
|
||
endif
|
||
|
||
ifeq ($(GMA_VOICE),1)
|
||
OTA_ENABLE := 1
|
||
endif
|
||
|
||
ifeq ($(IBRT),1)
|
||
TWS_SYSTEM_ENABLED := 1
|
||
endif
|
||
|
||
MIX_MIC_DURING_MUSIC_ENABLED ?= 0
|
||
|
||
# make sure the value of GFPS_ENABLE and GMA_VOICE is confirmed above here
|
||
ifneq ($(filter 1,$(GFPS_ENABLE) $(GMA_VOICE) $(TOTA)),)
|
||
core-y += utils/encrypt/
|
||
endif
|
||
|
||
ifneq ($(filter 1,$(TOTA)),)
|
||
core-y += utils/sha256/
|
||
endif
|
||
|
||
ifneq ($(filter apps/ tests/speech_test/ tests/ota_boot/, $(core-y)),)
|
||
export BT_APP ?= 1
|
||
FULL_APP_PROJECT ?= 1
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# OTA features
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(OTA_ENABLE),1)
|
||
|
||
ifeq ($(FPGA),1)
|
||
OTA_CODE_OFFSET := 0
|
||
else
|
||
OTA_CODE_OFFSET := 0x18000
|
||
endif
|
||
|
||
OTA_UPGRADE_LOG_SIZE := 0x1000
|
||
OTA_SUPPORT_SLAVE_BIN := 0
|
||
|
||
KBUILD_CPPFLAGS += -DOTA_ENABLED
|
||
KBUILD_CPPFLAGS += -DBES_OTA_BASIC
|
||
|
||
KBUILD_CPPFLAGS += -D__APP_IMAGE_FLASH_OFFSET__=$(OTA_CODE_OFFSET)
|
||
KBUILD_CPPFLAGS += -DNEW_IMAGE_FLASH_OFFSET=0x200000
|
||
KBUILD_CPPFLAGS += -DFIRMWARE_REV
|
||
|
||
ifeq ($(IBRT), 1)
|
||
export FORCE_SCO_MAX_RETX := 0
|
||
KBUILD_CPPFLAGS += -DIBRT_OTA
|
||
endif
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# CHIP selection
|
||
# -------------------------------------------
|
||
|
||
export CHIP
|
||
|
||
ifneq (,)
|
||
else ifeq ($(CHIP),best1000)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST1000
|
||
CPU := m4
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 0
|
||
export CHIP_HAS_SDMMC := 1
|
||
export CHIP_HAS_SDIO := 1
|
||
export CHIP_HAS_PSRAM := 1
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 1
|
||
export CHIP_HAS_SPIPHY := 0
|
||
export CHIP_HAS_I2C := 1
|
||
export CHIP_HAS_UART := 2
|
||
export CHIP_HAS_DMA := 2
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_EXT_PMU := 0
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 1
|
||
export CHIP_FLASH_CTRL_VER := 1
|
||
export CHIP_PSRAM_CTRL_VER := 1
|
||
export CHIP_SPI_VER := 1
|
||
export CHIP_HAS_EC_CODEC_REF := 0
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 0
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),best1400)
|
||
ifeq ($(CHIP_SUBTYPE),best1402)
|
||
SUBTYPE_VALID := 1
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST1402
|
||
export CHIP_FLASH_CTRL_VER := 3
|
||
else
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST1400
|
||
export CHIP_FLASH_CTRL_VER := 2
|
||
endif
|
||
CPU := m4
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 0
|
||
export CHIP_HAS_SDMMC := 0
|
||
export CHIP_HAS_SDIO := 0
|
||
export CHIP_HAS_PSRAM := 0
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 0
|
||
export CHIP_HAS_SPIPHY := 0
|
||
export CHIP_HAS_I2C := 1
|
||
export CHIP_HAS_UART := 3
|
||
export CHIP_HAS_DMA := 1
|
||
export CHIP_HAS_SPDIF := 0
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_EXT_PMU := 0
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_SPI_VER := 3
|
||
export BTDUMP_ENABLE := 1
|
||
export CHIP_HAS_EC_CODEC_REF := 1
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 1
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),best2000)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST2000
|
||
CPU := m4
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 1
|
||
export CHIP_HAS_SDMMC := 1
|
||
export CHIP_HAS_SDIO := 1
|
||
export CHIP_HAS_PSRAM := 1
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 1
|
||
export CHIP_HAS_SPIPHY := 1
|
||
export CHIP_HAS_I2C := 1
|
||
export CHIP_HAS_UART := 3
|
||
export CHIP_HAS_DMA := 2
|
||
export CHIP_HAS_SPDIF := 2
|
||
export CHIP_HAS_TRANSQ := 1
|
||
export CHIP_HAS_PSC := 1
|
||
export CHIP_HAS_EXT_PMU := 0
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_FLASH_CTRL_VER := 1
|
||
export CHIP_PSRAM_CTRL_VER := 1
|
||
export CHIP_SPI_VER := 1
|
||
export CHIP_HAS_EC_CODEC_REF := 0
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 0
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),best2001)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST2001
|
||
ifeq ($(CHIP_SUBSYS),dsp)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST2001_DSP
|
||
CPU := a7
|
||
DSP_ENABLE ?= 1
|
||
else
|
||
CPU := m33
|
||
export CHIP_HAS_CP := 1
|
||
endif
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 1
|
||
export CHIP_HAS_SDMMC := 1
|
||
export CHIP_HAS_SDIO := 0
|
||
export CHIP_HAS_PSRAM := 1
|
||
export CHIP_HAS_PSRAMUHS := 1
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 1
|
||
export CHIP_HAS_SPIPHY := 1
|
||
export CHIP_HAS_SPIDPD := 1
|
||
export CHIP_HAS_I2C := 2
|
||
export CHIP_HAS_UART := 3
|
||
ifeq ($(DSP_ENABLE), 1)
|
||
export DSP_USE_AUDMA ?= 1
|
||
ifeq ($(LARGE_RAM), 1)
|
||
$(error LARGE_RAM conflicts with DSP_ENABLE)
|
||
endif
|
||
endif
|
||
ifeq ($(DSP_USE_AUDMA), 1)
|
||
export CHIP_HAS_DMA := 1
|
||
KBUILD_CPPFLAGS += -DDSP_USE_AUDMA
|
||
else
|
||
ifeq ($(CHIP_SUBSYS),dsp)
|
||
export CHIP_HAS_DMA := 0
|
||
else
|
||
export CHIP_HAS_DMA := 2
|
||
endif
|
||
endif
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 2
|
||
export CHIP_HAS_TRNG := 1
|
||
export CHIP_HAS_EXT_PMU := 0
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_FLASH_CTRL_VER := 3
|
||
export CHIP_PSRAM_CTRL_VER := 2
|
||
export CHIP_SPI_VER := 4
|
||
export CHIP_CACHE_VER := 2
|
||
export CHIP_HAS_EC_CODEC_REF := 1
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 1
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
export FLASH_SIZE ?= 0x1000000
|
||
export OSC_26M_X4_AUD2BB := 0
|
||
export USB_USE_USBPLL := 1
|
||
export A7_DSP_SPEED ?= 1100
|
||
#780:780M, 1000:1G, 1100:1.1G
|
||
else ifeq ($(CHIP),best2300)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST2300
|
||
CPU := m4
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 1
|
||
export CHIP_HAS_SDMMC := 1
|
||
export CHIP_HAS_SDIO := 0
|
||
export CHIP_HAS_PSRAM := 0
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 1
|
||
export CHIP_HAS_SPIPHY := 1
|
||
export CHIP_HAS_I2C := 2
|
||
export CHIP_HAS_UART := 3
|
||
export CHIP_HAS_DMA := 2
|
||
export CHIP_HAS_I2S := 1
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_PSC := 1
|
||
export CHIP_HAS_EXT_PMU := 1
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_FLASH_CTRL_VER := 2
|
||
export CHIP_SPI_VER := 2
|
||
export CHIP_HAS_EC_CODEC_REF := 0
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 0
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),best2300a)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST2300A
|
||
CPU := m33
|
||
LIBC_ROM := 0
|
||
CRC32_ROM := 0
|
||
SHA256_ROM := 0
|
||
export LIBC_OVERRIDE ?= 1
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 1
|
||
export CHIP_HAS_SDMMC := 1
|
||
export CHIP_HAS_SDIO := 0
|
||
export CHIP_HAS_PSRAM := 0
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 1
|
||
export CHIP_HAS_SPIPHY := 1
|
||
export CHIP_HAS_I2C := 3
|
||
export CHIP_HAS_UART := 3
|
||
export CHIP_HAS_DMA := 2
|
||
export CHIP_HAS_I2S := 2
|
||
export CHIP_HAS_TDM := 2
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_PSC := 1
|
||
export CHIP_HAS_EXT_PMU := 1
|
||
export CHIP_HAS_CP := 1
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_FLASH_CTRL_VER := 3
|
||
export CHIP_SPI_VER := 4
|
||
export CHIP_CACHE_VER := 2
|
||
export CHIP_RAM_BOOT := 1
|
||
export CHIP_HAS_EC_CODEC_REF := 1
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 1
|
||
export CHIP_HAS_HW_SMOOTHING_GAIN := 1
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),best2300p)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST2300P
|
||
CPU := m4
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 1
|
||
export CHIP_HAS_SDMMC := 1
|
||
export CHIP_HAS_SDIO := 0
|
||
export CHIP_HAS_PSRAM := 0
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 1
|
||
export CHIP_HAS_SPIPHY := 1
|
||
export CHIP_HAS_I2C := 2
|
||
export CHIP_HAS_UART := 3
|
||
export CHIP_HAS_DMA := 2
|
||
export CHIP_HAS_I2S := 2
|
||
export CHIP_HAS_TDM := 2
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_PSC := 1
|
||
export CHIP_HAS_EXT_PMU := 1
|
||
export CHIP_HAS_CP := 1
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_FLASH_CTRL_VER := 2
|
||
export CHIP_SPI_VER := 3
|
||
export CHIP_CACHE_VER := 2
|
||
export CHIP_HAS_EC_CODEC_REF := 1
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 1
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),best3001)
|
||
ifeq ($(CHIP_SUBTYPE),best3005)
|
||
SUBTYPE_VALID := 1
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST3005
|
||
export CHIP_CACHE_VER := 2
|
||
export CHIP_FLASH_CTRL_VER := 2
|
||
else
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST3001
|
||
export CHIP_FLASH_CTRL_VER := 1
|
||
endif
|
||
CPU := m4
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 1
|
||
export CHIP_HAS_SDMMC := 0
|
||
export CHIP_HAS_SDIO := 0
|
||
export CHIP_HAS_PSRAM := 0
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 0
|
||
export CHIP_HAS_SPIPHY := 0
|
||
export CHIP_HAS_I2C := 1
|
||
export CHIP_HAS_UART := 2
|
||
export CHIP_HAS_DMA := 1
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_EXT_PMU := 0
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_SPI_VER := 3
|
||
export CHIP_HAS_EC_CODEC_REF := 0
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 0
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),best3003)
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST3003
|
||
CPU := m33
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 1
|
||
export CHIP_HAS_SDMMC := 0
|
||
export CHIP_HAS_SDIO := 0
|
||
export CHIP_HAS_PSRAM := 0
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 0
|
||
export CHIP_HAS_SPIPHY := 0
|
||
export CHIP_HAS_I2C := 1
|
||
export CHIP_HAS_UART := 2
|
||
export CHIP_HAS_DMA := 2
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_EXT_PMU := 0
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 0
|
||
export CHIP_CACHE_VER := 2
|
||
export CHIP_FLASH_CTRL_VER := 2
|
||
export CHIP_SPI_VER := 4
|
||
export CHIP_HAS_DCO ?= 1
|
||
export NO_LPU_26M ?= 1
|
||
else ifeq ($(CHIP),fpga1000)
|
||
KBUILD_CPPFLAGS += -DCHIP_FPGA1000
|
||
KBUILD_CPPFLAGS += -DCHIP_BEST1000
|
||
CPU := m4
|
||
export CHIP_HAS_FPU := 1
|
||
export CHIP_HAS_USB := 1
|
||
export CHIP_HAS_USBPHY := 0
|
||
export CHIP_HAS_SDMMC := 1
|
||
export CHIP_HAS_SDIO := 1
|
||
export CHIP_HAS_PSRAM := 1
|
||
export CHIP_HAS_SPI := 1
|
||
export CHIP_HAS_SPILCD := 1
|
||
export CHIP_HAS_SPIPHY := 0
|
||
export CHIP_HAS_I2C := 1
|
||
export CHIP_HAS_UART := 2
|
||
export CHIP_HAS_DMA := 2
|
||
export CHIP_INTERSYS_VER := 2
|
||
export CHIP_HAS_SPDIF := 1
|
||
export CHIP_HAS_TRANSQ := 0
|
||
export CHIP_HAS_EXT_PMU := 0
|
||
export CHIP_HAS_AUDIO_CONST_ROM := 1
|
||
export CHIP_FLASH_CTRL_VER := 1
|
||
export CHIP_PSRAM_CTRL_VER := 1
|
||
export CHIP_SPI_VER := 1
|
||
export CHIP_HAS_EC_CODEC_REF := 0
|
||
export CHIP_HAS_SCO_DMA_SNAPSHOT := 0
|
||
export CHIP_ROM_UTILS_VER := 1
|
||
export NO_LPU_26M ?= 1
|
||
else
|
||
$(error Invalid CHIP: $(CHIP))
|
||
endif
|
||
|
||
ifneq ($(CHIP_SUBTYPE),)
|
||
ifneq ($(SUBTYPE_VALID),1)
|
||
$(error Invalid CHIP_SUBTYPE=$(CHIP_SUBTYPE) for CHIP=$(CHIP))
|
||
endif
|
||
export CHIP_SUBTYPE
|
||
endif
|
||
|
||
ifeq ($(CPU),)
|
||
CPU := m33
|
||
endif
|
||
export CPU
|
||
|
||
ifneq ($(filter a%,$(CPU)),)
|
||
# Override lds file
|
||
LDS_FILE := armca.lds
|
||
|
||
ifeq ($(GEN_BOOT_SECTION),1)
|
||
CPPFLAGS_${LDS_FILE} += -DGEN_BOOT_SECTION
|
||
endif
|
||
|
||
ifeq ($(EXEC_IN_RAM),1)
|
||
CPPFLAGS_${LDS_FILE} += -DEXEC_IN_RAM
|
||
else ifeq ($(EXEC_IN_PSRAM),1)
|
||
CPPFLAGS_${LDS_FILE} += -DEXEC_IN_PSRAM
|
||
endif
|
||
endif
|
||
|
||
export FLASH_SIZE ?= 0x100000
|
||
ifeq ($(CHIP_HAS_PSRAM),1)
|
||
export PSRAM_SIZE ?= 0x400000
|
||
export PSRAM_ENABLE ?= 0
|
||
export PSRAM_SPEED ?= 200
|
||
#166:166M, 200:200M
|
||
endif
|
||
ifeq ($(CHIP_HAS_PSRAMUHS),1)
|
||
export PSRAMUHS_ENABLE ?= 0
|
||
export PSRAMUHS_SPEED ?= 1000
|
||
#400:400M, 600:600M, 800:800M, 900:900M, 1000:1G
|
||
ifeq ($(PSRAMUHS_DUAL_8BIT), 1)
|
||
export PSRAMUHS_SIZE ?= 0x1000000
|
||
ifeq ($(PSRAMUHS_DUAL_SWITCH), 1)
|
||
$(error PSRAMUHS_DUAL_8BIT conflicts with PSRAMUHS_DUAL_SWITCH)
|
||
endif
|
||
endif
|
||
export PSRAMUHS_SIZE ?= 0x800000
|
||
endif
|
||
|
||
KBUILD_CPPFLAGS += -DCHIP_HAS_UART=$(CHIP_HAS_UART)
|
||
KBUILD_CPPFLAGS += -DCHIP_HAS_I2C=$(CHIP_HAS_I2C)
|
||
|
||
ifeq ($(CHIP_HAS_USB),1)
|
||
KBUILD_CPPFLAGS += -DCHIP_HAS_USB
|
||
endif
|
||
|
||
ifneq ($(CHIP_HAS_TRANSQ),0)
|
||
KBUILD_CPPFLAGS += -DCHIP_HAS_TRANSQ=$(CHIP_HAS_TRANSQ)
|
||
endif
|
||
|
||
ifeq ($(CHIP_HAS_CP),1)
|
||
KBUILD_CPPFLAGS += -DCHIP_HAS_CP
|
||
endif
|
||
|
||
ifeq ($(CHIP_HAS_AUDIO_CONST_ROM),1)
|
||
KBUILD_CPPFLAGS += -DCHIP_HAS_AUDIO_CONST_ROM
|
||
endif
|
||
|
||
ifeq ($(CHIP_HAS_HW_SMOOTHING_GAIN),1)
|
||
KBUILD_CPPFLAGS += -DHW_SUPPORT_SMOOOTHING_GAIN
|
||
endif
|
||
|
||
ifeq ($(MCU_SLEEP_POWER_DOWN),1)
|
||
KBUILD_CPPFLAGS += -DMCU_SLEEP_POWER_DOWN
|
||
endif
|
||
|
||
ifeq ($(USB_AUDIO_APP),1)
|
||
ifneq ($(BTUSB_AUDIO_MODE),1)
|
||
NO_OVERLAY ?= 1
|
||
endif
|
||
endif
|
||
export NO_OVERLAY
|
||
ifeq ($(NO_OVERLAY),1)
|
||
KBUILD_CPPFLAGS += -DNO_OVERLAY
|
||
endif
|
||
|
||
ifneq ($(ROM_SIZE),)
|
||
KBUILD_CPPFLAGS += -DROM_SIZE=$(ROM_SIZE)
|
||
endif
|
||
|
||
ifneq ($(RAM_SIZE),)
|
||
KBUILD_CPPFLAGS += -DRAM_SIZE=$(RAM_SIZE)
|
||
endif
|
||
|
||
ifeq ($(AUDIO_SECTION_ENABLE),1)
|
||
KBUILD_CPPFLAGS += -DAUDIO_SECTION_ENABLE
|
||
# depend on length of (ANC + AUDIO + SPEECH) in aud_section.c
|
||
AUD_SECTION_SIZE ?= 0x8000
|
||
ifeq ($(ANC_APP),1)
|
||
$(error Can not enable AUDIO_SECTION_ENABLE and ANC_APP together)
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(ANC_APP),1)
|
||
ifeq ($(CHIP),best1000)
|
||
AUD_SECTION_SIZE ?= 0x8000
|
||
else
|
||
AUD_SECTION_SIZE ?= 0x10000
|
||
endif
|
||
ifeq ($(ANC_FB_CHECK),1)
|
||
KBUILD_CPPFLAGS += -DANC_FB_CHECK
|
||
endif
|
||
else
|
||
AUD_SECTION_SIZE ?= 0
|
||
endif
|
||
|
||
ifeq ($(TWS),1)
|
||
LARGE_RAM ?= 1
|
||
endif
|
||
|
||
USERDATA_SECTION_SIZE ?= 0x1000
|
||
|
||
FACTORY_SECTION_SIZE ?= 0x1000
|
||
|
||
LHDC_LICENSE_SECTION_SIZE ?= 0x1000
|
||
|
||
export DUMP_NORMAL_LOG ?= 0
|
||
ifeq ($(DUMP_NORMAL_LOG),1)
|
||
ifeq ($(FLASH_SIZE),0x40000) # 2M bits
|
||
LOG_DUMP_SECTION_SIZE ?= 0x4000
|
||
endif
|
||
ifeq ($(FLASH_SIZE),0x80000) # 4M bits
|
||
LOG_DUMP_SECTION_SIZE ?= 0x8000
|
||
endif
|
||
ifeq ($(FLASH_SIZE),0x100000) # 8M bits
|
||
LOG_DUMP_SECTION_SIZE ?= 0x10000
|
||
endif
|
||
ifeq ($(FLASH_SIZE),0x200000) # 16M bits
|
||
LOG_DUMP_SECTION_SIZE ?= 0x80000
|
||
endif
|
||
ifeq ($(FLASH_SIZE),0x400000) # 32M bits
|
||
LOG_DUMP_SECTION_SIZE ?= 0x200000
|
||
endif
|
||
ifeq ($(FLASH_SIZE),0x800000) # 64M bits
|
||
LOG_DUMP_SECTION_SIZE ?= 0x400000
|
||
endif
|
||
KBUILD_CPPFLAGS += -DDUMP_LOG_ENABLE
|
||
else
|
||
LOG_DUMP_SECTION_SIZE ?= 0
|
||
endif
|
||
|
||
APP_USE_LED_INDICATE_IBRT_STATUS ?= 0
|
||
ifeq ($(APP_USE_LED_INDICATE_IBRT_STATUS),1)
|
||
KBUILD_CPPFLAGS += -D__APP_USE_LED_INDICATE_IBRT_STATUS__
|
||
endif
|
||
|
||
ifeq ($(DUMP_CRASH_LOG),1)
|
||
CRASH_DUMP_SECTION_SIZE ?= 0x4000
|
||
KBUILD_CPPFLAGS += -DDUMP_CRASH_ENABLE
|
||
else
|
||
CRASH_DUMP_SECTION_SIZE ?= 0
|
||
endif
|
||
|
||
export CORE_DUMP_TO_FLASH ?= 0
|
||
ifeq ($(CORE_DUMP_TO_FLASH),1)
|
||
CORE_DUMP_SECTION_SIZE ?= 0x100000
|
||
KBUILD_CPPFLAGS += -DCORE_DUMP_TO_FLASH
|
||
else
|
||
CORE_DUMP_SECTION_SIZE ?= 0
|
||
endif
|
||
|
||
CUSTOM_PARAMETER_SECTION_SIZE ?= 0x1000
|
||
|
||
export LDS_SECTION_FLAGS := \
|
||
-DHOTWORD_SECTION_SIZE=$(HOTWORD_SECTION_SIZE) \
|
||
-DCORE_DUMP_SECTION_SIZE=$(CORE_DUMP_SECTION_SIZE) \
|
||
-DOTA_UPGRADE_LOG_SIZE=$(OTA_UPGRADE_LOG_SIZE) \
|
||
-DLOG_DUMP_SECTION_SIZE=$(LOG_DUMP_SECTION_SIZE) \
|
||
-DCRASH_DUMP_SECTION_SIZE=$(CRASH_DUMP_SECTION_SIZE) \
|
||
-DCUSTOM_PARAMETER_SECTION_SIZE=$(CUSTOM_PARAMETER_SECTION_SIZE) \
|
||
-DLHDC_LICENSE_SECTION_SIZE=$(LHDC_LICENSE_SECTION_SIZE) \
|
||
-DUSERDATA_SECTION_SIZE=$(USERDATA_SECTION_SIZE) \
|
||
-DAUD_SECTION_SIZE=$(AUD_SECTION_SIZE) \
|
||
-DRESERVED_SECTION_SIZE=$(RESERVED_SECTION_SIZE) \
|
||
-DFACTORY_SECTION_SIZE=$(FACTORY_SECTION_SIZE)
|
||
|
||
CPPFLAGS_${LDS_FILE} += \
|
||
-DLINKER_SCRIPT \
|
||
-DFLASH_SIZE=$(FLASH_SIZE) \
|
||
-Iplatform/hal
|
||
|
||
CPPFLAGS_${LDS_FILE} += $(LDS_SECTION_FLAGS)
|
||
|
||
ifneq ($(PSRAM_SIZE),)
|
||
CPPFLAGS_${LDS_FILE} +=-DPSRAM_SIZE=$(PSRAM_SIZE)
|
||
endif
|
||
|
||
ifneq ($(PSRAMUHS_SIZE),)
|
||
CPPFLAGS_${LDS_FILE} +=-DPSRAMUHS_SIZE=$(PSRAMUHS_SIZE)
|
||
endif
|
||
|
||
ifneq ($(OTA_BOOT_SIZE), 0)
|
||
CPPFLAGS_${LDS_FILE} += -DOTA_BOOT_SIZE=$(OTA_BOOT_SIZE)
|
||
endif
|
||
|
||
CPPFLAGS_${LDS_FILE} += -DOTA_CODE_OFFSET=$(OTA_CODE_OFFSET)
|
||
|
||
ifneq ($(OTA_REMAP_OFFSET),)
|
||
CPPFLAGS_${LDS_FILE} += -DOTA_REMAP_OFFSET=$(OTA_REMAP_OFFSET)
|
||
endif
|
||
|
||
ifneq ($(FLASH_REGION_SIZE),)
|
||
CPPFLAGS_${LDS_FILE} += -DFLASH_REGION_SIZE=$(FLASH_REGION_SIZE)
|
||
endif
|
||
|
||
ifneq ($(SLAVE_BIN_FLASH_OFFSET),)
|
||
export SLAVE_BIN_FLASH_OFFSET
|
||
CPPFLAGS_${LDS_FILE} += -DSLAVE_BIN_FLASH_OFFSET=$(SLAVE_BIN_FLASH_OFFSET)
|
||
endif
|
||
|
||
ifeq ($(BOOT_CODE_IN_RAM),1)
|
||
CPPFLAGS_${LDS_FILE} += -DBOOT_CODE_IN_RAM
|
||
endif
|
||
|
||
ifeq ($(GSOUND_HOTWORD_EXTERNAL),1)
|
||
CPPFLAGS_${LDS_FILE} += -DGSOUND_HOTWORD_EXTERNAL
|
||
endif
|
||
|
||
ifeq ($(LARGE_RAM),1)
|
||
KBUILD_CPPFLAGS += -DLARGE_RAM
|
||
endif
|
||
|
||
ifeq ($(CHIP_HAS_EXT_PMU),1)
|
||
export PMU_IRQ_UNIFIED ?= 1
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# Standard C library
|
||
# -------------------------------------------
|
||
|
||
export NOSTD
|
||
export LIBC_ROM
|
||
|
||
ifeq ($(NOSTD),1)
|
||
|
||
ifeq ($(MBED),1)
|
||
$(error Invalid configuration: MBED needs standard C library support)
|
||
endif
|
||
ifeq ($(RTOS),1)
|
||
$(error Invalid configuration: RTOS needs standard C library support)
|
||
endif
|
||
|
||
ifneq ($(NO_LIBC),1)
|
||
core-y += utils/libc/
|
||
endif
|
||
|
||
SPECS_CFLAGS :=
|
||
|
||
LIB_LDFLAGS := $(filter-out -lstdc++ -lsupc++ -lm -lc -lgcc -lnosys,$(LIB_LDFLAGS))
|
||
|
||
KBUILD_CPPFLAGS += -ffreestanding -Iutils/libc/inc
|
||
ifeq ($(TOOLCHAIN),armclang)
|
||
# 1) Avoid -nostdinc
|
||
# CMSIS header files need arm_compat.h, which is one of toolchain's standard header files
|
||
# 2) Always -nostdlib for compiling C/C++ files
|
||
# Never convert standard API calls to non-standard library calls, but just emit standard API calls
|
||
# 3) Avoid -nostdlib for linking final image
|
||
# Some 64-bit calculations and math functions need toolchain's standard library
|
||
KBUILD_CPPFLAGS += -nostdlib
|
||
else
|
||
KBUILD_CPPFLAGS += -nostdinc
|
||
CFLAGS_IMAGE += -nostdlib
|
||
endif
|
||
|
||
KBUILD_CPPFLAGS += -DNOSTD
|
||
|
||
else # NOSTD != 1
|
||
|
||
ifeq ($(LIBC_ROM),1)
|
||
core-y += utils/libc/
|
||
endif
|
||
|
||
ifeq ($(TOOLCHAIN),armclang)
|
||
LIB_LDFLAGS := $(filter-out -lsupc++,$(LIB_LDFLAGS))
|
||
else
|
||
SPECS_CFLAGS := --specs=nano.specs
|
||
|
||
LIB_LDFLAGS += -lm -lc -lgcc -lnosys
|
||
endif
|
||
|
||
endif # NOSTD != 1
|
||
|
||
# -------------------------------------------
|
||
# RTOS library
|
||
# -------------------------------------------
|
||
|
||
export RTOS
|
||
|
||
ifeq ($(RTOS),1)
|
||
|
||
ifeq ($(CPU),m4)
|
||
KERNEL ?= RTX
|
||
else
|
||
KERNEL ?= RTX5
|
||
ifeq ($(KERNEL),RTX)
|
||
$(error RTX doesn't support $(CPU))
|
||
endif
|
||
endif
|
||
|
||
export KERNEL
|
||
|
||
VALID_KERNEL_LIST := RTX RTX5 FREERTOS
|
||
|
||
ifeq ($(filter $(VALID_KERNEL_LIST),$(KERNEL)),)
|
||
$(error Bad KERNEL=$(KERNEL). Valid values are: $(VALID_KERNEL_LIST))
|
||
endif
|
||
|
||
core-y += rtos/
|
||
|
||
KBUILD_CPPFLAGS += -DRTOS
|
||
KBUILD_CPPFLAGS += -DKERNEL_$(KERNEL)
|
||
|
||
ifeq ($(KERNEL),RTX)
|
||
KBUILD_CPPFLAGS += \
|
||
-Iinclude/rtos/rtx/
|
||
KBUILD_CPPFLAGS += -D__RTX_CPU_STATISTICS__=1
|
||
#KBUILD_CPPFLAGS += -DTASK_HUNG_CHECK_ENABLED=1
|
||
else ifeq ($(KERNEL),RTX5)
|
||
OS_IDLESTKSIZE ?= 1024
|
||
KBUILD_CPPFLAGS += \
|
||
-Iinclude/rtos/rtx5/
|
||
KBUILD_CPPFLAGS += -D__RTX_CPU_STATISTICS__=1
|
||
#KBUILD_CPPFLAGS += -DTASK_HUNG_CHECK_ENABLED=1
|
||
else #!rtx
|
||
ifeq ($(KERNEL),FREERTOS)
|
||
KBUILD_CPPFLAGS += \
|
||
-Iinclude/rtos/freertos/
|
||
endif #freertos
|
||
endif #rtx
|
||
|
||
ifeq ($(BLE),0)
|
||
KBUILD_CPPFLAGS += -DBESBT_STACK_SIZE=1024*5+512
|
||
else
|
||
KBUILD_CPPFLAGS += -DBESBT_STACK_SIZE=1024*8+512
|
||
endif
|
||
|
||
ifeq ($(BLE_SECURITY_ENABLED), 1)
|
||
KBUILD_CPPFLAGS += -DCFG_APP_SEC
|
||
endif
|
||
|
||
ifeq ($(TWS),1)
|
||
OS_TASKCNT ?= 12
|
||
OS_SCHEDULERSTKSIZE ?= 768
|
||
OS_IDLESTKSIZE ?= 512
|
||
else
|
||
OS_TASKCNT ?= 20
|
||
OS_SCHEDULERSTKSIZE ?= 512
|
||
OS_IDLESTKSIZE ?= 256
|
||
endif
|
||
|
||
ifeq ($(CPU),m33)
|
||
OS_CLOCK_NOMINAL ?= 16000
|
||
else
|
||
OS_CLOCK_NOMINAL ?= 32000
|
||
endif
|
||
OS_FIFOSZ ?= 24
|
||
|
||
export OS_TASKCNT
|
||
export OS_SCHEDULERSTKSIZE
|
||
export OS_IDLESTKSIZE
|
||
export OS_CLOCK_NOMINAL
|
||
export OS_FIFOSZ
|
||
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# MBED library
|
||
# -------------------------------------------
|
||
|
||
export MBED
|
||
|
||
ifeq ($(MBED),1)
|
||
|
||
core-y += mbed/
|
||
|
||
KBUILD_CPPFLAGS += -DMBED
|
||
|
||
KBUILD_CPPFLAGS += \
|
||
-Imbed/api \
|
||
-Imbed/common \
|
||
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# DEBUG functions
|
||
# -------------------------------------------
|
||
|
||
export DEBUG
|
||
|
||
ifeq ($(CHIP),best1400)
|
||
OPT_LEVEL ?= s
|
||
endif
|
||
|
||
ifneq ($(OPT_LEVEL),)
|
||
KBUILD_CFLAGS += -O$(OPT_LEVEL)
|
||
else
|
||
KBUILD_CFLAGS += -O2
|
||
endif
|
||
|
||
ifeq ($(DEBUG),1)
|
||
|
||
KBUILD_CPPFLAGS += -DDEBUG
|
||
|
||
ifneq ($(NOSTD),1)
|
||
KBUILD_CFLAGS += -fstack-protector-strong
|
||
endif
|
||
|
||
else
|
||
|
||
KBUILD_CPPFLAGS += -DNDEBUG
|
||
|
||
REL_TRACE_ENABLE ?= 1
|
||
ifeq ($(REL_TRACE_ENABLE),1)
|
||
KBUILD_CPPFLAGS += -DREL_TRACE_ENABLE
|
||
endif
|
||
|
||
endif
|
||
|
||
ifeq ($(NO_CHK_TRC_FMT),1)
|
||
KBUILD_CPPFLAGS += -DNO_CHK_TRC_FMT
|
||
else
|
||
# Typedef int32_t to int, and typedef uint32_t to unsigned int
|
||
KBUILD_CPPFLAGS += -U__INT32_TYPE__ -D__INT32_TYPE__=int -U__UINT32_TYPE__
|
||
endif
|
||
|
||
ifeq ($(MERGE_CONST),1)
|
||
ifeq ($(TOOLCHAIN),armclang)
|
||
$(error MERGE_CONST is not supported in $(TOOLCHAIN))
|
||
else
|
||
KBUILD_CPPFLAGS += -fmerge-constants -fmerge-all-constants
|
||
endif
|
||
endif
|
||
|
||
export CORE_DUMP ?= 0
|
||
ifeq ($(CORE_DUMP),1)
|
||
core-y += utils/crash_catcher/ utils/xyzmodem/
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# SIMU functions
|
||
# -------------------------------------------
|
||
|
||
export SIMU
|
||
|
||
ifeq ($(SIMU),1)
|
||
|
||
KBUILD_CPPFLAGS += -DSIMU
|
||
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# FPGA functions
|
||
# -------------------------------------------
|
||
|
||
export FPGA
|
||
|
||
ifeq ($(FPGA),1)
|
||
|
||
KBUILD_CPPFLAGS += -DFPGA
|
||
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# ROM_BUILD functions
|
||
# -------------------------------------------
|
||
|
||
export ROM_BUILD
|
||
|
||
ifeq ($(ROM_BUILD),1)
|
||
|
||
KBUILD_CPPFLAGS += -DROM_BUILD
|
||
|
||
endif
|
||
|
||
# Limit the length of REVISION_INFO if ROM_BUILD or using rom.lds
|
||
ifneq ($(filter 1,$(ROM_BUILD))$(filter rom.lds,$(LDS_FILE)),)
|
||
ifeq ($(CHIP),best1000)
|
||
REVISION_INFO := x
|
||
else
|
||
REVISION_INFO := $(GIT_REVISION)
|
||
endif
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# PROGRAMMER functions
|
||
# -------------------------------------------
|
||
|
||
export PROGRAMMER
|
||
|
||
ifeq ($(PROGRAMMER),1)
|
||
|
||
KBUILD_CPPFLAGS += -DPROGRAMMER
|
||
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# ROM_UTILS functions
|
||
# -------------------------------------------
|
||
|
||
export ROM_UTILS_ON ?= 0
|
||
ifeq ($(ROM_UTILS_ON),1)
|
||
KBUILD_CPPFLAGS += -DROM_UTILS_ON
|
||
core-y += utils/rom_utils/
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# Features
|
||
# -------------------------------------------
|
||
|
||
export DEBUG_PORT ?= 1
|
||
|
||
ifneq ($(filter best1000 best2000,$(CHIP)),)
|
||
export AUD_SECTION_STRUCT_VERSION ?= 1
|
||
else
|
||
export AUD_SECTION_STRUCT_VERSION ?= 2
|
||
endif
|
||
|
||
ifneq ($(AUD_SECTION_STRUCT_VERSION),)
|
||
KBUILD_CPPFLAGS += -DAUD_SECTION_STRUCT_VERSION=$(AUD_SECTION_STRUCT_VERSION)
|
||
endif
|
||
|
||
export FLASH_CHIP
|
||
ifneq ($(FLASH_CHIP),)
|
||
VALID_FLASH_CHIP_LIST := ALL \
|
||
GD25LQ64C GD25LQ32C GD25LQ16C GD25Q32C GD25Q80C GD25Q40C GD25Q20C \
|
||
P25Q64L P25Q32L P25Q16L P25Q80H P25Q21H \
|
||
XT25Q08B \
|
||
EN25S80B
|
||
ifneq ($(filter-out $(VALID_FLASH_CHIP_LIST),$(FLASH_CHIP)),)
|
||
$(error Invalid FLASH_CHIP: $(filter-out $(VALID_FLASH_CHIP_LIST),$(FLASH_CHIP)))
|
||
endif
|
||
endif
|
||
|
||
NV_REC_DEV_VER ?= 2
|
||
|
||
export NO_SLEEP ?= 0
|
||
|
||
export FAULT_DUMP ?= 1
|
||
|
||
export USE_TRACE_ID ?= 0
|
||
ifeq ($(USE_TRACE_ID),1)
|
||
export TRACE_STR_SECTION ?= 1
|
||
endif
|
||
|
||
export CRASH_BOOT ?= 0
|
||
|
||
export OSC_26M_X4_AUD2BB ?= 0
|
||
ifeq ($(OSC_26M_X4_AUD2BB),1)
|
||
export ANA_26M_X4_ENABLE ?= 1
|
||
export FLASH_LOW_SPEED ?= 0
|
||
endif
|
||
|
||
export AUDIO_CODEC_ASYNC_CLOSE ?= 0
|
||
|
||
# Enable the workaround for BEST1000 version C & earlier chips
|
||
export CODEC_PLAY_BEFORE_CAPTURE ?= 0
|
||
|
||
export AUDIO_INPUT_CAPLESSMODE ?= 0
|
||
|
||
export AUDIO_INPUT_LARGEGAIN ?= 0
|
||
|
||
export AUDIO_INPUT_MONO ?= 0
|
||
|
||
export AUDIO_OUTPUT_MONO ?= 0
|
||
|
||
export AUDIO_OUTPUT_VOLUME_DEFAULT ?= 10
|
||
|
||
export AUDIO_OUTPUT_INVERT_RIGHT_CHANNEL ?= 0
|
||
|
||
export AUDIO_OUTPUT_CALIB_GAIN_MISSMATCH ?= 0
|
||
|
||
ifeq ($(USB_AUDIO_APP),1)
|
||
export CODEC_HIGH_QUALITY ?= 1
|
||
endif
|
||
|
||
ifeq ($(ANC_APP),1)
|
||
export CODEC_HIGH_QUALITY ?= 1
|
||
endif
|
||
|
||
ifeq ($(CHIP),best1000)
|
||
AUDIO_OUTPUT_DIFF ?= 1
|
||
AUDIO_OUTPUT_DC_CALIB ?= $(AUDIO_OUTPUT_DIFF)
|
||
AUDIO_OUTPUT_SMALL_GAIN_ATTN ?= 1
|
||
AUDIO_OUTPUT_SW_GAIN ?= 1
|
||
ANC_L_R_MISALIGN_WORKAROUND ?= 1
|
||
else ifeq ($(CHIP),best2000)
|
||
ifeq ($(CODEC_HIGH_QUALITY),1)
|
||
export VCODEC_VOLT ?= 2.5V
|
||
else
|
||
export VCODEC_VOLT ?= 1.6V
|
||
endif
|
||
AUDIO_OUTPUT_DIFF ?= 0
|
||
ifeq ($(VCODEC_VOLT),2.5V)
|
||
AUDIO_OUTPUT_DC_CALIB ?= 0
|
||
AUDIO_OUTPUT_DC_CALIB_ANA ?= 1
|
||
else
|
||
AUDIO_OUTPUT_DC_CALIB ?= 1
|
||
AUDIO_OUTPUT_DC_CALIB_ANA ?= 0
|
||
endif
|
||
ifneq ($(AUDIO_OUTPUT_DIFF),1)
|
||
# Class-G module still needs improving
|
||
#DAC_CLASSG_ENABLE ?= 1
|
||
endif
|
||
else ifeq ($(CHIP),best2001)
|
||
export VCODEC_VOLT ?= 1.8V
|
||
AUDIO_OUTPUT_DC_CALIB ?= 0
|
||
AUDIO_OUTPUT_DC_CALIB_ANA ?= 1
|
||
else ifneq ($(filter best3001 best3003 best3005,$(CHIP)),)
|
||
export VCODEC_VOLT ?= 2.5V
|
||
AUDIO_OUTPUT_DC_CALIB ?= 1
|
||
AUDIO_OUTPUT_DC_CALIB_ANA ?= 0
|
||
else
|
||
AUDIO_OUTPUT_DC_CALIB ?= 0
|
||
AUDIO_OUTPUT_DC_CALIB_ANA ?= 1
|
||
endif
|
||
|
||
ifeq ($(AUDIO_OUTPUT_DC_CALIB)-$(AUDIO_OUTPUT_DC_CALIB_ANA),1-1)
|
||
$(error AUDIO_OUTPUT_DC_CALIB and AUDIO_OUTPUT_DC_CALIB_ANA cannot be enabled at the same time)
|
||
endif
|
||
|
||
export AUDIO_OUTPUT_DIFF
|
||
|
||
export AUDIO_OUTPUT_DC_CALIB
|
||
|
||
export AUDIO_OUTPUT_DC_CALIB_ANA
|
||
|
||
export AUDIO_OUTPUT_SMALL_GAIN_ATTN
|
||
|
||
export AUDIO_OUTPUT_SW_GAIN
|
||
|
||
export ANC_L_R_MISALIGN_WORKAROUND
|
||
|
||
export DAC_CLASSG_ENABLE
|
||
|
||
export AF_DEVICE_I2S ?= 0
|
||
|
||
export AF_DEVICE_TDM ?= 0
|
||
|
||
export AF_ADC_I2S_SYNC ?= 0
|
||
ifeq ($(AF_ADC_I2S_SYNC),1)
|
||
KBUILD_CPPFLAGS += -DAF_ADC_I2S_SYNC
|
||
export AF_DEVICE_I2S = 1
|
||
export INT_LOCK_EXCEPTION ?= 1
|
||
endif
|
||
|
||
export BONE_SENSOR_TDM ?= 0
|
||
ifeq ($(BONE_SENSOR_TDM),1)
|
||
KBUILD_CPPFLAGS += -DBONE_SENSOR_TDM
|
||
KBUILD_CPPFLAGS += -DI2C_TASK_MODE
|
||
export AF_DEVICE_I2S = 1
|
||
export AF_DEVICE_TDM = 1
|
||
KBUILD_CPPFLAGS += -DI2S_MCLK_FROM_SPDIF
|
||
KBUILD_CPPFLAGS += -DI2S_MCLK_IOMUX_INDEX=13
|
||
KBUILD_CPPFLAGS += -DCLKOUT_IOMUX_INDEX=13
|
||
endif
|
||
|
||
export PLAYBACK_USE_I2S ?= 0
|
||
ifeq ($(PLAYBACK_USE_I2S),1)
|
||
KBUILD_CPPFLAGS += -DPLAYBACK_USE_I2S
|
||
export AF_DEVICE_I2S = 1
|
||
export A2DP_EQ_24BIT = 0
|
||
endif
|
||
|
||
ifeq ($(ANC_APP),1)
|
||
export ANC_FF_ENABLED ?= 1
|
||
ifeq ($(ANC_FB_CHECK),1)
|
||
KBUILD_CPPFLAGS += -DANC_FB_CHECK
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(CHIP),best1400)
|
||
export AUDIO_RESAMPLE ?= 1
|
||
export PMU_IRQ_UNIFIED ?= 1
|
||
else ifeq ($(CHIP),best2001)
|
||
export AUDIO_RESAMPLE ?= 1
|
||
else
|
||
export AUDIO_RESAMPLE ?= 0
|
||
endif
|
||
|
||
ifeq ($(AUDIO_RESAMPLE),1)
|
||
ifeq ($(CHIP),best1000)
|
||
export SW_PLAYBACK_RESAMPLE ?= 1
|
||
export SW_CAPTURE_RESAMPLE ?= 1
|
||
export NO_SCO_RESAMPLE ?= 1
|
||
endif # CHIP is best1000
|
||
ifeq ($(CHIP),best2000)
|
||
export SW_CAPTURE_RESAMPLE ?= 1
|
||
export SW_SCO_RESAMPLE ?= 1
|
||
export NO_SCO_RESAMPLE ?= 0
|
||
endif # CHIP is best2000
|
||
ifeq ($(BT_ANC),1)
|
||
ifeq ($(NO_SCO_RESAMPLE),1)
|
||
$(error BT_ANC and NO_SCO_RESAMPLE cannot be enabled at the same time)
|
||
endif
|
||
endif # BT_ANC
|
||
|
||
KBUILD_CPPFLAGS += -D__AUDIO_RESAMPLE__
|
||
endif # AUDIO_RESAMPLE
|
||
|
||
export HW_FIR_DSD_PROCESS ?= 0
|
||
|
||
export HW_FIR_EQ_PROCESS ?= 0
|
||
|
||
export SW_IIR_EQ_PROCESS ?= 0
|
||
ifeq ($(SW_IIR_EQ_PROCESS),1)
|
||
export A2DP_EQ_24BIT = 1
|
||
endif
|
||
|
||
export HW_IIR_EQ_PROCESS ?= 0
|
||
|
||
export HW_DAC_IIR_EQ_PROCESS ?= 0
|
||
|
||
export AUDIO_DRC ?= 0
|
||
|
||
export AUDIO_DRC2 ?= 0
|
||
|
||
export HW_DC_FILTER_WITH_IIR ?= 0
|
||
ifeq ($(HW_DC_FILTER_WITH_IIR),1)
|
||
KBUILD_CPPFLAGS += -DHW_DC_FILTER_WITH_IIR
|
||
export HW_FILTER_CODEC_IIR ?= 1
|
||
endif
|
||
|
||
ifeq ($(USB_AUDIO_APP),1)
|
||
export ANDROID_ACCESSORY_SPEC ?= 1
|
||
export FIXED_CODEC_ADC_VOL ?= 0
|
||
|
||
ifneq ($(BTUSB_AUDIO_MODE),1)
|
||
NO_PWRKEY ?= 1
|
||
NO_GROUPKEY ?= 1
|
||
endif
|
||
endif
|
||
|
||
export NO_PWRKEY
|
||
|
||
export NO_GROUPKEY
|
||
|
||
ifneq ($(CHIP),best1000)
|
||
ifneq ($(CHIP)-$(TWS),best2000-1)
|
||
# For bt
|
||
export A2DP_EQ_24BIT ?= 1
|
||
# For usb audio
|
||
export AUDIO_PLAYBACK_24BIT ?= 1
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(CHIP),best1000)
|
||
|
||
ifeq ($(AUD_PLL_DOUBLE),1)
|
||
KBUILD_CPPFLAGS += -DAUD_PLL_DOUBLE
|
||
endif
|
||
|
||
ifeq ($(DUAL_AUX_MIC),1)
|
||
ifeq ($(AUDIO_INPUT_MONO),1)
|
||
$(error Invalid talk mic configuration)
|
||
endif
|
||
KBUILD_CPPFLAGS += -D_DUAL_AUX_MIC_
|
||
endif
|
||
|
||
endif # best1000
|
||
|
||
ifeq ($(CAPTURE_ANC_DATA),1)
|
||
KBUILD_CPPFLAGS += -DCAPTURE_ANC_DATA
|
||
endif
|
||
|
||
ifeq ($(AUDIO_ANC_TT_HW),1)
|
||
KBUILD_CPPFLAGS += -DAUDIO_ANC_TT_HW
|
||
endif
|
||
|
||
ifeq ($(AUDIO_ANC_FB_MC_HW),1)
|
||
KBUILD_CPPFLAGS += -DAUDIO_ANC_FB_MC_HW
|
||
endif
|
||
|
||
ifeq ($(AUDIO_ANC_FB_MC),1)
|
||
ifeq ($(AUDIO_RESAMPLE),1)
|
||
$(error AUDIO_ANC_FB_MC conflicts with AUDIO_RESAMPLE)
|
||
endif
|
||
KBUILD_CPPFLAGS += -DAUDIO_ANC_FB_MC
|
||
endif
|
||
|
||
ifeq ($(BT_ANC),1)
|
||
KBUILD_CPPFLAGS += -D__BT_ANC__
|
||
endif
|
||
|
||
export ANC_NOISE_TRACKER ?= 0
|
||
ifeq ($(ANC_NOISE_TRACKER),1)
|
||
ifeq ($(IBRT),1)
|
||
KBUILD_CPPFLAGS += -DANC_NOISE_TRACKER_CHANNEL_NUM=1
|
||
else
|
||
KBUILD_CPPFLAGS += -DANC_NOISE_TRACKER_CHANNEL_NUM=2
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(AUDIO_ANC_FB_ADJ_MC),1)
|
||
KBUILD_CPPFLAGS += -DGLOBAL_SRAM_CMSIS_FFT
|
||
endif
|
||
|
||
ifeq ($(ANC_WNR_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DGLOBAL_SRAM_CMSIS_FFT
|
||
endif
|
||
|
||
ifeq ($(KWS_ALEXA),1)
|
||
KBUILD_CPPFLAGS += -DKWS_BES
|
||
KBUILD_CPPFLAGS += -DGLOBAL_SRAM_KISS_FFT
|
||
KBUILD_CPPFLAGS += -DGLOBAL_SRAM_CMSIS_FFT
|
||
endif
|
||
|
||
export BTUSB_AUDIO_MODE ?= 0
|
||
ifeq ($(BTUSB_AUDIO_MODE),1)
|
||
KBUILD_CPPFLAGS += -DBTUSB_AUDIO_MODE
|
||
endif
|
||
|
||
export BT_USB_AUDIO_DUAL_MODE ?= 0
|
||
ifeq ($(BT_USB_AUDIO_DUAL_MODE),1)
|
||
KBUILD_CPPFLAGS += -DBT_USB_AUDIO_DUAL_MODE
|
||
endif
|
||
|
||
ifeq ($(WATCHER_DOG),1)
|
||
KBUILD_CPPFLAGS += -D__WATCHER_DOG_RESET__
|
||
endif
|
||
|
||
export ULTRA_LOW_POWER ?= 0
|
||
ifeq ($(ULTRA_LOW_POWER),1)
|
||
export FLASH_LOW_SPEED ?= 1
|
||
export PSRAM_LOW_SPEED ?= 1
|
||
endif
|
||
|
||
export USB_HIGH_SPEED ?= 0
|
||
ifeq ($(CHIP),best2000)
|
||
ifeq ($(USB_HIGH_SPEED),1)
|
||
export AUDIO_USE_BBPLL ?= 1
|
||
endif
|
||
ifeq ($(AUDIO_USE_BBPLL),1)
|
||
ifeq ($(MCU_HIGH_PERFORMANCE_MODE),1)
|
||
$(error MCU_HIGH_PERFORMANCE_MODE conflicts with AUDIO_USE_BBPLL)
|
||
endif
|
||
else # !AUDIO_USE_BBPLL
|
||
ifeq ($(USB_HIGH_SPEED),1)
|
||
$(error AUDIO_USE_BBPLL must be used with USB_HIGH_SPEED)
|
||
endif
|
||
endif # !AUDIO_USE_BBPLL
|
||
endif # best2000
|
||
|
||
ifeq ($(SIMPLE_TASK_SWITCH),1)
|
||
KBUILD_CPPFLAGS += -DSIMPLE_TASK_SWITCH
|
||
endif
|
||
|
||
ifeq ($(ASSERT_SHOW_FILE_FUNC),1)
|
||
KBUILD_CPPFLAGS += -DASSERT_SHOW_FILE_FUNC
|
||
else
|
||
ifeq ($(ASSERT_SHOW_FILE),1)
|
||
KBUILD_CPPFLAGS += -DASSERT_SHOW_FILE
|
||
else
|
||
ifeq ($(ASSERT_SHOW_FUNC),1)
|
||
KBUILD_CPPFLAGS += -DASSERT_SHOW_FUNC
|
||
endif
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(CALIB_SLOW_TIMER),1)
|
||
KBUILD_CPPFLAGS += -DCALIB_SLOW_TIMER
|
||
endif
|
||
|
||
ifeq ($(INT_LOCK_EXCEPTION),1)
|
||
KBUILD_CPPFLAGS += -DINT_LOCK_EXCEPTION
|
||
endif
|
||
|
||
export APP_ANC_TEST ?= 0
|
||
ifeq ($(APP_ANC_TEST),1)
|
||
KBUILD_CPPFLAGS += -DAPP_ANC_TEST
|
||
endif
|
||
|
||
USER_REBOOT_PLAY_MUSIC_AUTO ?= 0
|
||
ifeq ($(USER_REBOOT_PLAY_MUSIC_AUTO),1)
|
||
KBUILD_CPPFLAGS += -DUSER_REBOOT_PLAY_MUSIC_AUTO
|
||
export USER_REBOOT_PLAY_MUSIC_AUTO ?= 1
|
||
endif
|
||
|
||
export TEST_OVER_THE_AIR ?= 0
|
||
ifeq ($(TEST_OVER_THE_AIR),1)
|
||
KBUILD_CPPFLAGS += -DTEST_OVER_THE_AIR_ENANBLED=1
|
||
endif
|
||
|
||
ifeq ($(USE_TRACE_ID),1)
|
||
KBUILD_CPPFLAGS += -DUSE_TRACE_ID
|
||
endif
|
||
|
||
ifeq ($(TRACE_STR_SECTION),1)
|
||
KBUILD_CPPFLAGS += -DTRACE_STR_SECTION
|
||
CPPFLAGS_${LDS_FILE} += -DTRACE_STR_SECTION
|
||
endif
|
||
|
||
USE_THIRDPARTY ?= 0
|
||
ifeq ($(USE_THIRDPARTY),1)
|
||
KBUILD_CPPFLAGS += -D__THIRDPARTY
|
||
core-y += thirdparty/
|
||
endif
|
||
|
||
export PC_CMD_UART ?= 0
|
||
ifeq ($(PC_CMD_UART),1)
|
||
KBUILD_CPPFLAGS += -D__PC_CMD_UART__
|
||
endif
|
||
|
||
ifeq ($(VOICE_DETECTOR_EN),1)
|
||
KBUILD_CPPFLAGS += -DVOICE_DETECTOR_EN
|
||
endif
|
||
|
||
ifeq ($(VAD_USE_8K_SAMPLE_RATE),1)
|
||
KBUILD_CPPFLAGS += -DVAD_USE_8K_SAMPLE_RATE
|
||
endif
|
||
|
||
ifeq ($(USB_ANC_MC_EQ_TUNING),1)
|
||
KBUILD_CPPFLAGS += -DUSB_ANC_MC_EQ_TUNING -DANC_PROD_TEST
|
||
endif
|
||
|
||
export AUTO_TEST ?= 0
|
||
ifeq ($(AUTO_TEST),1)
|
||
KBUILD_CFLAGS += -D_AUTO_TEST_
|
||
endif
|
||
|
||
export BES_AUTOMATE_TEST ?= 0
|
||
ifeq ($(BES_AUTOMATE_TEST),1)
|
||
KBUILD_CFLAGS += -DBES_AUTOMATE_TEST
|
||
KBUILD_CFLAGS += -DHAL_TRACE_RX_ENABLE
|
||
endif
|
||
|
||
ifeq ($(RB_CODEC),1)
|
||
CPPFLAGS_${LDS_FILE} += -DRB_CODEC
|
||
endif
|
||
|
||
ifneq ($(DATA_BUF_START),)
|
||
CPPFLAGS_${LDS_FILE} += -DDATA_BUF_START=$(DATA_BUF_START)
|
||
endif
|
||
|
||
ifeq ($(USER_SECURE_BOOT),1)
|
||
core-y += utils/user_secure_boot/ \
|
||
utils/system_info/
|
||
endif
|
||
|
||
ifeq ($(MAX_DAC_OUTPUT),-60db)
|
||
MAX_DAC_OUTPUT_FLAGS := -DMAX_DAC_OUTPUT_M60DB
|
||
else
|
||
ifeq ($(MAX_DAC_OUTPUT),3.75mw)
|
||
MAX_DAC_OUTPUT_FLAGS := -DMAX_DAC_OUTPUT_3P75MW
|
||
else
|
||
ifeq ($(MAX_DAC_OUTPUT),5mw)
|
||
MAX_DAC_OUTPUT_FLAGS := -DMAX_DAC_OUTPUT_5MW
|
||
else
|
||
ifeq ($(MAX_DAC_OUTPUT),10mw)
|
||
MAX_DAC_OUTPUT_FLAGS := -DMAX_DAC_OUTPUT_10MW
|
||
else
|
||
ifneq ($(MAX_DAC_OUTPUT),30mw)
|
||
ifneq ($(MAX_DAC_OUTPUT),)
|
||
$(error Invalid MAX_DAC_OUTPUT value: $(MAX_DAC_OUTPUT) (MUST be one of: -60db 3.75mw 5mw 10mw 30mw))
|
||
endif
|
||
endif
|
||
endif
|
||
endif
|
||
endif
|
||
endif
|
||
export MAX_DAC_OUTPUT_FLAGS
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# BT features
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(BT_APP),1)
|
||
|
||
export BT_IF_INCLUDES ?=
|
||
export BT_PROFILES_INCLUDES ?=
|
||
export ENHANCED_STACK ?= 1
|
||
|
||
export INTERSYS_NO_THREAD ?= 0
|
||
|
||
export INTERSYS_DEBUG ?= 0
|
||
ifeq ($(INTERSYS_DEBUG),1)
|
||
KBUILD_CPPFLAGS += -DINTERSYS_DEBUG=1
|
||
endif
|
||
|
||
export BT_DEBUG_TPORTS ?= 0
|
||
ifneq ($(BT_DEBUG_TPORTS),0)
|
||
KBUILD_CPPFLAGS += -D__BT_DEBUG_TPORTS__
|
||
endif
|
||
|
||
export SNOOP_DATA_EXCHANGE_VIA_BLE ?= 0
|
||
ifeq ($(SNOOP_DATA_EXCHANGE_VIA_BLE),1)
|
||
KBUILD_CPPFLAGS += -DSNOOP_DATA_EXCHANGE_VIA_BLE
|
||
endif
|
||
|
||
export SYNC_BT_CTLR_PROFILE ?= 0
|
||
ifeq ($(SYNC_BT_CTLR_PROFILE),1)
|
||
KBUILD_CPPFLAGS += -DSYNC_BT_CTLR_PROFILE
|
||
endif
|
||
|
||
export PROFILE_DEBUG ?= 0
|
||
ifeq ($(PROFILE_DEBUG),1)
|
||
KBUILD_CPPFLAGS += -DXA_DEBUG=1
|
||
endif
|
||
|
||
ifeq ($(ENHANCED_STACK),1)
|
||
BT_IF_INCLUDES += \
|
||
-Iservices/bt_if_enhanced/inc
|
||
BT_PROFILES_INCLUDES += \
|
||
-Iservices/bt_profiles_enhanced/inc
|
||
else
|
||
BT_IF_INCLUDES += \
|
||
-Iservices/bt_if/inc
|
||
BT_PROFILES_INCLUDES += \
|
||
-Iservices/bt_profiles/inc \
|
||
-Iservices/bt_profiles/inc/sys
|
||
endif
|
||
|
||
ifeq ($(ENHANCED_STACK),1)
|
||
KBUILD_CFLAGS += -DENHANCED_STACK
|
||
#KBUILD_CPPFLAGS += -D__A2DP_AVDTP_CP__ -D__A2DP_AVDTP_DR__
|
||
#KBUILD_CPPFLAGS += -D__A2DP_AVDTP_DR__
|
||
KBUILD_CPPFLAGS += -D__BLE_TX_USE_BT_TX_QUEUE__
|
||
ifeq ($(BISTO_ENABLE),1)
|
||
ifneq ($(IBRT),1)
|
||
#disbled before IBRT MAP role switch feature is ready
|
||
KBUILD_CPPFLAGS += -D__BTMAP_ENABLE__
|
||
endif
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(A2DP_AVDTP_CP),1)
|
||
KBUILD_CPPFLAGS += -D__A2DP_AVDTP_CP__
|
||
endif
|
||
|
||
ifneq ($(filter-out 2M 3M,$(BT_RF_PREFER)),)
|
||
$(error Invalid BT_RF_PREFER=$(BT_RF_PREFER))
|
||
endif
|
||
ifneq ($(BT_RF_PREFER),)
|
||
RF_PREFER := $(subst .,P,$(BT_RF_PREFER))
|
||
KBUILD_CPPFLAGS += -D__$(RF_PREFER)_PACK__
|
||
endif
|
||
|
||
export AUDIO_SCO_BTPCM_CHANNEL ?= 1
|
||
ifeq ($(AUDIO_SCO_BTPCM_CHANNEL),1)
|
||
KBUILD_CPPFLAGS += -D_SCO_BTPCM_CHANNEL_
|
||
endif
|
||
|
||
export BT_ONE_BRING_TWO ?= 0
|
||
ifeq ($(BT_ONE_BRING_TWO),1)
|
||
KBUILD_CPPFLAGS += -D__BT_ONE_BRING_TWO__
|
||
endif
|
||
|
||
export A2DP_PLAYER_USE_BT_TRIGGER ?= 1
|
||
ifeq ($(A2DP_PLAYER_USE_BT_TRIGGER),1)
|
||
KBUILD_CPPFLAGS += -D__A2DP_PLAYER_USE_BT_TRIGGER__
|
||
endif
|
||
|
||
export BT_SELECT_PROF_DEVICE_ID ?= 0
|
||
ifeq ($(BT_ONE_BRING_TWO),1)
|
||
ifeq ($(BT_SELECT_PROF_DEVICE_ID),1)
|
||
KBUILD_CPPFLAGS += -D__BT_SELECT_PROF_DEVICE_ID__
|
||
endif
|
||
endif
|
||
|
||
export SBC_FUNC_IN_ROM ?= 0
|
||
ifeq ($(SBC_FUNC_IN_ROM),1)
|
||
|
||
KBUILD_CPPFLAGS += -D__SBC_FUNC_IN_ROM__
|
||
|
||
ifeq ($(CHIP),best2000)
|
||
UNALIGNED_ACCESS ?= 1
|
||
KBUILD_CPPFLAGS += -D__SBC_FUNC_IN_ROM_VBEST2000_ONLYSBC__
|
||
KBUILD_CPPFLAGS += -D__SBC_FUNC_IN_ROM_VBEST2000__
|
||
endif
|
||
endif
|
||
|
||
export HFP_1_6_ENABLE ?= 1
|
||
ifeq ($(HFP_1_6_ENABLE),1)
|
||
KBUILD_CPPFLAGS += -DHFP_1_6_ENABLE
|
||
ifeq ($(MSBC_16K_SAMPLE_RATE),0)
|
||
KBUILD_CPPFLAGS += -DMSBC_8K_SAMPLE_RATE
|
||
export DSP_LIB ?= 1
|
||
endif
|
||
endif
|
||
|
||
export A2DP_AAC_ON ?= 0
|
||
ifeq ($(A2DP_AAC_ON),1)
|
||
KBUILD_CPPFLAGS += -DA2DP_AAC_ON
|
||
KBUILD_CPPFLAGS += -D__ACC_FRAGMENT_COMPATIBLE__
|
||
endif
|
||
|
||
export FDKAAC_VERSION ?= 2
|
||
|
||
ifneq ($(FDKAAC_VERSION),)
|
||
KBUILD_CPPFLAGS += -DFDKAAC_VERSION=$(FDKAAC_VERSION)
|
||
endif
|
||
|
||
export A2DP_LHDC_ON ?= 0
|
||
ifeq ($(A2DP_LHDC_ON),1)
|
||
KBUILD_CPPFLAGS += -DA2DP_LHDC_ON
|
||
export A2DP_LHDC_V3 ?= 0
|
||
ifeq ($(A2DP_LHDC_V3),1)
|
||
KBUILD_CPPFLAGS += -DA2DP_LHDC_V3
|
||
endif
|
||
export A2DP_LHDC_LARC ?= 0
|
||
ifeq ($(A2DP_LHDC_LARC),1)
|
||
KBUILD_CPPFLAGS += -DA2DP_LHDC_LARC
|
||
endif
|
||
|
||
core-y += thirdparty/audio_codec_lib/liblhdc-dec/
|
||
endif
|
||
ifeq ($(USER_SECURE_BOOT),1)
|
||
KBUILD_CPPFLAGS += -DUSER_SECURE_BOOT
|
||
endif
|
||
|
||
export A2DP_SCALABLE_ON ?= 0
|
||
ifeq ($(A2DP_SCALABLE_ON),1)
|
||
KBUILD_CPPFLAGS += -DA2DP_SCALABLE_ON
|
||
KBUILD_CPPFLAGS += -DGLOBAL_SRAM_KISS_FFT
|
||
#KBUILD_CPPFLAGS += -DA2DP_SCALABLE_UHQ_SUPPORT
|
||
core-y += thirdparty/audio_codec_lib/scalable/
|
||
endif
|
||
|
||
export A2DP_LDAC_ON ?= 0
|
||
ifeq ($(A2DP_LDAC_ON),1)
|
||
KBUILD_CPPFLAGS += -DA2DP_LDAC_ON
|
||
core-y += thirdparty/audio_codec_lib/ldac/
|
||
endif
|
||
|
||
export A2DP_CP_ACCEL ?= 0
|
||
ifeq ($(A2DP_CP_ACCEL),1)
|
||
KBUILD_CPPFLAGS += -DA2DP_CP_ACCEL
|
||
endif
|
||
|
||
export SCO_CP_ACCEL ?= 0
|
||
ifeq ($(SCO_CP_ACCEL),1)
|
||
KBUILD_CPPFLAGS += -DSCO_CP_ACCEL
|
||
# spx fft will share buffer which is not fit for dual cores.
|
||
KBUILD_CPPFLAGS += -DUSE_CMSIS_F32_FFT
|
||
endif
|
||
|
||
export SCO_TRACE_CP_ACCEL ?= 0
|
||
ifeq ($(SCO_TRACE_CP_ACCEL),1)
|
||
KBUILD_CPPFLAGS += -DSCO_TRACE_CP_ACCEL
|
||
endif
|
||
|
||
ifeq ($(BT_XTAL_SYNC),1)
|
||
KBUILD_CPPFLAGS += -DBT_XTAL_SYNC_NEW_METHOD
|
||
KBUILD_CPPFLAGS += -DFIXED_BIT_OFFSET_TARGET
|
||
endif
|
||
|
||
ifeq ($(BT_XTAL_SYNC_SLOW),1)
|
||
KBUILD_CPPFLAGS += -DBT_XTAL_SYNC_SLOW
|
||
endif
|
||
|
||
ifeq ($(BT_XTAL_SYNC_NO_RESET),1)
|
||
KBUILD_CPPFLAGS += -DBT_XTAL_SYNC_NO_RESET
|
||
endif
|
||
|
||
|
||
ifeq ($(APP_LINEIN_A2DP_SOURCE),1)
|
||
KBUILD_CPPFLAGS += -DAPP_LINEIN_A2DP_SOURCE
|
||
endif
|
||
|
||
ifeq ($(HSP_ENABLE),1)
|
||
KBUILD_CPPFLAGS += -D__HSP_ENABLE__
|
||
endif
|
||
|
||
ifeq ($(APP_I2S_A2DP_SOURCE),1)
|
||
KBUILD_CPPFLAGS += -DAPP_I2S_A2DP_SOURCE
|
||
endif
|
||
|
||
export TX_RX_PCM_MASK ?= 0
|
||
ifeq ($(TX_RX_PCM_MASK),1)
|
||
KBUILD_CPPFLAGS += -DTX_RX_PCM_MASK
|
||
endif
|
||
|
||
export PCM_FAST_MODE ?= 0
|
||
ifeq ($(PCM_FAST_MODE),1)
|
||
KBUILD_CPPFLAGS += -DPCM_FAST_MODE
|
||
endif
|
||
|
||
export LOW_DELAY_SCO ?= 0
|
||
ifeq ($(LOW_DELAY_SCO),1)
|
||
KBUILD_CPPFLAGS += -DLOW_DELAY_SCO
|
||
endif
|
||
|
||
export CVSD_BYPASS ?= 0
|
||
ifeq ($(CVSD_BYPASS),1)
|
||
KBUILD_CPPFLAGS += -DCVSD_BYPASS
|
||
endif
|
||
|
||
export SCO_DMA_SNAPSHOT ?= 0
|
||
ifeq ($(CHIP_HAS_SCO_DMA_SNAPSHOT),1)
|
||
export SCO_DMA_SNAPSHOT := 1
|
||
KBUILD_CPPFLAGS += -DSCO_DMA_SNAPSHOT
|
||
endif
|
||
|
||
export SCO_OPTIMIZE_FOR_RAM ?= 0
|
||
ifeq ($(SCO_OPTIMIZE_FOR_RAM),1)
|
||
KBUILD_CPPFLAGS += -DSCO_OPTIMIZE_FOR_RAM
|
||
endif
|
||
|
||
export AAC_TEXT_PARTIAL_IN_FLASH ?= 0
|
||
ifeq ($(AAC_TEXT_PARTIAL_IN_FLASH),1)
|
||
KBUILD_CPPFLAGS += -DAAC_TEXT_PARTIAL_IN_FLASH
|
||
endif
|
||
|
||
ifeq ($(SUPPORT_BATTERY_REPORT),1)
|
||
KBUILD_CPPFLAGS += -DSUPPORT_BATTERY_REPORT
|
||
endif
|
||
|
||
ifeq ($(SUPPORT_HF_INDICATORS),1)
|
||
KBUILD_CPPFLAGS += -DSUPPORT_HF_INDICATORS
|
||
endif
|
||
|
||
ifeq ($(SUPPORT_SIRI),1)
|
||
KBUILD_CPPFLAGS += -DSUPPORT_SIRI
|
||
endif
|
||
|
||
export BQB_PROFILE_TEST ?= 0
|
||
ifeq ($(BQB_PROFILE_TEST),1)
|
||
KBUILD_CPPFLAGS += -D__BQB_PROFILE_TEST__
|
||
endif
|
||
|
||
export AUDIO_SPECTRUM ?= 0
|
||
ifeq ($(AUDIO_SPECTRUM),1)
|
||
KBUILD_CPPFLAGS += -D__AUDIO_SPECTRUM__
|
||
KBUILD_CPPFLAGS += -DGLOBAL_SRAM_KISS_FFT
|
||
endif
|
||
|
||
export INTERCONNECTION ?= 0
|
||
ifeq ($(INTERCONNECTION),1)
|
||
KBUILD_CPPFLAGS += -D__INTERCONNECTION__
|
||
endif
|
||
|
||
export INTERACTION ?= 0
|
||
ifeq ($(INTERACTION),1)
|
||
KBUILD_CPPFLAGS += -D__INTERACTION__
|
||
endif
|
||
|
||
|
||
export WL_DET ?= 0
|
||
ifeq ($(WL_DET),1)
|
||
KBUILD_CPPFLAGS += -DWL_DET
|
||
endif
|
||
|
||
export AUDIO_LOOPBACK ?= 0
|
||
ifeq ($(AUDIO_LOOPBACK),1)
|
||
KBUILD_CPPFLAGS += -DAUDIO_LOOPBACK
|
||
endif
|
||
|
||
|
||
export INTERACTION_FASTPAIR ?= 0
|
||
ifeq ($(INTERACTION_FASTPAIR),1)
|
||
KBUILD_CPPFLAGS += -D__INTERACTION_FASTPAIR__
|
||
KBUILD_CPPFLAGS += -D__INTERACTION_CUSTOMER_AT_COMMAND__
|
||
endif
|
||
|
||
ifeq ($(SUSPEND_ANOTHER_DEV_A2DP_STREAMING_WHEN_CALL_IS_COMING),1)
|
||
KBUILD_CPPFLAGS += -DSUSPEND_ANOTHER_DEV_A2DP_STREAMING_WHEN_CALL_IS_COMING
|
||
endif
|
||
|
||
export TWS_PROMPT_SYNC ?= 0
|
||
ifeq ($(TWS_PROMPT_SYNC), 1)
|
||
export MIX_AUDIO_PROMPT_WITH_A2DP_MEDIA_ENABLED = 1
|
||
KBUILD_CPPFLAGS += -DTWS_PROMPT_SYNC
|
||
endif
|
||
|
||
export MIX_AUDIO_PROMPT_WITH_A2DP_MEDIA_ENABLED ?= 0
|
||
ifeq ($(MIX_AUDIO_PROMPT_WITH_A2DP_MEDIA_ENABLED), 1)
|
||
KBUILD_CPPFLAGS += -DMIX_AUDIO_PROMPT_WITH_A2DP_MEDIA_ENABLED
|
||
export RESAMPLE_ANY_SAMPLE_RATE ?= 1
|
||
endif
|
||
|
||
#ifeq ($(AUDIO_RESAMPLE),0)
|
||
export RESAMPLE_ANY_SAMPLE_RATE ?= 1
|
||
KBUILD_CPPFLAGS += -DRESAMPLE_ANY_SAMPLE_RATE
|
||
#endif
|
||
|
||
export MEDIA_PLAY_24BIT ?= 0
|
||
|
||
export LBRT ?= 0
|
||
ifeq ($(LBRT),1)
|
||
KBUILD_CPPFLAGS += -DLBRT
|
||
endif
|
||
|
||
export IBRT ?= 0
|
||
ifeq ($(IBRT),1)
|
||
KBUILD_CPPFLAGS += -DIBRT
|
||
KBUILD_CPPFLAGS += -DIBRT_BLOCKED
|
||
KBUILD_CPPFLAGS += -DIBRT_NOT_USE
|
||
KBUILD_CPPFLAGS += -D__A2DP_AUDIO_SYNC_FIX_DIFF_NOPID__
|
||
endif
|
||
|
||
|
||
export IBRT_TESTMODE ?= 0
|
||
ifeq ($(IBRT_TESTMODE),1)
|
||
KBUILD_CPPFLAGS += -D__IBRT_IBRT_TESTMODE__
|
||
endif
|
||
|
||
ifeq ($(TWS_SYSTEM_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DTWS_SYSTEM_ENABLED
|
||
endif
|
||
|
||
export BES_AUD ?= 0
|
||
ifeq ($(BES_AUD),1)
|
||
KBUILD_CPPFLAGS += -DBES_AUD
|
||
endif
|
||
|
||
export IBRT_SEARCH_UI ?= 0
|
||
ifeq ($(IBRT_SEARCH_UI),1)
|
||
KBUILD_CPPFLAGS += -DIBRT_SEARCH_UI
|
||
endif
|
||
|
||
endif # BT_APP
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# BLE features
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(BLE),1)
|
||
|
||
KBUILD_CPPFLAGS += -DBLE_ENABLE
|
||
|
||
KBUILD_CPPFLAGS += -D__IAG_BLE_INCLUDE__
|
||
|
||
IS_USE_BLE_DUAL_CONNECTION ?= 1
|
||
|
||
ifeq ($(IS_USE_BLE_DUAL_CONNECTION),1)
|
||
KBUILD_CPPFLAGS += -DBLE_CONNECTION_MAX=2
|
||
else
|
||
KBUILD_CPPFLAGS += -DBLE_CONNECTION_MAX=1
|
||
endif
|
||
|
||
ifeq ($(IS_ENABLE_DEUGGING_MODE),1)
|
||
KBUILD_CPPFLAGS += -DIS_ENABLE_DEUGGING_MODE
|
||
endif
|
||
|
||
endif # BLE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# Speech features
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
export SPEECH_TX_24BIT ?= 0
|
||
ifeq ($(SPEECH_TX_24BIT),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_24BIT
|
||
endif
|
||
|
||
export SPEECH_TX_DC_FILTER ?= 0
|
||
ifeq ($(SPEECH_TX_DC_FILTER),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_DC_FILTER
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_TX_MIC_CALIBRATION ?= 0
|
||
ifeq ($(SPEECH_TX_MIC_CALIBRATION),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_MIC_CALIBRATION
|
||
endif
|
||
|
||
export SPEECH_TX_MIC_FIR_CALIBRATION ?= 0
|
||
ifeq ($(SPEECH_TX_MIC_FIR_CALIBRATION),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_MIC_FIR_CALIBRATION
|
||
endif
|
||
|
||
export SPEECH_TX_AEC_CODEC_REF ?= 0
|
||
|
||
export SPEECH_TX_AEC ?= 0
|
||
ifeq ($(SPEECH_TX_AEC),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_AEC
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
ifeq ($(CHIP_HAS_EC_CODEC_REF),1)
|
||
export SPEECH_TX_AEC_CODEC_REF := 1
|
||
endif
|
||
endif
|
||
|
||
export SPEECH_TX_AEC2 ?= 0
|
||
ifeq ($(SPEECH_TX_AEC2),1)
|
||
$(error SPEECH_TX_AEC2 is not supported now, use SPEECH_TX_AEC2FLOAT instead)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_AEC2
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
ifeq ($(CHIP_HAS_EC_CODEC_REF),1)
|
||
export SPEECH_TX_AEC_CODEC_REF := 1
|
||
endif
|
||
endif
|
||
|
||
export SPEECH_TX_AEC3 ?= 0
|
||
ifeq ($(SPEECH_TX_AEC3),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_AEC3
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
ifeq ($(CHIP_HAS_EC_CODEC_REF),1)
|
||
export SPEECH_TX_AEC_CODEC_REF := 1
|
||
endif
|
||
endif
|
||
|
||
export SPEECH_TX_AEC2FLOAT ?= 0
|
||
ifeq ($(SPEECH_TX_AEC2FLOAT),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_AEC2FLOAT
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export DSP_LIB ?= 1
|
||
ifeq ($(CHIP_HAS_EC_CODEC_REF),1)
|
||
export SPEECH_TX_AEC_CODEC_REF := 1
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(SCO_DMA_SNAPSHOT),0)
|
||
export SPEECH_TX_AEC_CODEC_REF := 0
|
||
endif
|
||
|
||
export SPEECH_TX_NS ?= 0
|
||
ifeq ($(SPEECH_TX_NS),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_NS
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_TX_NS2 ?= 0
|
||
ifeq ($(SPEECH_TX_NS2),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_NS2
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
KBUILD_CPPFLAGS += -DLC_MMSE_FRAME_LENGTH=$(LC_MMSE_FRAME_LENGTH)
|
||
endif
|
||
|
||
export SPEECH_TX_NS2FLOAT ?= 0
|
||
ifeq ($(SPEECH_TX_NS2FLOAT),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_NS2FLOAT
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export DSP_LIB ?= 1
|
||
endif
|
||
|
||
export SPEECH_TX_NS3 ?= 0
|
||
ifeq ($(SPEECH_TX_NS3),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_NS3
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_TX_WNR ?= 0
|
||
ifeq ($(SPEECH_TX_WNR),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_WNR
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_CS_VAD ?= 0
|
||
ifeq ($(SPEECH_CS_VAD),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_CS_VAD
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM ?= 1
|
||
|
||
export SPEECH_TX_2MIC_NS ?= 0
|
||
ifeq ($(SPEECH_TX_2MIC_NS),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_2MIC_NS
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 2
|
||
endif
|
||
|
||
export SPEECH_TX_2MIC_NS2 ?= 0
|
||
ifeq ($(SPEECH_TX_2MIC_NS2),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_2MIC_NS2
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
KBUILD_CPPFLAGS += -DCOH_FRAME_LENGTH=$(COH_FRAME_LENGTH)
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 2
|
||
endif
|
||
|
||
export SPEECH_TX_2MIC_NS3 ?= 0
|
||
ifeq ($(SPEECH_TX_2MIC_NS3),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_2MIC_NS3
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 2
|
||
endif
|
||
|
||
export SPEECH_TX_2MIC_NS4 ?= 0
|
||
ifeq ($(SPEECH_TX_2MIC_NS4),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_2MIC_NS4
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
|
||
ifeq ($(BONE_SENSOR_TDM),1)
|
||
# Get 1 channel from sensor
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 1
|
||
else
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 2
|
||
endif
|
||
|
||
endif
|
||
|
||
export SPEECH_TX_2MIC_NS5 ?= 0
|
||
ifeq ($(SPEECH_TX_2MIC_NS5),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_2MIC_NS5
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 2
|
||
endif
|
||
|
||
export SPEECH_TX_3MIC_NS ?= 0
|
||
ifeq ($(SPEECH_TX_3MIC_NS),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_3MIC_NS
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
ifeq ($(BONE_SENSOR_TDM),1)
|
||
# Get 1 channel from sensor
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 2
|
||
else
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 3
|
||
endif
|
||
endif
|
||
|
||
export SPEECH_TX_3MIC_NS3 ?= 0
|
||
ifeq ($(SPEECH_TX_3MIC_NS3),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_3MIC_NS3
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
# Get 1 channel from sensor
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 3
|
||
endif
|
||
|
||
export SPEECH_TX_THIRDPARTY_ALANGO ?= 0
|
||
ifeq ($(SPEECH_TX_THIRDPARTY_ALANGO),1)
|
||
export SPEECH_TX_THIRDPARTY := 1
|
||
core-y += thirdparty/alango_lib/
|
||
endif
|
||
|
||
export SPEECH_TX_THIRDPARTY ?= 0
|
||
ifeq ($(SPEECH_TX_THIRDPARTY),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_THIRDPARTY
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
# Get 1 channel from sensor
|
||
export SPEECH_CODEC_CAPTURE_CHANNEL_NUM = 2
|
||
ifeq ($(CHIP_HAS_EC_CODEC_REF),1)
|
||
export SPEECH_TX_AEC_CODEC_REF := 1
|
||
endif
|
||
endif
|
||
|
||
export SPEECH_TX_NOISE_GATE ?= 0
|
||
ifeq ($(SPEECH_TX_NOISE_GATE),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_NOISE_GATE
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_TX_COMPEXP ?= 0
|
||
ifeq ($(SPEECH_TX_COMPEXP),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_COMPEXP
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_TX_AGC ?= 0
|
||
ifeq ($(SPEECH_TX_AGC),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_AGC
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_TX_EQ ?= 0
|
||
ifeq ($(SPEECH_TX_EQ),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_EQ
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export DSP_LIB ?= 1
|
||
endif
|
||
|
||
export SPEECH_TX_POST_GAIN ?= 0
|
||
ifeq ($(SPEECH_TX_POST_GAIN),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_TX_POST_GAIN
|
||
endif
|
||
|
||
export SPEECH_RX_NS ?= 0
|
||
ifeq ($(SPEECH_RX_NS),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_RX_NS
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_RX_NS2 ?= 0
|
||
ifeq ($(SPEECH_RX_NS2),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_RX_NS2
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_RX_NS2FLOAT ?= 0
|
||
ifeq ($(SPEECH_RX_NS2FLOAT),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_RX_NS2FLOAT
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export DSP_LIB ?= 1
|
||
endif
|
||
|
||
export SPEECH_RX_NS3 ?= 0
|
||
ifeq ($(SPEECH_RX_NS3),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_RX_NS3
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_RX_AGC ?= 0
|
||
ifeq ($(SPEECH_RX_AGC),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_RX_AGC
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
endif
|
||
|
||
export SPEECH_RX_EQ ?= 0
|
||
ifeq ($(SPEECH_RX_EQ),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_RX_EQ
|
||
KBUILD_CPPFLAGS += -DHFP_DISABLE_NREC
|
||
export DSP_LIB ?= 1
|
||
endif
|
||
|
||
export SPEECH_RX_POST_GAIN ?= 0
|
||
ifeq ($(SPEECH_RX_POST_GAIN),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_RX_POST_GAIN
|
||
endif
|
||
|
||
export SPEECH_RX_24BIT ?= 0
|
||
ifeq ($(SPEECH_RX_EQ),1)
|
||
# enable 24bit to fix low level signal distortion
|
||
export SPEECH_RX_24BIT = 1
|
||
endif
|
||
|
||
export WL_UI ?= 0
|
||
ifeq ($(WL_UI),1)
|
||
KBUILD_CPPFLAGS += -DWL_UI
|
||
endif
|
||
|
||
|
||
export SPEECH_PROCESS_FRAME_MS ?= 16
|
||
ifeq ($(SPEECH_CODEC_CAPTURE_CHANNEL_NUM),1)
|
||
export SPEECH_PROCESS_FRAME_MS = 15
|
||
endif
|
||
ifeq ($(SPEECH_TX_2MIC_NS2),1)
|
||
export SPEECH_PROCESS_FRAME_MS = 15
|
||
endif
|
||
ifeq ($(SPEECH_TX_THIRDPARTY),1)
|
||
export SPEECH_PROCESS_FRAME_MS = 15
|
||
endif
|
||
|
||
export SPEECH_SCO_FRAME_MS ?= 15
|
||
|
||
export SPEECH_SIDETONE ?= 0
|
||
ifeq ($(SPEECH_SIDETONE),1)
|
||
KBUILD_CPPFLAGS += -DSPEECH_SIDETONE
|
||
ifeq ($(CHIP),best2000)
|
||
# Disable SCO resample
|
||
export SW_SCO_RESAMPLE := 0
|
||
export NO_SCO_RESAMPLE := 1
|
||
endif
|
||
endif
|
||
|
||
ifeq ($(THIRDPARTY_LIB),aispeech)
|
||
export DSP_LIB ?= 1
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# Features for full application projects
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(FULL_APP_PROJECT),1)
|
||
|
||
export BESLIB_INFO := $(GIT_REVISION)
|
||
|
||
export SPEECH_LIB ?= 1
|
||
|
||
export FLASH_PROTECTION ?= 1
|
||
|
||
export APP_TEST_AUDIO ?= 0
|
||
|
||
export APP_TEST_MODE ?= 0
|
||
ifeq ($(APP_TEST_MODE),1)
|
||
KBUILD_CPPFLAGS += -DAPP_TEST_MODE
|
||
endif
|
||
|
||
export VOICE_PROMPT ?= 1
|
||
|
||
export AUDIO_QUEUE_SUPPORT ?= 1
|
||
|
||
export VOICE_RECOGNITION ?= 0
|
||
|
||
export ENGINEER_MODE ?= 1
|
||
ifeq ($(ENGINEER_MODE),1)
|
||
FACTORY_MODE := 1
|
||
endif
|
||
ifeq ($(FACTORY_MODE),1)
|
||
KBUILD_CPPFLAGS += -D__FACTORY_MODE_SUPPORT__
|
||
endif
|
||
|
||
export NEW_NV_RECORD_ENABLED ?= 1
|
||
ifeq ($(NEW_NV_RECORD_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DNEW_NV_RECORD_ENABLED
|
||
KBUILD_CPPFLAGS += -Iservices/nv_section/userdata_section
|
||
endif
|
||
|
||
ifeq ($(HEAR_THRU_PEAK_DET),1)
|
||
KBUILD_CPPFLAGS += -D__HEAR_THRU_PEAK_DET__
|
||
endif
|
||
|
||
KBUILD_CPPFLAGS += -DSPEECH_PROCESS_FRAME_MS=$(SPEECH_PROCESS_FRAME_MS)
|
||
KBUILD_CPPFLAGS += -DSPEECH_SCO_FRAME_MS=$(SPEECH_SCO_FRAME_MS)
|
||
|
||
KBUILD_CPPFLAGS += -DMULTIPOINT_DUAL_SLAVE
|
||
|
||
endif # FULL_APP_PROJECT
|
||
|
||
ifeq ($(SPEECH_LIB),1)
|
||
|
||
export DSP_LIB ?= 1
|
||
|
||
ifeq ($(USB_AUDIO_APP),1)
|
||
ifneq ($(USB_AUDIO_SEND_CHAN),$(SPEECH_CODEC_CAPTURE_CHANNEL_NUM))
|
||
$(info )
|
||
$(info CAUTION: Change USB_AUDIO_SEND_CHAN($(USB_AUDIO_SEND_CHAN)) to SPEECH_CODEC_CAPTURE_CHANNEL_NUM($(SPEECH_CODEC_CAPTURE_CHANNEL_NUM)))
|
||
$(info )
|
||
export USB_AUDIO_SEND_CHAN := $(SPEECH_CODEC_CAPTURE_CHANNEL_NUM)
|
||
ifneq ($(USB_AUDIO_SEND_CHAN),$(SPEECH_CODEC_CAPTURE_CHANNEL_NUM))
|
||
$(error ERROR: Failed to change USB_AUDIO_SEND_CHAN($(USB_AUDIO_SEND_CHAN)))
|
||
endif
|
||
endif
|
||
endif
|
||
|
||
KBUILD_CPPFLAGS += -DSPEECH_CODEC_CAPTURE_CHANNEL_NUM=$(SPEECH_CODEC_CAPTURE_CHANNEL_NUM)
|
||
KBUILD_CPPFLAGS += -DSPEECH_ASR_CAPTURE_CHANNEL_NUM=$(SPEECH_ASR_CAPTURE_CHANNEL_NUM)
|
||
endif # SPEECH_LIB
|
||
|
||
export USB_AUDIO_SPEECH ?= 0
|
||
ifeq ($(USB_AUDIO_SPEECH),1)
|
||
export USB_AUDIO_DYN_CFG := 0
|
||
export KEEP_SAME_LATENCY := 1
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# BISTO feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(BISTO_ENABLE),1)
|
||
|
||
KBUILD_CFLAGS += -DBISTO_ENABLED
|
||
|
||
KBUILD_CPPFLAGS += -DCFG_SW_KEY_LPRESS_THRESH_MS=1000
|
||
|
||
KBUILD_CPPFLAGS += -DDEBUG_BLE_DATAPATH=0
|
||
|
||
KBUILD_CFLAGS += -DCRC32_OF_IMAGE
|
||
|
||
#export OPUS_CODEC ?= 1
|
||
#ENCODING_ALGORITHM_OPUS 2
|
||
#ENCODING_ALGORITHM_SBC 3
|
||
#KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=3
|
||
|
||
# As MIX_MIC_DURING_MUSIC uses the isolated audio stream, if define MIX_MIC_DURING_MUSIC,
|
||
# the isolated audio stream must be enabled
|
||
KBUILD_CPPFLAGS += -DISOLATED_AUDIO_STREAM_ENABLED=1
|
||
|
||
ASSERT_SHOW_FILE_FUNC ?= 1
|
||
|
||
#KBUILD_CPPFLAGS += -DSAVING_AUDIO_DATA_TO_SD_ENABLED=1
|
||
|
||
KBUILD_CPPFLAGS += -DIS_GSOUND_BUTTION_HANDLER_WORKAROUND_ENABLED
|
||
|
||
ifeq ($(GSOUND_HOTWORD_ENABLE), 1)
|
||
KBUILD_CFLAGS += -DGSOUND_HOTWORD_ENABLED
|
||
ifeq ($(GSOUND_HOTWORD_EXTERNAL), 1)
|
||
KBUILD_CFLAGS += -DGSOUND_HOTWORD_EXTERNAL
|
||
endif
|
||
endif
|
||
|
||
REDUCED_GUESTURE_ENABLE ?= 0
|
||
|
||
BISTO_USE_TWS_API ?= 1
|
||
ifeq ($(BISTO_USE_TWS_API), 1)
|
||
KBUILD_CPPFLAGS += -DBISTO_USE_TWS_API
|
||
endif
|
||
|
||
ifeq ($(REDUCED_GUESTURE_ENABLE), 1)
|
||
KBUILD_CFLAGS += -DREDUCED_GUESTURE_ENABLED
|
||
endif
|
||
endif # BISTO_ENABLE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# GFPS feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(GFPS_ENABLE),1)
|
||
|
||
KBUILD_CPPFLAGS += -DGFPS_ENABLED
|
||
export BLE_SECURITY_ENABLED := 1
|
||
|
||
# this macro is used to determain if the resolveable private address is used for BLE
|
||
KBUILD_CPPFLAGS += -DBLE_USE_RPA
|
||
|
||
endif # GFPS
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# AMA feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(AMA_VOICE),1)
|
||
|
||
KBUILD_CPPFLAGS += -D__AMA_VOICE__
|
||
KBUILD_CPPFLAGS += -DBLE_USE_RPA
|
||
|
||
ifeq ($(CHIP),best1400)
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=3
|
||
export OPUS_CODEC ?= 0
|
||
else
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=2
|
||
export OPUS_CODEC := 1
|
||
endif
|
||
endif # AMA_VOICE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# DMA feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(DMA_VOICE),1)
|
||
KBUILD_CPPFLAGS += -D__DMA_VOICE__
|
||
|
||
KBUILD_CPPFLAGS += -D__BES__
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=2
|
||
KBUILD_CPPFLAGS += -DNVREC_BAIDU_DATA_SECTION
|
||
KBUILD_CPPFLAGS += -DBAIDU_DATA_RAND_LEN=8
|
||
KBUILD_CPPFLAGS += -DFM_MIN_FREQ=875
|
||
KBUILD_CPPFLAGS += -DFM_MAX_FREQ=1079
|
||
KBUILD_CPPFLAGS += -DBAIDU_DATA_DEF_FM_FREQ=893
|
||
KBUILD_CPPFLAGS += -DBAIDU_DATA_SN_LEN=16
|
||
export OPUS_CODEC := 1
|
||
export SHA256_ROM ?= 1
|
||
export LIBC_ROM := 0
|
||
ifeq ($(LIBC_ROM),1)
|
||
$(error LIBC_ROM should be 0 when DMA_VOICE=1)
|
||
endif
|
||
endif # DMA_VOICE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# GMA feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(GMA_VOICE),1)
|
||
export AI_VOICE ?= 1
|
||
KBUILD_CPPFLAGS += -D__GMA_VOICE__
|
||
|
||
#KBUILD_CPPFLAGS += -DKEYWORD_WAKEUP_ENABLED=0
|
||
#KBUILD_CPPFLAGS += -DPUSH_AND_HOLD_ENABLED=1
|
||
#KBUILD_CPPFLAGS += -DAI_32KBPS_VOICE=0
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=2
|
||
export OPUS_CODEC := 1
|
||
KBUILD_CPPFLAGS += -D__GMA_OTA_TWS__
|
||
#KBUILD_CPPFLAGS += -DMCU_HIGH_PERFORMANCE_MODE
|
||
KBUILD_CPPFLAGS += -DGMA_HOLD_ACTIVE_ENABLE
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# SMART_VOICE feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(SMART_VOICE),1)
|
||
KBUILD_CPPFLAGS += -D__SMART_VOICE__
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=2
|
||
export OPUS_CODEC := 1
|
||
#SPEECH_CODEC_CAPTURE_CHANNEL_NUM ?= 2
|
||
#KBUILD_CPPFLAGS += -DMCU_HIGH_PERFORMANCE_MODE
|
||
#KBUILD_CPPFLAGS += -DSPEECH_CAPTURE_TWO_CHANNEL
|
||
endif # SMART_VOICE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# TENCENT_VOICE feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(TENCENT_VOICE),1)
|
||
KBUILD_CPPFLAGS += -D__TENCENT_VOICE__
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=2
|
||
export OPUS_CODEC := 1
|
||
endif # TENCENT_VOICE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# CUSTOMIZE feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(CUSTOMIZE_VOICE),1)
|
||
KBUILD_CPPFLAGS += -D__CUSTOMIZE_VOICE__
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=2
|
||
export OPUS_CODEC := 1
|
||
#SPEECH_CODEC_CAPTURE_CHANNEL_NUM ?= 2
|
||
#KBUILD_CPPFLAGS += -DMCU_HIGH_PERFORMANCE_MODE
|
||
#KBUILD_CPPFLAGS += -DSPEECH_CAPTURE_TWO_CHANNEL
|
||
endif # CUSTOMIZE_VOICE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# Dual MIC recording feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(DUAL_MIC_RECORDING),1)
|
||
KBUILD_CPPFLAGS += -D__DUAL_MIC_RECORDING__
|
||
KBUILD_CPPFLAGS += -DVOB_ENCODING_ALGORITHM=2
|
||
ifeq ($(LOWER_BANDWIDTH),1)
|
||
KBUILD_CPPFLAGS += -D__LOWER_BANDWIDTH__
|
||
endif # LOWER_BANDWIDTH
|
||
export OPUS_CODEC := 1
|
||
endif # DUAL_MIC_RECORDING
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# AI_VOICE feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(AI_VOICE),1)
|
||
KBUILD_CPPFLAGS += -D__AI_VOICE__
|
||
KBUILD_CPPFLAGS += -DNO_ENCODING=0
|
||
KBUILD_CPPFLAGS += -DENCODING_ALGORITHM_ADPCM=1
|
||
KBUILD_CPPFLAGS += -DENCODING_ALGORITHM_OPUS=2
|
||
KBUILD_CPPFLAGS += -DENCODING_ALGORITHM_SBC=3
|
||
KBUILD_CPPFLAGS += -DOS_DYNAMIC_MEM_SIZE=0x6800
|
||
ifeq ($(OPUS_CODEC),1)
|
||
KBUILD_CPPFLAGS += -DOPUS_IN_OVERLAY
|
||
endif
|
||
|
||
ifeq ($(filter -DISOLATED_AUDIO_STREAM_ENABLED=1,$(KBUILD_CPPFLAGS)),)
|
||
KBUILD_CPPFLAGS += -DISOLATED_AUDIO_STREAM_ENABLED=1
|
||
endif
|
||
|
||
ifneq ($(filter -DVOB_ENCODING_ALGORITHM=2,$(KBUILD_CPPFLAGS)),)
|
||
ifneq ($(USE_KNOWLES),1)
|
||
ifneq ($(ALEXA_WWE),1)
|
||
export AF_STACK_SIZE ?= 16384
|
||
endif
|
||
endif
|
||
endif
|
||
endif # AI_VOICE
|
||
|
||
ifeq ($(THROUGH_PUT),1)
|
||
KBUILD_CPPFLAGS += -D__THROUGH_PUT__
|
||
endif # THROUGH_PUT
|
||
|
||
ifeq ($(USE_KNOWLES),1)
|
||
KBUILD_CPPFLAGS += -D__KNOWLES
|
||
KBUILD_CPPFLAGS += -DIDLE_ALEXA_KWD
|
||
export THIRDPARTY_LIB := knowles_uart
|
||
endif
|
||
|
||
AI_CAPTURE_CHANNEL_NUM ?= 0
|
||
ifneq ($(AI_CAPTURE_CHANNEL_NUM),0)
|
||
KBUILD_CPPFLAGS += -DAI_CAPTURE_CHANNEL_NUM=$(AI_CAPTURE_CHANNEL_NUM)
|
||
endif
|
||
|
||
AI_CAPTURE_DATA_AEC ?= 0
|
||
ifeq ($(AI_CAPTURE_DATA_AEC),1)
|
||
KBUILD_CPPFLAGS += -DAI_CAPTURE_DATA_AEC
|
||
KBUILD_CPPFLAGS += -DAI_ALGORITHM_ENABLE
|
||
KBUILD_CPPFLAGS += -DAEC_STERE_ON
|
||
endif
|
||
|
||
export AI_AEC_CP_ACCEL ?= 0
|
||
ifeq ($(AI_AEC_CP_ACCEL),1)
|
||
KBUILD_CPPFLAGS += -DAI_AEC_CP_ACCEL
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# MULTI_AI feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(IS_MULTI_AI_ENABLE),1)
|
||
export SHA256_ROM ?= 1
|
||
KBUILD_CPPFLAGS += -DIS_MULTI_AI_ENABLED
|
||
endif # MULTI_AI
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# VOICE_DATAPATH feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(VOICE_DATAPATH_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DVOICE_DATAPATH
|
||
endif # VOICE_DATAPATH
|
||
|
||
export SLAVE_ADV_BLE_ENABLED ?= 0
|
||
ifeq ($(SLAVE_ADV_BLE_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DSLAVE_ADV_BLE
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# TILE feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(TILE_DATAPATH_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DTILE_DATAPATH
|
||
endif
|
||
|
||
export CUSTOM_INFORMATION_TILE_ENABLE ?= 0
|
||
ifeq ($(CUSTOM_INFORMATION_TILE_ENABLE),1)
|
||
KBUILD_CPPFLAGS += -DCUSTOM_INFORMATION_TILE=1
|
||
endif # TILE
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# MFI feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(IOS_MFI),1)
|
||
KBUILD_CPPFLAGS += -DIOS_IAP2_PROTOCOL
|
||
endif # IOS_MFI
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# MIX_MIC_DURING_MUSIC feature
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(MIX_MIC_DURING_MUSIC_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DMIX_MIC_DURING_MUSIC
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# Put customized features above
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# Obsoleted features
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
OBSOLETED_FEATURE_LIST := EQ_PROCESS RB_CODEC AUDIO_EQ_PROCESS MEDIA_PLAYER_RBCODEC
|
||
USED_OBSOLETED_FEATURE := $(strip $(foreach f,$(OBSOLETED_FEATURE_LIST),$(if $(filter 1,$($f)),$f)))
|
||
ifneq ($(USED_OBSOLETED_FEATURE),)
|
||
$(error Obsoleted features: $(USED_OBSOLETED_FEATURE))
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# Flash suspend features
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(FLASH_SUSPEND), 1)
|
||
KBUILD_CPPFLAGS += -DFLASH_SUSPEND
|
||
endif
|
||
|
||
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
|
||
# BLE only enable features
|
||
# ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||
ifeq ($(BLE_ONLY_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DBLE_ONLY_ENABLED
|
||
KBUILD_CPPFLAGS += -DBLE_POWER_LEVEL_0
|
||
endif
|
||
|
||
# -------------------------------------------
|
||
# General
|
||
# -------------------------------------------
|
||
|
||
ifneq ($(NO_CONFIG),1)
|
||
core-y += config/
|
||
endif
|
||
|
||
ifneq ($(NO_BOOT_STRUCT),1)
|
||
core-y += $(call add_if_exists,utils/boot_struct/)
|
||
endif
|
||
|
||
export DEFAULT_CFG_SRC ?= _default_cfg_src_
|
||
|
||
ifneq ($(wildcard $(srctree)/config/$(T)/tgt_hardware.h $(srctree)/config/$(T)/res/),)
|
||
KBUILD_CPPFLAGS += -Iconfig/$(T)
|
||
endif
|
||
KBUILD_CPPFLAGS += -Iconfig/$(DEFAULT_CFG_SRC)
|
||
|
||
CPU_CFLAGS := -mthumb
|
||
ifeq ($(CPU),a7)
|
||
CPU_CFLAGS += -march=armv7-a
|
||
else ifeq ($(CPU),m33)
|
||
ifeq ($(CPU_NO_DSP),1)
|
||
CPU_CFLAGS += -mcpu=cortex-m33+nodsp
|
||
else
|
||
CPU_CFLAGS += -mcpu=cortex-m33
|
||
endif
|
||
else
|
||
CPU_CFLAGS += -mcpu=cortex-m4
|
||
endif
|
||
|
||
export UNALIGNED_ACCESS ?= 1
|
||
ifeq ($(UNALIGNED_ACCESS),1)
|
||
KBUILD_CPPFLAGS += -DUNALIGNED_ACCESS
|
||
else
|
||
CPU_CFLAGS += -mno-unaligned-access
|
||
endif
|
||
|
||
ifeq ($(CHIP_HAS_FPU),1)
|
||
ifeq ($(CPU),a7)
|
||
CPU_CFLAGS += -mfpu=vfpv3-d16
|
||
else ifeq ($(CPU),m33)
|
||
CPU_CFLAGS += -mfpu=fpv5-sp-d16
|
||
else
|
||
CPU_CFLAGS += -mfpu=fpv4-sp-d16
|
||
endif
|
||
ifeq ($(SOFT_FLOAT_ABI),1)
|
||
CPU_CFLAGS += -mfloat-abi=softfp
|
||
else
|
||
CPU_CFLAGS += -mfloat-abi=hard
|
||
endif
|
||
else
|
||
CPU_CFLAGS += -mfloat-abi=soft
|
||
endif
|
||
|
||
# ifneq ($(ALLOW_WARNING),1)
|
||
# KBUILD_CPPFLAGS += -Werror
|
||
# endif
|
||
|
||
ifeq ($(PIE),1)
|
||
ifneq ($(TOOLCHAIN),armclang)
|
||
ifneq ($(NOSTD),1)
|
||
$(error PIE can only work when NOSTD=1)
|
||
endif
|
||
KBUILD_CPPFLAGS += -msingle-pic-base
|
||
endif
|
||
KBUILD_CPPFLAGS += -fPIE
|
||
# -pie option will generate .dynamic section
|
||
#LDFLAGS += -pie
|
||
#LDFLAGS += -z relro -z now
|
||
endif
|
||
|
||
KBUILD_CPPFLAGS += $(CPU_CFLAGS) $(SPECS_CFLAGS)
|
||
LINK_CFLAGS += $(CPU_CFLAGS) $(SPECS_CFLAGS)
|
||
CFLAGS_IMAGE += $(CPU_CFLAGS) $(SPECS_CFLAGS)
|
||
|
||
# Save 100+ bytes by filling less alignment holes
|
||
# TODO: Array alignment?
|
||
#LDFLAGS += --sort-common --sort-section=alignment
|
||
|
||
ifeq ($(CTYPE_PTR_DEF),1)
|
||
ifeq ($(TOOLCHAIN),armclang)
|
||
$(error CTYPE_PTR_DEF is not supported in $(TOOLCHAIN))
|
||
else
|
||
LDFLAGS_IMAGE += --defsym __ctype_ptr__=0
|
||
endif
|
||
endif
|
||
|
||
export RAND_FROM_MIC ?= 0
|
||
ifeq ($(RAND_FROM_MIC),1)
|
||
KBUILD_CPPFLAGS += -D__RAND_FROM_MIC__
|
||
endif
|
||
|
||
export RSSI_GATHERING_ENABLED ?= 0
|
||
ifeq ($(RSSI_GATHERING_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DRSSI_GATHERING_ENABLED
|
||
endif
|
||
|
||
export TOTA ?= 0
|
||
ifeq ($(TOTA),1)
|
||
KBUILD_CPPFLAGS += -DTOTA
|
||
KBUILD_CPPFLAGS += -DRSSI_GATHERING_ENABLED
|
||
endif
|
||
|
||
export POWER_ON_ENTER_TWS_PAIRING_ENABLED ?= 0
|
||
ifeq ($(POWER_ON_ENTER_TWS_PAIRING_ENABLED),1)
|
||
KBUILD_CPPFLAGS += -DPOWER_ON_ENTER_TWS_PAIRING_ENABLED
|
||
endif
|