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

load(
    "@fuchsia_sdk//fuchsia:assembly.bzl",
    "fuchsia_board_configuration",
    "fuchsia_board_input_bundle",
)

package(default_visibility = ["//visibility:public"])

fuchsia_board_input_bundle(
    name = "board_driver",
    bootfs_driver_packages = [
        "//src/devices/board/drivers/vim3-devicetree",
    ],
    power_manager_config = "//src/power/power-manager/node_config:base_node_config.json5",
)

fuchsia_board_input_bundle(
    name = "main_bundle",
    bootfs_driver_packages = [
        "//src/devices/clock/drivers/vim3-clk",
        "//src/devices/gpio/drivers/aml-gpio",
        "//src/devices/i2c/drivers/aml-i2c",
        "//src/devices/usb/drivers/aml-usb-phy",
        "//src/devices/block/drivers/aml-sdmmc:aml-sdmmc-no-banjo",
    ],
)

fuchsia_board_configuration(
    name = "emac",
    board_input_bundles = [
        ":board_driver",
        ":main_bundle",
    ],
    board_name = "emac",
    devicetree = "@gn_targets//src/devices/board/drivers/vim3-devicetree:vim3-dtb",
    filesystems = {
        "vbmeta": {
            "key": "LABEL(//src/firmware/avb_keys/vim3/vim3-dev-key:vim3_devkey_atx_psk.pem)",
            "key_metadata": "LABEL(//src/firmware/avb_keys/vim3/vim3-dev-key:vim3_dev_atx_metadata.bin)",
        },
        "fvm": {
            "blobfs": {
                "size_checker_maximum_bytes": 5216665600,
            },
            "fastboot_output": {
                "truncate_to_length": 3439329280,
            },
        },
        "fxfs": {
            "size_checker_maximum_bytes": 5216665600,
        },
    },
    provided_features = [
        "fuchsia::driver_framework_v2_support",
        "fuchsia::usb_peripheral_support",
    ],
)
