• 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
17DRIVER_DIR := $(PWD)
18
19ifneq ($(HI_MAKE_DEBUG),)
20EXTRA_CFLAGS +=-D$(HI_MAKE_DEBUG)
21endif
22
23ifeq ($(SIXTYFOUR_SYS_STATUS), y)
24EXTRA_CFLAGS += -DSIXFOUR_SYS_STATUS=1
25else
26EXTRA_CFLAGS += -DSIXFOUR_SYS_STATUS=0
27endif
28
29EXTRA_CFLAGS += $(DRV_CFLAGS)
30EXTRA_CFLAGS += -Wall -D$(HIARCH)  -D$(HI_FPGA)
31EXTRA_CFLAGS += -I$(SDK_PATH)/osal/include
32ifeq ($(CONFIG_HI_PROC_SHOW_SUPPORT),y)
33EXTRA_CFLAGS += -DCONFIG_HI_PROC_SHOW_SUPPORT
34endif
35CHIP_TYPE=CHIP_TYPE_$(HIARCH)
36KBUILD_EXTRA_SYMBOLS += $(HI_KBUILD_EXTRA_SYMBOLS)
37
38EXTRA_CFLAGS += -D$(CHIP_TYPE)
39ifeq ($(HIGDB),y)
40EXTRA_CFLAGS += -g
41endif
42
43EXTRA_CFLAGS += -DHI_TDE_MEMCOUNT_SUPPORT=0
44EXTRA_CFLAGS += -DHI_TDE_BUFFER=0x20000
45
46DRIVER_SRC+=src/src/tde_osr.c\
47		src/adp/tde_v2_0/tde_hal_k.c \
48		src/adp/tde_v2_0/tde_osictl_k.c \
49		src/src/tde_osilist.c \
50		src/src/wmalloc.c \
51		src/src/tde_ioctl.c \
52		src/src/tde_handle.c \
53		src/adp/tde_v2_0/tde_adp.c
54
55ifdef CONFIG_HI_PROC_SHOW_SUPPORT
56DRIVER_SRC+= src/src/tde_proc.c
57endif
58
59INIT_FILE := ../init/$(HIARCH)/$(OSTYPE)/tde_init.c
60INIT_HEAD := ../init/include/tde_init.h
61
62MOD_NAME := hi_tde
63
64EXTRA_CFLAGS += -DTDE_LOWPOWER
65
66
67DRIVER_SRC_O := $(DRIVER_SRC)
68DRIVER_SRC += $(INIT_FILE)
69
70$(ARCH_LIBNAME)_tde-objs := $(DRIVER_SRC:%.c=%.o)
71obj-m := $(ARCH_LIBNAME)_tde.o
72
73$(MOD_NAME)-objs := $(DRIVER_SRC_O:%.c=%.o)
74obj-m += $(MOD_NAME).o
75
76EXTRA_CFLAGS += -I$(DRIVER_DIR)/include/ \
77			   	-I$(DRIVER_DIR)/../include/ \
78				-I$(DRIVER_DIR)/../init/include/ \
79			   	-I$(DRV_ROOT)/common/mmz \
80			   	-I$(DRV_ROOT)/common/himedia/ \
81				-I$(SDK_PATH)/mpp/cbb/base/include \
82				-I$(SDK_PATH)/mpp/cbb/base/ext_inc \
83			   	-I$(SDK_PATH)/mpp/cbb/base/mkp/include \
84				-I$(SDK_PATH)/mpp/cbb/base/arch/$(ARCH_DIR)/include \
85				-I$(CBB_ROOT)/base/arch/$(HIARCH)/include/$(HI_SUBARCH) \
86				-I$(DRIVER_DIR)/src/include \
87				-I$(DRIVER_DIR)/src/adp/tde_v2_0 \
88				-I$(DRIVER_DIR)/src/src \
89				-I$(SDK_PATH)/mpp/cbb/include/adapt \
90				-I$(SDK_PATH)/mpp/cbb/include
91
92
93ifeq ($(FPGA),y)
94EXTRA_CFLAGS += -I$(SDK_PATH)/osdrv/$(ARCH_DIR)_fpga/linux/tools/board/reg-tools-1.0.0/include/common
95endif
96
97ifeq ($(CONFIG_DRIVER_SPACE_TYPE),user_space)
98EXTRA_CFLAGS :=$(subst base/,based/,$(EXTRA_CFLAGS))
99EXTRA_CFLAGS :=$(subst sys/,sysd/,$(EXTRA_CFLAGS))
100endif
101
102.PHONY: default clean
103default:
104	@echo $(tde-objs)
105	@echo $(EXTRA_CFLAGS)
106	@$(MAKE) -C $(KERNEL_ROOT) M=$(PWD) $(COMPILER_TRIPLE) modules
107	@cp -rf $(ARCH_LIBNAME)_tde.ko ../
108ifeq ($(CONFIG_DRIVER_SPACE_TYPE),kernel_space)
109	@mkdir -p $(REL_OBJ) && cp -rf $(MOD_NAME).o $(REL_OBJ)
110	@mkdir -p $(REL_INI) && cp -rf $(INIT_FILE) $(REL_INI)
111	@mkdir -p $(REL_INI) && cp -rf $(INIT_HEAD) $(REL_INI)
112endif
113
114clean:
115	@$(MAKE) -C $(KERNEL_ROOT) M=$(PWD) $(COMPILER_TRIPLE) clean
116	@rm -f $(REL_LIB)/libtde.a $(REL_LIB)/libtde.so
117ifeq ($(CONFIG_DRIVER_SPACE_TYPE),kernel_space)
118	@rm -f $(REL_INI)/tde_init.c
119	@rm -f $(REL_INI)/tde_init.h
120endif
121	@for x in `find . -name "*.o*"`;do rm -rf $$x;done
122	@for x in `find . -name "*.o.cmd"`;do rm -rf $$x;done
123	@for x in `find ../ -name "*.ko*"`;do rm -rf $$x;done
124	@for x in `find ../init/$(HIARCH)/$(OSTYPE)/ -name "*.ko*"`;do rm -rf $$x;done
125	@for x in `find ../init/$(HIARCH)/$(OSTYPE)/ -name "*.o.cmd"`;do rm -rf $$x;done
126	@for x in `find ../init/$(HIARCH)/$(OSTYPE)/ -name "*.o*"`;do rm -rf $$x;done
127	@for x in `find . -name "*.ko*"`;do rm -rf $$x;done
128	@for x in `find . -name "*.ko.cmd"`;do rm -rf $$x;done
129	@for x in `find . -name "*.mod.c"`;do rm -rf $$x;done
130	@for x in `find . -name "*.mod"`;do rm -rf $$x;done
131	@for x in `find . -name ".*cmd"`;do rm -rf $$x;done
132	@for x in `find . -name ".tmp_versions*"`;do rm -rf $$x;done
133