1# Copyright (C) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED. 2# 3# This program is free software; you can redistribute it and/or 4# modify it under the terms of the GNU General Public License 5# as published by the Free Software Foundation; either version 2 6# of the License, or (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program; if not, write to the Free Software 15# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 16 17# $(ROOT)/mpp/code/component/hdmi/mkp/Makefile 18 19ifeq ($(PARAM_FILE), ) 20 PARAM_FILE:=../../../../Makefile.param 21 include $(PARAM_FILE) 22endif 23 24ifeq ($(HIARCH), hi3519av100) 25 HDMI_CHIP := hi3519av100 26 EXTRA_CFLAGS += -DHDMI_PRODUCT_HI3519A 27 CTRL_DIR := hal/ctrl/hisiv100 28 PHY_DIR := hal/phy/hisiv200 29 export CEC_SUPPORT=n 30 export SCDC_SUPPORT=y 31else ifeq ($(HIARCH), hi3516cv500) 32 HDMI_CHIP := hi3516cv500 33 EXTRA_CFLAGS += -DHDMI_PRODUCT_HI3516CV500 34 EXTRA_CFLAGS += -DCHIP_TYPE_hi3516cv500 35 CTRL_DIR := hal/ctrl/hisiv100 36 PHY_DIR := hal/phy/hisiv100 37 export CEC_SUPPORT=n 38 export SCDC_SUPPORT=n 39else ifeq ($(HIARCH), hi3559av100) 40ifeq ($(HI_SUBARCH), hi3569v100) 41 export FRL_SUPPORT=n 42 EXTRA_CFLAGS += -DCHIP_TYPE_hi3569v100 43else 44 export FRL_SUPPORT=y 45 EXTRA_CFLAGS += -DCHIP_TYPE_hi3559av100 46endif 47 EXTRA_CFLAGS += -DHDMI_PRODUCT_HI3559A 48 HDMI_CHIP := hi3559av100 49 CTRL_DIR := hal/ctrl/hisiv200 50 PHY_DIR := hal/phy/hisiv200 51 export SCDC_SUPPORT=y 52 export HDR_SUPPORT=y 53endif 54#################################################################### 55# path 56#################################################################### 57HDMI_VERSION := hdmi 58 59MPP_PATH := $(SDK_PATH)/mpp 60CODE_ROOT := $(MPP_PATH)/cbb 61 62INC_PATH := -I$(PWD)/../include\ 63 -I$(CODE_ROOT)/include\ 64 -I$(CODE_ROOT)/include/adapt\ 65 -I$(CODE_ROOT)/base/ext_inc\ 66 -I$(CODE_ROOT)/base/include/adapt\ 67 -I$(CODE_ROOT)/vo/include/adapt\ 68 -I$(CODE_ROOT)/vo/vo_dev/include/adapt\ 69 -I$(CODE_ROOT)/base/arch/$(HDMI_CHIP)/include\ 70 -I$(CODE_ROOT)/base/arch/$(HIARCH)/include/$(HI_SUBARCH) \ 71 -I$(SDK_PATH)/osal/include\ 72 -I$(MPP_PATH)/cbb/vo/ext_inc\ 73 -I$(MPP_PATH)/cbb/vo/vo_dev/ext_inc\ 74 -I$(MPP_PATH)/cbb/sys/ext_inc 75 76 77CUR_DIR := $(PWD) 78 79#################################################################### 80# hi3559a hal 81#################################################################### 82EXTRA_CFLAGS += -DHDMI_SUPPORT_LOGIC_HISIV100 83HAL := hisiv100 84HAL_DIR := hal/ctrl/$(HAL) 85 86PRODUCT_DIR := product/$(HDMI_CHIP) 87LINUX_VERSION := osal/hisiv600 88 89INC_PATH += -I$(CUR_DIR) 90INC_PATH += -I$(CUR_DIR)/hal 91INC_PATH += -I$(CUR_DIR)/proc 92INC_PATH += -I$(CUR_DIR)/$(LINUX_VERSION) 93INC_PATH += -I$(CUR_DIR)/$(PRODUCT_DIR) 94INC_PATH += -I$(CUR_DIR)/$(PRODUCT_DIR)/regs 95INC_PATH += -I$(CUR_DIR)/$(CTRL_DIR) 96INC_PATH += -I$(CUR_DIR)/$(PHY_DIR) 97INC_PATH += -I$(CUR_DIR)/$(PHY_DIR)/regs 98INC_PATH += -I$(CUR_DIR)/$(CTRL_DIR)/regs 99 100HDMI_SRC += $(CTRL_DIR)/regs/hdmi_reg_aon.c\ 101 $(CTRL_DIR)/regs/hdmi_reg_audio_path.c\ 102 $(CTRL_DIR)/regs/hdmi_reg_ctrl.c\ 103 $(CTRL_DIR)/regs/hdmi_reg_tx.c\ 104 $(CTRL_DIR)/regs/hdmi_reg_video_path.c 105 106HDMI_SRC += $(CTRL_DIR)/hdmi_hal_intf.c\ 107 $(CTRL_DIR)/hdmi_hal_machine.c\ 108 $(CTRL_DIR)/hdmi_hal_ddc.c\ 109 $(CTRL_DIR)/hdmi_hal_ncts.c\ 110 $(CTRL_DIR)/hdmi_hal_ctrl.c 111 112HDMI_SRC += $(PRODUCT_DIR)/regs/hdmi_reg_crg.c\ 113 $(PRODUCT_DIR)/hdmi_product_define.c\ 114 $(PHY_DIR)/regs/hdmi_reg_dphy.c\ 115 $(PHY_DIR)/hdmi_hal_phy.c 116 117HDMI_SRC += drv_hdmi_infoframe.c\ 118 drv_hdmi_event.c\ 119 drv_hdmi_edid.c\ 120 drv_hdmi_intf.c\ 121 drv_hdmi_intf_k.c\ 122 drv_hdmi_common.c\ 123 drv_hdmi_compatibility.c\ 124 $(LINUX_VERSION)/hdmi_osal.c 125 126ifeq ($(CONFIG_HI_PROC_SHOW_SUPPORT),y) 127HDMI_SRC += drv_hdmi_proc.c 128endif 129 130ifeq ($(FRL_SUPPORT), y) 131EXTRA_CFLAGS += -DHDMI_FRL_SUPPORT 132HDMI_SRC += $(CTRL_DIR)/regs/hdmi_reg_frl.c\ 133 $(CTRL_DIR)/hdmi_hal_frl.c\ 134 drv_hdmi_frl.c\ 135 drv_hdmi_dfm.c 136 137# kernel open high precision 138 139ifeq ($(HIARCH), hi3559av100) 140#EXTRA_CFLAGS += -DHDMI_SYS_NOHIGH_TIMERS 141HDMI_SRC += $(CTRL_DIR)/hdmi_hal_timer.c\ 142 $(CTRL_DIR)/regs/hdmi_reg_timer.c 143endif 144endif 145 146ifeq ($(CEC_SUPPORT), y) 147# if support CEC, add files 148EXTRA_CFLAGS += -DHDMI_CEC_SUPPORT 149EXTRA_CFLAGS += -DHDMI_PRIORITY_PLAYBACK 150HDMI_SRC += $(CTRL_DIR)/regs/hdmi_reg_cec.c \ 151 $(CTRL_DIR)/hdmi_hal_cec.c 152endif 153 154ifeq ($(SCDC_SUPPORT), y) 155EXTRA_CFLAGS += -DHDMI_SCDC_SUPPORT 156HDMI_SRC += $(CTRL_DIR)/hdmi_hal_scdc.c 157endif 158 159ifeq ($(HDR_SUPPORT), y) 160EXTRA_CFLAGS += -DHDMI_HDR_SUPPORT 161endif 162 163ifeq ($(OSTYPE), liteos) 164EXTRA_CFLAGS += -DHDMI_LITEOS_SUPPORT 165else 166# if debug support, add drv_hdmi_debug.c 167ifeq ($(HIARCH), hi3516cv500) 168#hi3516cv500 no debug 169else 170EXTRA_CFLAGS += -DHDMI_DEBUG_SUPPORT 171HDMI_SRC += drv_hdmi_debug.c 172endif 173endif 174# EMI CONFIGS 175#EXTRA_CFLAGS += -DHDMI_EMI_SUPPORT 176EMI_DIR := hal/emi 177INC_PATH += -I$(CUR_DIR)/$(EMI_DIR) 178#HDMI_SRC += $(EMI_DIR)/hdmi_emi.c 179 180INIT_FILE := ../init/$(HIARCH)/$(OSTYPE)/hdmi_init.c 181 182ifeq ($(CONFIG_DRM_HISI_HISMART), y) 183INC_PATH += -I$(CUR_DIR)/drm_hal/ 184include $(CUR_DIR)/drm_hal/Makefile 185endif 186 187MOD_NAME := hi_hdmi 188 189HDMI_SRC_O := $(HDMI_SRC) 190HDMI_SRC += $(INIT_FILE) 191 192#################################################################### 193# end hi3559a hal 194#################################################################### 195 196EXTRA_CFLAGS += -DHDMI_DEFUALT_CALLBACK_SUPPORT 197#EXTRA_CFLAGS += -Wno-error=date-time 198 199ifeq ($(FPGA),y) 200EXTRA_CFLAGS += -DHDMI_FPGA_SUPPORT 201endif 202 203#EXTRA_CFLAGS += $(MPP_CFLAGS) 204 205EXTRA_CFLAGS += -Wall -c -O2 -Wno-date-time 206EXTRA_CFLAGS += -I. $(INC_PATH) -lpthread 207EXTRA_CFLAGS += -D$(HI_FPGA) -D$(HIARCH) 208 209#export hdmi functional support switch 210EXTRA_CFLAGS += -DDVI_SUPPORT 211EXTRA_CFLAGS += -DHDMI_LOG_SUPPORT 212 213 214# release header 215INC_FILE := ../include/hi_comm_hdmi.h 216 217 218define maco_cp_file 219 if [ ! -z "$(1)" ];then cp -rf $(1) "$(2)"; fi 220endef 221 222#export debug switch 223#EXTRA_CFLAGS += -DDEBUG_EDID 224 225EXTRA_CFLAGS += $(MPP_CFLAGS) 226 227EXTRA_CFLAGS += -I$(PWD) 228ifeq ($(HIGDB),y) 229EXTRA_CFLAGS += -g 230endif 231 232ifeq ($(CONFIG_DRIVER_SPACE_TYPE),user_space) 233EXTRA_CFLAGS :=$(subst base/,based/,$(EXTRA_CFLAGS)) 234EXTRA_CFLAGS :=$(subst sys/,sysd/,$(EXTRA_CFLAGS)) 235INC_PATH :=$(subst base/,based/,$(INC_PATH)) 236INC_PATH :=$(subst sys/,sysd/,$(INC_PATH)) 237endif 238 239$(ARCH_LIBNAME)_hdmi-objs := $(HDMI_SRC:%.c=%.o) 240obj-m := $(ARCH_LIBNAME)_hdmi.o 241 242$(MOD_NAME)-objs := $(HDMI_SRC_O:%.c=%.o) 243obj-m += $(MOD_NAME).o 244 245include $(PWD)/Makefile.$(OSTYPE) 246