| # Copyright 2019 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/bind/bind.gni") |
| import("//build/drivers.gni") |
| import("//src/devices/bus/drivers/pci/pci.gni") |
| |
| driver_bind_rules("fragment-bind") { |
| header_output = "fragment-bind.h" |
| bind_output = "fragment.bindbc" |
| disable_autobind = true |
| } |
| |
| fuchsia_driver("fragment-driver") { |
| output_name = "fragment" |
| configs += [ |
| "//build/config:all_source", |
| "//build/config/fuchsia:enable_zircon_asserts", |
| ] |
| |
| if (platform_enable_user_pci) { |
| defines = [ "ENABLE_USER_PCI" ] |
| } |
| |
| sources = [ |
| "fragment-pci.cc", |
| "fragment.cc", |
| ] |
| deps = [ |
| ":fragment-bind", |
| "//sdk/banjo/fuchsia.hardware.amlogiccanvas:fuchsia.hardware.amlogiccanvas_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.audio:fuchsia.hardware.audio_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.camera.sensor:fuchsia.hardware.camera.sensor_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.dsi:fuchsia.hardware.dsi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.dsiimpl:fuchsia.hardware.dsiimpl_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.ethernet.board:fuchsia.hardware.ethernet.board_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.gdc:fuchsia.hardware.gdc_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.ge2d:fuchsia.hardware.ge2d_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.hdmi:fuchsia.hardware.hdmi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.isp:fuchsia.hardware.isp_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.mipicsi:fuchsia.hardware.mipicsi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.power:fuchsia.hardware.power_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.power.sensor:fuchsia.hardware.power.sensor_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.powerimpl:fuchsia.hardware.powerimpl_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.pwm:fuchsia.hardware.pwm_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.registers:fuchsia.hardware.registers_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.scpi:fuchsia.hardware.scpi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.sdio:fuchsia.hardware.sdio_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.shareddma:fuchsia.hardware.shareddma_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.spi:fuchsia.hardware.spi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.sysmem:fuchsia.hardware.sysmem_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.tee:fuchsia.hardware.tee_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.thermal:fuchsia.hardware.thermal_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.usb.modeswitch:fuchsia.hardware.usb.modeswitch_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.usb.phy:fuchsia.hardware.usb.phy_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.vreg:fuchsia.hardware.vreg_banjo_cpp", |
| "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_llcpp", |
| "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_c", |
| "//src/devices/lib/driver", |
| "//src/devices/pci/lib/fuchsia.hardware.pci:fuchsia.hardware.pci_banjo_cpp", |
| "//src/lib/ddk", |
| "//src/lib/ddktl", |
| "//zircon/system/ulib/fbl", |
| "//zircon/system/ulib/sync", |
| "//zircon/system/ulib/trace:trace-driver", |
| "//zircon/system/ulib/zx", |
| ] |
| |
| # TODO(https://fxbug.dev/58162): delete the below and fix compiler warnings |
| configs += [ "//build/config:Wno-conversion" ] |
| } |
| |
| fuchsia_driver_component("fragment-component") { |
| component_name = "fragment" |
| deps = [ ":fragment-driver" ] |
| info = "fragment-component-info.json" |
| colocate = true |
| } |
| |
| group("fragment") { |
| deps = [ |
| ":fragment-component", |
| ":fragment.proxy", |
| ] |
| } |
| |
| driver_bind_rules("fragment-proxy-bind") { |
| header_output = "fragment-proxy-bind.h" |
| bind_output = "fragment-proxy.bindbc" |
| disable_autobind = true |
| } |
| |
| fuchsia_driver("fragment.proxy-driver") { |
| output_name = "fragment.proxy" |
| configs += [ |
| "//build/config:all_source", |
| "//build/config/fuchsia:enable_zircon_asserts", |
| ] |
| |
| if (platform_enable_user_pci) { |
| defines = [ "ENABLE_USER_PCI" ] |
| } |
| |
| sources = [ |
| "fragment-proxy-pci.cc", |
| "fragment-proxy.cc", |
| ] |
| deps = [ |
| ":fragment-proxy-bind", |
| "//sdk/banjo/fuchsia.hardware.amlogiccanvas:fuchsia.hardware.amlogiccanvas_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.audio:fuchsia.hardware.audio_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.clock:fuchsia.hardware.clock_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.dsi:fuchsia.hardware.dsi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.ethernet.board:fuchsia.hardware.ethernet.board_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.gpio:fuchsia.hardware.gpio_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.hdmi:fuchsia.hardware.hdmi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.power:fuchsia.hardware.power_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.power.sensor:fuchsia.hardware.power.sensor_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.pwm:fuchsia.hardware.pwm_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.registers:fuchsia.hardware.registers_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.spi:fuchsia.hardware.spi_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.sysmem:fuchsia.hardware.sysmem_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.tee:fuchsia.hardware.tee_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.usb.modeswitch:fuchsia.hardware.usb.modeswitch_banjo_cpp", |
| "//sdk/banjo/fuchsia.hardware.vreg:fuchsia.hardware.vreg_banjo_cpp", |
| "//src/devices/lib/driver", |
| "//src/devices/pci/lib/fuchsia.hardware.pci:fuchsia.hardware.pci_banjo_cpp", |
| "//src/lib/ddk", |
| "//src/lib/ddktl", |
| "//zircon/system/ulib/fbl", |
| "//zircon/system/ulib/sync", |
| "//zircon/system/ulib/trace:trace-driver", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| fuchsia_driver_component("fragment.proxy") { |
| component_name = "fragment.proxy" |
| deps = [ ":fragment.proxy-driver" ] |
| info = "fragment.proxy-info.json" |
| colocate = true |
| } |