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

CAM_MODULE := mtk-cam-isp7s

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$(DEVICE_MODULES_PATH)/drivers/clk/mediatek/ \
    -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

$(CAM_MODULE)-objs := \
    mtk_cam.o \
    mtk_cam-larb.o \
    mtk_cam-pool.o \
    mtk_cam-job.o \
    mtk_cam-job_utils.o \
    mtk_cam-job-stagger.o \
    mtk_cam-job-subsample.o \
    mtk_cam-video.o \
    mtk_cam-fmt_utils.o \
    mtk_cam_vb2-dma-contig.o \
    mtk_cam-seninf-route.o \
    mtk_cam-seninf-drv.o \
    mtk_cam-seninf-ca.o \
    mtk_cam-timesync.o \
    mtk_cam-plat.o \
    mtk_cam-raw.o \
    mtk_cam-raw_pipeline.o \
    mtk_cam-raw_debug.o \
    mtk_cam-tg-flash.o \
    mtk_cam-ctrl.o \
    mtk_cam-dvfs_qos.o \
    mtk_cam-sv.o \
    mtk_cam-debug_option.o

    #mtk_cam-smem.o \
    #mtk_cam-debug.o \
    #mtk_cam-feature.o \
    #mtk_cam-mraw.o\

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

#$(CAM_MODULE)-objs +=  mtk_cam-hsf.o
#$(CAM_MODULE)-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

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

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

ifneq ($(wildcard $(PLATFORM_PATH)/mtk_cam-plat-mt6886.c),)
ccflags-y += -DCAMSYS_ISP7S_MT6886
$(CAM_MODULE)-objs += mtk_cam-plat-mt6886.o
endif

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

