xref: /device/soc/hisilicon/common/platform/BUILD.gn (revision 1bd4fe43)
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_ciimport("//drivers/hdf_core/adapter/khdf/liteos/hdf.gni")
151bd4fe43Sopenharmony_ci
161bd4fe43Sopenharmony_cigroup("drivers") {
171bd4fe43Sopenharmony_ci  deps = [
181bd4fe43Sopenharmony_ci    "adc",
191bd4fe43Sopenharmony_ci    "dmac",
201bd4fe43Sopenharmony_ci    "gpio",
211bd4fe43Sopenharmony_ci    "hieth-sf",
221bd4fe43Sopenharmony_ci    "hisi_sdk",
231bd4fe43Sopenharmony_ci    "i2c",
241bd4fe43Sopenharmony_ci    "i2s",
251bd4fe43Sopenharmony_ci    "mipi_csi",
261bd4fe43Sopenharmony_ci    "mipi_dsi",
271bd4fe43Sopenharmony_ci    "mmc",
281bd4fe43Sopenharmony_ci    "mtd",
291bd4fe43Sopenharmony_ci    "pin",
301bd4fe43Sopenharmony_ci    "pwm",
311bd4fe43Sopenharmony_ci    "rtc",
321bd4fe43Sopenharmony_ci    "spi",
331bd4fe43Sopenharmony_ci    "timer",
341bd4fe43Sopenharmony_ci    "uart",
351bd4fe43Sopenharmony_ci    "watchdog",
361bd4fe43Sopenharmony_ci    "wifi/hi3881v100/firmware:wifi_firmware",
371bd4fe43Sopenharmony_ci  ]
381bd4fe43Sopenharmony_ci}
391bd4fe43Sopenharmony_ci
401bd4fe43Sopenharmony_ciconfig("public") {
411bd4fe43Sopenharmony_ci  include_dirs = []
421bd4fe43Sopenharmony_ci  if (defined(LOSCFG_COMPILER_CLANG_LLVM)) {
431bd4fe43Sopenharmony_ci    cur_compiler = "llvm"
441bd4fe43Sopenharmony_ci  } else {
451bd4fe43Sopenharmony_ci    cur_compiler = "gcc"
461bd4fe43Sopenharmony_ci  }
471bd4fe43Sopenharmony_ci  lib_dirs = [ "libs/ohos/$cur_compiler/$LOSCFG_PLATFORM" ]
481bd4fe43Sopenharmony_ci  ldflags = [ "-Wl,--push-state,--whole-archive" ]
491bd4fe43Sopenharmony_ci  if (defined(LOSCFG_DRIVERS_HIEDMAC)) {
501bd4fe43Sopenharmony_ci    ldflags += [ "-lhiedmac" ]
511bd4fe43Sopenharmony_ci  }
521bd4fe43Sopenharmony_ci
531bd4fe43Sopenharmony_ci  if (!defined(LOSCFG_DRIVERS_HDF_STORAGE_MTD)) {
541bd4fe43Sopenharmony_ci    if (defined(LOSCFG_DRIVERS_MTD)) {
551bd4fe43Sopenharmony_ci      include_dirs += [ "include/mtd/common/include" ]
561bd4fe43Sopenharmony_ci      ldflags += [ "-lmtd_common" ]
571bd4fe43Sopenharmony_ci    }
581bd4fe43Sopenharmony_ci    if (defined(LOSCFG_DRIVERS_MTD_SPI_NOR)) {
591bd4fe43Sopenharmony_ci      if (!defined(LOSCFG_SHELL)) {
601bd4fe43Sopenharmony_ci        ldflags += [ "-lspinor_flash_noshell" ]
611bd4fe43Sopenharmony_ci      } else {
621bd4fe43Sopenharmony_ci        ldflags += [ "-lspinor_flash" ]
631bd4fe43Sopenharmony_ci      }
641bd4fe43Sopenharmony_ci    }
651bd4fe43Sopenharmony_ci    if (defined(LOSCFG_DRIVERS_MTD_NAND)) {
661bd4fe43Sopenharmony_ci      ldflags += [ "-lnand_flash" ]
671bd4fe43Sopenharmony_ci    }
681bd4fe43Sopenharmony_ci  }
691bd4fe43Sopenharmony_ci
701bd4fe43Sopenharmony_ci  if (defined(LOSCFG_DRIVERS_MMC)) {
711bd4fe43Sopenharmony_ci    ldflags += [ "-lmmc" ]
721bd4fe43Sopenharmony_ci  }
731bd4fe43Sopenharmony_ci  if (defined(LOSCFG_DRIVERS_HDF_WIFI)) {
741bd4fe43Sopenharmony_ci    ldflags += [ "-lhdf_vendor_wifi" ]
751bd4fe43Sopenharmony_ci  }
761bd4fe43Sopenharmony_ci  if (defined(LOSCFG_DRIVERS_HDF_WIFI) && defined(LOSCFG_DRIVERS_HI3881)) {
771bd4fe43Sopenharmony_ci    ldflags += [ "-lhi3881" ]
781bd4fe43Sopenharmony_ci  }
791bd4fe43Sopenharmony_ci  ldflags += [ "-Wl,--pop-state" ]
801bd4fe43Sopenharmony_ci  if (defined(LOSCFG_DRIVERS_HDF_USB)) {
811bd4fe43Sopenharmony_ci    if (LOSCFG_PLATFORM == "hi3516dv300") {
821bd4fe43Sopenharmony_ci      ldflags += [ "-lusb_dwc3" ]
831bd4fe43Sopenharmony_ci    }
841bd4fe43Sopenharmony_ci  }
851bd4fe43Sopenharmony_ci}
86