• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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