# SPDX-License-Identifier: GPL-2.0-only

CAM_MODULE := mtk-cam-isp7sp

CAMSYS_TRACE_ENABLE = y

subdir-ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/media/platform/mtk-isp \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/mmdvfs \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/smi/ \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/include/mt-plat/ \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/mtk-interconnect \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/imgsensor/src-v4l2/frame-sync/ \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/imgsensor/inc/ \
	     -I$(DEVICE_MODULES_PATH)/drivers/dma-buf/heaps/ \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/iommu/ \
	     -I$(DEVICE_MODULES_PATH)/drivers/clk/mediatek/ \
	     -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/ \
	     -I$(srctree)/$(src)


ifneq ($(wildcard $(DEVICE_MODULES_PATH)/include/dt-bindings/memory/mt6897-larb-port.h),)
  subdir-ccflags-y += -DCAMSYS_TF_DUMP_7S
endif

# MTEE part
ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/geniezone/public
ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/iommu/
ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/
ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/trustzone/m4u/
ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/dma-buf/heaps
# MTEE end

ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/geniezone/public
ccflags-y += -DSENSOR_SECURE_MTEE_SUPPORT
ccflags-y += -I$(DEVICE_MODULES_PATH)/drivers/misc/mediatek/tee_gp/include
# ccflags-y += -DSECURE_UT

$(CAM_MODULE)-objs := \
    mtk_cam.o \
    mtk_cam-raw.o \
    mtk_cam-pool.o \
    mtk_cam-video.o \
    mtk_cam-smem.o \
    mtk_cam_vb2-dma-contig.o\
    mtk_cam-ctrl.o \
    mtk_cam-seninf-route.o \
    mtk_cam-seninf-drv.o \
    mtk_cam-dvfs_qos.o \
    mtk_cam-debug.o \
    mtk_cam-sv.o \
    mtk_cam-raw_debug.o \
    mtk_cam-tg-flash.o \
    mtk_cam-feature.o \
    mtk_cam-feature-m2m.o \
    mtk_cam-feature-mstream.o \
    mtk_cam-feature-smvr.o \
    mtk_cam-feature-stagger.o \
    mtk_cam-mraw.o\
    mtk_cam-seninf-ca.o \
    mtk_cam-timesync.o \
    mtk_cam-plat.o \
    mtk_cam-hsf.o \

ifeq ($(CAMSYS_TRACE_ENABLE), y)
$(CAM_MODULE)-$(CONFIG_TRACING) += mtk_cam-trace.o
ccflags-y += -DMTK_CAM_TRACE_SUPPORT
endif

ifeq ($(CAMSYS_HSF_ENABLE), y)
$(CAM_MODULE)-objs +=  mtk_cam-hsf.o
ccflags-y += -DMTK_CAM_HSF_SUPPORT
endif

#$(CAM_MODULE)-objs += mtk_cam-procdbg.o

include $(src)/mtk_csi_phy_3_0/sub_drv.mk

PLATFORM_PATH = $(srctree)/$(src)
# workaround for external build
ifneq ($(M),)
PLATFORM_PATH = $(srctree)/$(src)
endif

# platform data
ifneq ($(wildcard $(PLATFORM_PATH)/mtk_cam-plat-mt6897.c),)
ccflags-y += -DCAMSYS_ISP7SP_MT6897
$(CAM_MODULE)-objs += mtk_cam-plat-mt6897.o
endif

obj-$(CONFIG_VIDEO_MTK_ISP_CAMSYS) += $(CAM_MODULE).o
