# 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/config/fuchsia/rules.gni")

bind_rules("vim2-bind") {
  rules = "vim2.bind"
  output = "vim2-bind.h"
  tests = "bind-tests.json"
  deps = [
    "//src/devices/bind/fuchsia.khadas.platform",
    "//src/devices/bind/fuchsia.platform",
  ]
}

driver_module("vim2") {
  configs += [
    "//build/config:all_source",
    "//build/config/fuchsia:enable_zircon_asserts",
  ]
  sources = [
    "vim-canvas.cc",
    "vim-clk.cc",
    "vim-display.cc",
    "vim-emmc.cc",
    "vim-eth.cc",
    "vim-gpio.cc",
    "vim-i2c.cc",
    "vim-mali.cc",
    "vim-registers.cc",
    "vim-sd.cc",
    "vim-sdio.cc",
    "vim-sysmem.cc",
    "vim-thermal.cc",
    "vim-uart.cc",
    "vim-usb.cc",
    "vim-video.cc",
    "vim.cc",
  ]
  deps = [
    ":vim2-bind",
    "//sdk/banjo/fuchsia.hardware.ethernet",
    "//sdk/banjo/fuchsia.hardware.gpio",
    "//sdk/banjo/fuchsia.hardware.gpioimpl",
    "//sdk/banjo/fuchsia.hardware.iommu",
    "//sdk/banjo/fuchsia.hardware.platform.bus",
    "//sdk/banjo/fuchsia.hardware.platform.device",
    "//sdk/banjo/fuchsia.hardware.scpi",
    "//sdk/banjo/fuchsia.hardware.sdmmc",
    "//sdk/banjo/fuchsia.hardware.serial",
    "//sdk/fidl/fuchsia.hardware.serial:fuchsia.hardware.serial_c",
    "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_c",
    "//sdk/fidl/fuchsia.sysmem:fuchsia.sysmem_c",
    "//src/devices/lib/amlogic",
    "//src/devices/lib/broadcom",
    "//src/devices/lib/driver",
    "//src/devices/lib/metadata:llcpp",
    "//src/devices/lib/mmio",
    "//src/lib/ddk",

    # TODO(fxb/38132): Migrate to the new bind rules and delete the below
    "//src/lib/ddk:ddk-deprecated-binding-headers",
    "//src/lib/ddktl",
    "//zircon/public/lib/sync",
    "//zircon/public/lib/zx",
  ]
}

group("tests") {
  testonly = true
  deps = [ ":vim2-bind_test" ]
}
