# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2021 MediaTek Inc.
#

include $(KERNEL_MIXED_BUILD_PATH)/Kbuild.common

# Compile option for error checking
ifneq ($(MIDEMO_BUILD), true)
ccflags-y += -Werror -Wall
#Suppress error for gcc toolchain
ifneq ($(shell $(CC) --version 2>&1 | head -n 1 | grep clang),)
ccflags-y += -Wno-frame-address
endif
endif
ifeq ($(IS_ANDROID), y)
ifneq ($(IC_SETTING), mt5876)
ccflags-y += -Wunsequenced
ccflags-y += -Wunevaluated-expression
ccflags-y += -Wdangling-initializer-list
ccflags-y += -Wuninitialized
ccflags-y += -Wunused-variable
#ccflags-y += -Wcast-align
ccflags-y += -Wdeclaration-after-statement
ccflags-y += -Wconstant-conversion
ccflags-y += -Woverflow
ccflags-y += -Waddress
ccflags-y += -Werror=missing-braces
endif  #ifneq ($(IC_SETTING), mt5876)
endif  #ifeq ($(IS_ANDROID), y)

ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/ \
             -I$(srctree)/include/ \
             -I$(srctree)/drivers/iommu \
             -I$(srctree)/drivers/misc/mediatek/iommu \
             -I$(KERNEL_MIXED_BUILD_PATH)/drivers/misc/mediatek/include \
             -I$(KERNEL_MIXED_BUILD_PATH)/drivers/misc/mediatek/include/mt-plat \

ifeq ($(CONFIG_MMPROFILE),m)
ccflags-$(CONFIG_DEBUG_FS) += -DCONFIG_CMDQ_MMPROFILE_SUPPORT
endif

ifeq ($(CONFIG_MTK_IOMMU_MISC_DBG),m)
ccflags-y += -DMTK_IOMMU_MISC_DBG
endif

ifeq ($(CONFIG_MICROTRUST_TEE_SUPPORT),m)
include $(DEVICE_MODULES_PATH)/drivers/tee/teei/Makefile.include
endif

ifeq ($(CONFIG_TRUSTONIC_TEE_SUPPORT),m)
include $(DEVICE_MODULES_PATH)/drivers/tee/gud/Makefile.include
endif

ifeq ($(CONFIG_MTK_GZ_TZ_SYSTEM),m)
ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/geniezone/public
ccflags-y += -DCMDQ_SECURE_MTEE_SUPPORT

ccflags-y += -DCMDQ_SECURE_SUPPORT
obj-$(CONFIG_MTK_CMDQ_MBOX_EXT) += cmdq-sec-drv.o
cmdq-sec-drv-y := cmdq_sec_mtee.o cmdq-sec-mailbox.o cmdq-sec-helper.o

ccflags-y += -DCMDQ_SECURE_CPR_SUPPORT
endif

ccflags-y += -DCMDQ_DCACHE_INVAL

obj-$(CONFIG_MTK_CMDQ_MBOX_EXT) += mtk-cmdq-drv-ext.o
mtk-cmdq-drv-ext-y := mtk-cmdq-mailbox-ext.o mtk-cmdq-helper-ext.o cmdq-util.o

obj-$(CONFIG_MTK_CMDQ_MBOX_EXT) += cmdq-test.o

#obj-$(CONFIG_MTK_CMDQ_MBOX_EXT) += cmdq-platform-mt6989.o
obj-$(CONFIG_MTK_CMDQ_MBOX_EXT) += cmdq-platform-mt58xx.o
