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

CAMSYS_TRACE_ENABLE = n

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$(srctree)/$(src)


ifneq ($(wildcard $(DEVICE_MODULES_PATH)/include/dt-bindings/memory/mt6983-larb-port.h),)
  subdir-ccflags-y += -DCAMSYS_TF_DUMP_71_1
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

mtk-cam-isp-objs := mtk_cam.o mtk_cam-raw.o mtk_cam-pool.o mtk_cam_pm.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-util-objs :=  mtk_cam-plat-util.o

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

mtk-cam-isp-objs +=  mtk_cam-hsf.o
#mtk-cam-isp-objs += mtk_cam-procdbg.o

include $(src)/mtk_csi_phy_2_0/sub_drv.mk
include $(src)/mtk_csi_phy_3_0/sub_drv.mk

obj-$(CONFIG_VIDEO_MTK_ISP_CAMSYS) += mtk-cam-isp.o
obj-$(CONFIG_VIDEO_MTK_ISP_CAMSYS) += mtk-cam-plat-util.o

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

# camsys platform module
ifneq ($(wildcard $(PLATFORM_PATH)/mtk_cam-plat-mt6983.c),)
subdir-ccflags-y += -DCAMSYS_MRAW_V1
mtk-cam-plat-mt6983-objs :=  mtk_cam-plat-mt6983.o
obj-$(CONFIG_VIDEO_MTK_ISP_CAMSYS) += mtk-cam-plat-mt6983.o
endif
ifneq ($(wildcard $(PLATFORM_PATH)/mtk_cam-plat-mt6879.c),)
subdir-ccflags-y += -DCAMSYS_MRAW_V2
mtk-cam-plat-mt6879-objs :=  mtk_cam-plat-mt6879.o
obj-$(CONFIG_VIDEO_MTK_ISP_CAMSYS) += mtk-cam-plat-mt6879.o
endif
ifneq ($(wildcard $(PLATFORM_PATH)/mtk_cam-plat-mt6895.c),)
subdir-ccflags-y += -DCAMSYS_MRAW_V3
mtk-cam-plat-mt6895-objs :=  mtk_cam-plat-mt6895.o
obj-$(CONFIG_VIDEO_MTK_ISP_CAMSYS) += mtk-cam-plat-mt6895.o
endif
ifneq ($(wildcard $(PLATFORM_PATH)/mtk_cam-plat-dummy.c),)
subdir-ccflags-y += -DCAMSYS_MRAW_DUMMY
endif
