# Copyright 2020 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("//boards/arm64.gni")

board_name = "vim3"

_common_bootfs_deps = [
  "//src/connectivity/ethernet/drivers/aml-ethernet-s912",
  "//src/connectivity/ethernet/drivers/dwmac",
  "//src/connectivity/ethernet/drivers/realtek-8211f",
  "//src/devices/block/drivers/aml-sdmmc",
  "//src/devices/block/drivers/bootpart",
  "//src/devices/board/drivers/vim3",
  "//src/devices/clock/drivers/amlogic-clk",
  "//src/devices/gpio/drivers/aml-axg-gpio",
  "//src/devices/i2c/drivers/aml-i2c",
  "//src/devices/mcu/drivers/vim3-mcu",
  "//src/devices/ml/drivers/aml-nna",
  "//src/devices/registers/drivers/registers",
  "//src/devices/rtc/drivers/nxp",
]

board_bootfs_labels += _common_bootfs_deps

board_zedboot_bootfs_labels += _common_bootfs_deps

board_recovery_bootfs_labels += _common_bootfs_deps

board_system_image_deps += [ "//garnet/packages/prod:magma-vsi-vip" ]

# partitions for fx flash to flash
zircon_a_partition = "zircon-a"
zircon_r_partition = "zircon-r"
fastboot_product = "galilei"
