# 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_description = "A generic vim3 device"

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_driver_package_labels += [
  "//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",
  "//src/devices/sysmem/bin/sysmem_connector",
  "//src/graphics/bin/vulkan_loader",
  "//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.unsigned"
    partition = "bootloader"
  },
]

use_gigaboot = false
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

# Supports only physical devices.
board_is_emu = false
board_is_phys = true
