# 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.

group("platform") {
  deps = [
    ":platform-bus",
    ":platform-bus.proxy",
  ]
}

driver("platform-bus") {
  sources = [
    "cpu-trace.cpp",
    "device-resources.cpp",
    "platform-bus.cpp",
    "platform-composite-device.cpp",
    "platform-device.cpp",
    "platform-i2c.cpp",
    "platform-protocol-device.cpp",
  ]
  deps = [
    "$zx/system/banjo/ddk-protocol-amlogiccanvas",
    "$zx/system/banjo/ddk-protocol-clock",
    "$zx/system/banjo/ddk-protocol-clockimpl",
    "$zx/system/banjo/ddk-protocol-gpio",
    "$zx/system/banjo/ddk-protocol-gpioimpl",
    "$zx/system/banjo/ddk-protocol-i2c",
    "$zx/system/banjo/ddk-protocol-i2cimpl",
    "$zx/system/banjo/ddk-protocol-iommu",
    "$zx/system/banjo/ddk-protocol-platform-bus",
    "$zx/system/banjo/ddk-protocol-platform-device",
    "$zx/system/banjo/ddk-protocol-powerimpl",
    "$zx/system/banjo/ddk-protocol-sysmem",
    "$zx/system/fidl/fuchsia-boot:c",
    "$zx/system/fidl/fuchsia-sysinfo:c",
    "$zx/system/ulib/ddk",
    "$zx/system/ulib/ddktl",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fdio",
    "$zx/system/ulib/sync",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
    "$zx/system/ulib/zxcpp",
  ]
}

driver("platform-bus.proxy") {
  sources = [
    "platform-proxy-device.cpp",
    "platform-proxy.cpp",
  ]
  deps = [
    "$zx/system/banjo/ddk-protocol-amlogiccanvas",
    "$zx/system/banjo/ddk-protocol-clock",
    "$zx/system/banjo/ddk-protocol-gpio",
    "$zx/system/banjo/ddk-protocol-gpioimpl",
    "$zx/system/banjo/ddk-protocol-i2c",
    "$zx/system/banjo/ddk-protocol-i2cimpl",
    "$zx/system/banjo/ddk-protocol-platform-bus",
    "$zx/system/banjo/ddk-protocol-platform-device",
    "$zx/system/banjo/ddk-protocol-sysmem",
    "$zx/system/ulib/ddk",
    "$zx/system/ulib/ddktl",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/sync",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
    "$zx/system/ulib/zxcpp",
  ]
}
