1# Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. 2# 3# Redistribution and use in source and binary forms, with or without modification, 4# are permitted provided that the following conditions are met: 5# 6# 1. Redistributions of source code must retain the above copyright notice, this list of 7# conditions and the following disclaimer. 8# 9# 2. Redistributions in binary form must reproduce the above copyright notice, this list 10# of conditions and the following disclaimer in the documentation and/or other materials 11# provided with the distribution. 12# 13# 3. Neither the name of the copyright holder nor the names of its contributors may be used 14# to endorse or promote products derived from this software without specific prior written 15# permission. 16# 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 19# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 20# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 21# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 22# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 23# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 24# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 25# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 26# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 27# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28 29import("//drivers/adapter/khdf/liteos/hdf.gni") 30 31module_switch = defined(LOSCFG_DRIVERS_HDF_USB_DDK_DEVICE) 32module_name = "hdf_usb_ddk_device" 33hdf_driver(module_name) { 34 FRAMEWORKS_USB_DDK_DEVICE = "$HDF_PERIPHERAL_PATH/usb/ddk/device" 35 USB_DEVICE_ROOT = "$LITEOSTHIRDPARTY/NuttX/drivers/usbdev" 36 FRAMEWORKS_USB_DRIVERS = "$HDF_PERIPHERAL_PATH/usb/gadget/function" 37 sources = [ 38 "$FRAMEWORKS_USB_DDK_DEVICE/src/adapter_if_liteos.c", 39 "$FRAMEWORKS_USB_DDK_DEVICE/src/usbfn_cfg_mgr.c", 40 "$FRAMEWORKS_USB_DDK_DEVICE/src/usbfn_dev_mgr.c", 41 "$FRAMEWORKS_USB_DDK_DEVICE/src/usbfn_io_mgr.c", 42 "$FRAMEWORKS_USB_DDK_DEVICE/src/usbfn_sdk_if.c", 43 ] 44 45 if (defined(LOSCFG_DRIVERS_HDF_USB_COMPOSITE)) { 46 sources += [ 47 "$USB_DEVICE_ROOT/gadget/composite.c", 48 "$USB_DEVICE_ROOT/gadget/composite_desc.c", 49 "$USB_DEVICE_ROOT/gadget/f_acm_desc.c", 50 "$USB_DEVICE_ROOT/gadget/f_camera.c", 51 "$USB_DEVICE_ROOT/gadget/fconfig/src/f_config.c", 52 "$USB_DEVICE_ROOT/gadget/fconfig/src/f_generic.c", 53 "$USB_DEVICE_ROOT/gadget/fconfig/src/obj_res.c", 54 "$USB_DEVICE_ROOT/gadget/fconfig/src/usb_handle.c", 55 "$USB_DEVICE_ROOT/gadget/fconfig/src/usb_obj.c", 56 "$USB_DEVICE_ROOT/gadget/fconfig/src/usb_string.c", 57 "$USB_DEVICE_ROOT/gadget/fconfig/src/usbd_config.c", 58 "$USB_DEVICE_ROOT/gadget/fconfig/src/usbd_generic_ep0.c", 59 "$USB_DEVICE_ROOT/gadget/fconfig/src/usbd_generic_epfile.c", 60 ] 61 } 62 63 if (defined(LOSCFG_DRIVERS_HDF_USB_DEVICE_DEMO_TEST)) { 64 sources += [ 65 "$FRAMEWORKS_USB_DRIVERS/acm/cdcacm.c", 66 "$FRAMEWORKS_USB_DRIVERS/ecm/cdcecm.c", 67 "$FRAMEWORKS_USB_DRIVERS/master/dev_master.c", 68 ] 69 } 70 71 libs = [ "//device/soc/hisilicon/common/platform/libs/ohos/llvm/hi3516dv300/libusb_dwc3.a" ] 72 73 include_dirs = [ 74 "$USB_DEVICE_ROOT", 75 "$USB_DEVICE_ROOT/gadget/fconfig/include", 76 "$FRAMEWORKS_USB_DDK_DEVICE/../../interfaces/ddk/common", 77 "$FRAMEWORKS_USB_DDK_DEVICE/../../interfaces/ddk/device", 78 "$FRAMEWORKS_USB_DDK_DEVICE/include", 79 "$FRAMEWORKS_USB_DRIVERS/include", 80 "$LITEOSTOPDIR/../../device/soc/hisilicon/common/hal/usb/hi3516dv300/include", 81 ] 82} 83