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

board_configs += [ "//build/config/arm64:cortex-a53" ]

_common_bootfs_deps = [
  "//boards/kernel_cmdline:vim3",
  "//src/connectivity/ethernet/drivers/aml-ethernet-s912",
  "//src/connectivity/ethernet/drivers/dwmac",
  "//src/connectivity/ethernet/drivers/ethernet",
  "//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/cpu/drivers/aml-cpu",
  "//src/devices/gpio/drivers/aml-axg-gpio",
  "//src/devices/gpio/drivers/ti-tca6408a",
  "//src/devices/i2c/drivers/aml-i2c",
  "//src/devices/mcu/drivers/vim3-mcu",
  "//src/devices/ml/drivers/aml-nna",
  "//src/devices/power/drivers/aml-meson-power",
  "//src/devices/power/drivers/aml-pwm-regulator",
  "//src/devices/power/drivers/fusb302",
  "//src/devices/pwm/drivers/aml-pwm",
  "//src/devices/registers/drivers/registers",
  "//src/devices/rtc/drivers/nxp",
  "//src/devices/thermal/drivers/aml-thermal-s905d2g",
  "//src/devices/usb/drivers/aml-usb-phy-v2",
  "//src/devices/usb/drivers/dwc2",
  "//src/graphics/display/drivers/aml-canvas",
  "//src/graphics/display/drivers/aml-hdmi",
  "//src/graphics/display/drivers/amlogic-display",
  "//src/graphics/drivers/aml-gpu",
]

board_bootfs_labels += _common_bootfs_deps

board_zedboot_bootfs_labels += _common_bootfs_deps

board_recovery_bootfs_labels += _common_bootfs_deps

board_system_image_deps += [
  "//src/connectivity/wlan/drivers/third_party/broadcom/brcmfmac:brcmfmac-sherlock",
  "//src/graphics/drivers/msd-arm-mali:msd-system",
  "//src/graphics/drivers/msd-vsi-vip",
  "//src/media/drivers/amlogic_decoder",
]

board_package_labels += [
  "//src/graphics/drivers/msd-arm-mali:msd-config",
  "//garnet/packages/prod:vulkan",
  "//src/graphics/drivers/arm-mali/icd:libvulkan_arm_g52_r0p0",
]

# Board file adds vulkan VCD that lets vulkan tests work on systems with Mali GPUs.
board_has_libvulkan_arm_mali = true

firmware_prebuilts_path_suffix = ""
firmware_prebuilts = [
  {
    type = ""
    path = "//prebuilt/third_party/firmware/vim3/u-boot.bin"
    partition = "bootloader"
  },
]

use_vbmeta = true
avb_key = "//src/firmware/avb_keys/vim3/vim3-dev-key/vim3_devkey_atx_psk.pem"
avb_algorithm = "SHA512_RSA4096"
avb_atx_metadata =
    "//src/firmware/avb_keys/vim3/vim3-dev-key/vim3_dev_atx_metadata.bin"

# partitions for fx flash to flash
zircon_a_partition = "zircon_a"
zircon_b_partition = "zircon_b"
zircon_r_partition = "zircon_r"
vbmeta_a_partition = "vbmeta_a"
vbmeta_b_partition = "vbmeta_b"
vbmeta_r_partition = "vbmeta_r"
fvm_partition = "fvm"
active_partition = "a"
fastboot_product = "galilei"

# For VIM3, FVM partition uses all of the remaining eMMC. However, the total size of the eMMC
# storage maybe 16G or 32G depending on whether it is a basic or pro version. In addition,
# the actual size of the user block allocated by Fuchsia can be further different. (i.e. 'lsblk'
# shows a 29G size user block for the 32Gb version). To avoid the risk of overflowing
# available size, here we set it to be the same as sherlock (3280mb), which is clearly safe
# and sufficient for now.
fvm_emmc_partition_size = 3439329280
