11bd4fe43Sopenharmony_ci# Copyright (c) 2021 HiSilicon (Shanghai) Technologies CO., LIMITED.
21bd4fe43Sopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License");
31bd4fe43Sopenharmony_ci# you may not use this file except in compliance with the License.
41bd4fe43Sopenharmony_ci# You may obtain a copy of the License at
51bd4fe43Sopenharmony_ci#
61bd4fe43Sopenharmony_ci#     http://www.apache.org/licenses/LICENSE-2.0
71bd4fe43Sopenharmony_ci#
81bd4fe43Sopenharmony_ci# Unless required by applicable law or agreed to in writing, software
91bd4fe43Sopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS,
101bd4fe43Sopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
111bd4fe43Sopenharmony_ci# See the License for the specific language governing permissions and
121bd4fe43Sopenharmony_ci# limitations under the License.
131bd4fe43Sopenharmony_ci
141bd4fe43Sopenharmony_ciSOC_COMPANY := $(subst $\",,$(LOSCFG_DEVICE_COMPANY))
151bd4fe43Sopenharmony_ciSOC_PLATFORM := $(subst $\",,$(LOSCFG_PLATFORM))
161bd4fe43Sopenharmony_ciSOC_BOARD := $(subst $\",,$(LOSCFG_PRODUCT_NAME))
171bd4fe43Sopenharmony_ciCUR_COMPILER := $(if $(LOSCFG_COMPILER_CLANG_LLVM),llvm,gcc)
181bd4fe43Sopenharmony_ciCUR_OS := ohos
191bd4fe43Sopenharmony_ci
201bd4fe43Sopenharmony_ci
211bd4fe43Sopenharmony_ciifeq ($(SOC_BOARD), ipcamera_hi3516dv300_liteos)
221bd4fe43Sopenharmony_ci    SOC_BOARD := hi3516dv300
231bd4fe43Sopenharmony_ciendif
241bd4fe43Sopenharmony_ciifeq ($(SOC_BOARD), ipcamera_hi3518ev300_liteos)
251bd4fe43Sopenharmony_ci    SOC_BOARD := hi3518ev300
261bd4fe43Sopenharmony_ciendif
271bd4fe43Sopenharmony_ci
281bd4fe43Sopenharmony_ciHISILICON_DRIVERS_ROOT := $(LITEOSTOPDIR)/../../device/soc/$(SOC_COMPANY)/common/platform/
291bd4fe43Sopenharmony_ciHISILICON_DRIVERS_SOURCE_ROOT := $(LITEOSTOPDIR)/../../device/soc/$(SOC_COMPANY)/common/platform/source/
301bd4fe43Sopenharmony_ci
311bd4fe43Sopenharmony_ciBUILD_FROM_SOURCE := $(shell if [ -d $(HISILICON_DRIVERS_SOURCE_ROOT) ]; then echo y; else echo n; fi)
321bd4fe43Sopenharmony_ci
331bd4fe43Sopenharmony_ciHDF_INCLUDE += -I $(LITEOSTOPDIR)/../../device/board/$(SOC_COMPANY)/$(SOC_BOARD)/liteos_a/board/include/
341bd4fe43Sopenharmony_ciHDF_INCLUDE += -I $(LITEOSTOPDIR)/../../device/board/$(SOC_COMPANY)/$(SOC_BOARD)/liteos_a/board/include/hisoc
351bd4fe43Sopenharmony_ci
361bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_I2C), y)
371bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_i2c
381bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/i2c
391bd4fe43Sopenharmony_ciendif
401bd4fe43Sopenharmony_ci
411bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_ADC), y)
421bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_adc
431bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/adc
441bd4fe43Sopenharmony_ciendif
451bd4fe43Sopenharmony_ci
461bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_SPI), y)
471bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_spi
481bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/spi
491bd4fe43Sopenharmony_ciendif
501bd4fe43Sopenharmony_ci
511bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_GPIO), y)
521bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_gpio
531bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/gpio
541bd4fe43Sopenharmony_ciendif
551bd4fe43Sopenharmony_ci
561bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_PIN), y)
571bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_pin
581bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/pin
591bd4fe43Sopenharmony_ciendif
601bd4fe43Sopenharmony_ci
611bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_WATCHDOG), y)
621bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_watchdog
631bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/watchdog
641bd4fe43Sopenharmony_ciendif
651bd4fe43Sopenharmony_ci
661bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_MMC), y)
671bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_mmc
681bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/mmc
691bd4fe43Sopenharmony_ciendif
701bd4fe43Sopenharmony_ci
711bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_STORAGE_MTD), y)
721bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_mtd_hisilicon
731bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/mtd
741bd4fe43Sopenharmony_ciendif
751bd4fe43Sopenharmony_ci
761bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_RTC), y)
771bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_rtc
781bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/rtc
791bd4fe43Sopenharmony_ciendif
801bd4fe43Sopenharmony_ci
811bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_UART), y)
821bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_uart
831bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/uart
841bd4fe43Sopenharmony_ciendif
851bd4fe43Sopenharmony_ci
861bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_I2S), y)
871bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_i2s
881bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/i2s
891bd4fe43Sopenharmony_ciendif
901bd4fe43Sopenharmony_ci
911bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_PWM), y)
921bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_pwm
931bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/pwm
941bd4fe43Sopenharmony_ciendif
951bd4fe43Sopenharmony_ci
961bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_HISI_SDK), y)
971bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_hisi_sdk
981bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/hisi_sdk
991bd4fe43Sopenharmony_ciendif
1001bd4fe43Sopenharmony_ci
1011bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_MIPI_DSI), y)
1021bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_mipi_dsi
1031bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/mipi_dsi
1041bd4fe43Sopenharmony_ciendif
1051bd4fe43Sopenharmony_ci
1061bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_MIPI_CSI), y)
1071bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_mipi_csi
1081bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/mipi_csi
1091bd4fe43Sopenharmony_ciendif
1101bd4fe43Sopenharmony_ci
1111bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_DMAC), y)
1121bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_dmac
1131bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/dmac
1141bd4fe43Sopenharmony_ciendif
1151bd4fe43Sopenharmony_ci
1161bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_PLATFORM_TIMER), y)
1171bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_timer
1181bd4fe43Sopenharmony_ci    LIB_SUBDIRS    += $(HISILICON_DRIVERS_ROOT)/timer
1191bd4fe43Sopenharmony_ciendif
1201bd4fe43Sopenharmony_ci
1211bd4fe43Sopenharmony_ciifeq ($(BUILD_FROM_SOURCE), y)
1221bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HIEDMAC), y)
1231bd4fe43Sopenharmony_ci    LITEOS_BASELIB    += -lhiedmac
1241bd4fe43Sopenharmony_ci    LIB_SUBDIRS       += $(HISILICON_DRIVERS_SOURCE_ROOT)/hiedmac
1251bd4fe43Sopenharmony_ci    LITEOS_HIDMAC_INCLUDE   += -I $(HISILICON_DRIVERS_SOURCE_ROOT)/hiedmac/include
1261bd4fe43Sopenharmony_ciendif
1271bd4fe43Sopenharmony_ciendif
1281bd4fe43Sopenharmony_ci
1291bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HIETH_SF), y)
1301bd4fe43Sopenharmony_ci    LITEOS_BASELIB    += -lhieth-sf
1311bd4fe43Sopenharmony_ci    LIB_SUBDIRS       +=  $(HISILICON_DRIVERS_ROOT)/hieth-sf
1321bd4fe43Sopenharmony_ci    LITEOS_HIETH_SF_INCLUDE += -I $(HISILICON_DRIVERS_ROOT)/hieth-sf/include
1331bd4fe43Sopenharmony_ciendif
1341bd4fe43Sopenharmony_ci
1351bd4fe43Sopenharmony_ci# mmc dirvers
1361bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_MMC), y)
1371bd4fe43Sopenharmony_ci    LITEOS_BASELIB  += -lmmc
1381bd4fe43Sopenharmony_ciendif
1391bd4fe43Sopenharmony_ci
1401bd4fe43Sopenharmony_ci# mtd drivers
1411bd4fe43Sopenharmony_ciifneq ($(LOSCFG_DRIVERS_HDF_STORAGE_MTD), y)
1421bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_MTD), y)
1431bd4fe43Sopenharmony_ciifeq ($(BUILD_FROM_SOURCE), y)
1441bd4fe43Sopenharmony_ci    LIB_SUBDIRS       += $(HISILICON_DRIVERS_SOURCE_ROOT)/mtd/common
1451bd4fe43Sopenharmony_ci    LITEOS_MTD_SPI_NOR_INCLUDE  +=  -I $(HISILICON_DRIVERS_SOURCE_ROOT)/mtd/common/include
1461bd4fe43Sopenharmony_cielse
1471bd4fe43Sopenharmony_ci    LITEOS_MTD_SPI_NOR_INCLUDE  +=  -I $(HISILICON_DRIVERS_ROOT)/include/mtd/common/include
1481bd4fe43Sopenharmony_ciendif
1491bd4fe43Sopenharmony_ci
1501bd4fe43Sopenharmony_ci    LITEOS_BASELIB    += -lmtd_common
1511bd4fe43Sopenharmony_ci
1521bd4fe43Sopenharmony_ci    ifeq ($(LOSCFG_DRIVERS_MTD_SPI_NOR), y)
1531bd4fe43Sopenharmony_ci    ifeq ($(LOSCFG_DRIVERS_MTD_SPI_NOR_HISFC350), y)
1541bd4fe43Sopenharmony_ci        NOR_DRIVER_DIR := hisfc350
1551bd4fe43Sopenharmony_ci    else ifeq ($(LOSCFG_DRIVERS_MTD_SPI_NOR_HIFMC100), y)
1561bd4fe43Sopenharmony_ci        NOR_DRIVER_DIR := hifmc100
1571bd4fe43Sopenharmony_ci    endif
1581bd4fe43Sopenharmony_ci
1591bd4fe43Sopenharmony_ci    ifeq ($(BUILD_FROM_SOURCE), y)
1601bd4fe43Sopenharmony_ci        LITEOS_BASELIB   += -lspinor_flash
1611bd4fe43Sopenharmony_ci        LIB_SUBDIRS      += $(HISILICON_DRIVERS_SOURCE_ROOT)/mtd/spi_nor
1621bd4fe43Sopenharmony_ci        LITEOS_MTD_SPI_NOR_INCLUDE  +=  -I $(HISILICON_DRIVERS_SOURCE_ROOT)/mtd/spi_nor/include
1631bd4fe43Sopenharmony_ci    else
1641bd4fe43Sopenharmony_ci        ifeq ($(LOSCFG_SHELL), y)
1651bd4fe43Sopenharmony_ci            LITEOS_BASELIB   += -lspinor_flash
1661bd4fe43Sopenharmony_ci        else
1671bd4fe43Sopenharmony_ci            LITEOS_BASELIB   += -lspinor_flash_noshell
1681bd4fe43Sopenharmony_ci        endif
1691bd4fe43Sopenharmony_ci        LITEOS_MTD_SPI_NOR_INCLUDE  +=  -I $(HISILICON_DRIVERS_ROOT)/include/mtd/spi_nor/include
1701bd4fe43Sopenharmony_ci    endif
1711bd4fe43Sopenharmony_ci
1721bd4fe43Sopenharmony_ci    endif
1731bd4fe43Sopenharmony_ci
1741bd4fe43Sopenharmony_ci    ifeq ($(LOSCFG_DRIVERS_MTD_NAND), y)
1751bd4fe43Sopenharmony_ci        NAND_DRIVER_DIR := hifmc100
1761bd4fe43Sopenharmony_ci
1771bd4fe43Sopenharmony_ci        LITEOS_BASELIB   += -lnand_flash
1781bd4fe43Sopenharmony_ci        LIB_SUBDIRS      += $(HISILICON_DRIVERS_SOURCE_ROOT)/mtd/nand
1791bd4fe43Sopenharmony_ci        LITEOS_MTD_NAND_INCLUDE  +=  -I $(HISILICON_DRIVERS_ROOT)/mtd/nand/include
1801bd4fe43Sopenharmony_ci    endif
1811bd4fe43Sopenharmony_ciendif
1821bd4fe43Sopenharmony_ciendif
1831bd4fe43Sopenharmony_ci
1841bd4fe43Sopenharmony_ci# wifi dirvers
1851bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HDF_WIFI), y)
1861bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhdf_vendor_wifi
1871bd4fe43Sopenharmony_ci
1881bd4fe43Sopenharmony_ciifeq ($(LOSCFG_DRIVERS_HI3881), y)
1891bd4fe43Sopenharmony_ci    LITEOS_BASELIB += -lhi3881
1901bd4fe43Sopenharmony_ciendif
1911bd4fe43Sopenharmony_ciendif
1921bd4fe43Sopenharmony_ci
1931bd4fe43Sopenharmony_ciifeq ($(BUILD_FROM_SOURCE), n)
1941bd4fe43Sopenharmony_ciLITEOS_LD_PATH += -L$(HISILICON_DRIVERS_ROOT)/libs/$(CUR_OS)/$(CUR_COMPILER)/$(SOC_PLATFORM)
1951bd4fe43Sopenharmony_ciendif
196