blob: 868650bc98f60d994afd6446c2045422502722df [file]
# 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_build_info//:args.bzl", "build_info_version")
load(
"@rules_fuchsia//fuchsia:assembly.bzl",
"fuchsia_board_configuration",
"fuchsia_board_input_bundle",
"fuchsia_board_input_bundle_set",
"fuchsia_prebuilt_board_input_bundle",
)
load(
":vim3_features.bzl",
"BASE_PROVIDED_FEATURES",
"COMMON_FILESYSTEMS",
"COMMON_PLATFORM",
"MEDIA_PROVIDED_FEATURES",
)
package(
default_applicable_licenses = ["//:license"],
default_visibility = ["//visibility:public"],
)
fuchsia_prebuilt_board_input_bundle(
name = "devicetree_board_driver",
files = "@gn_targets//boards/vim3:devicetree_board_driver",
)
fuchsia_prebuilt_board_input_bundle(
name = "main_bundle",
files = "@gn_targets//boards/vim3:main_bundle",
)
fuchsia_prebuilt_board_input_bundle(
name = "vulkan_arm_mali",
files = "@gn_targets//boards/vim3:vulkan_arm_mali",
)
fuchsia_board_input_bundle(
name = "bazel_drivers_base",
base_driver_packages = [
"//src/devices/rtc/drivers/nxp/pcf8563:pkg",
],
bootfs_driver_packages = [
"//src/devices/board/drivers/vim3-devicetree",
"//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",
],
version = build_info_version,
)
fuchsia_board_input_bundle(
name = "bazel_drivers_buttons",
bootfs_driver_packages = [
"//src/ui/input/drivers/adc-buttons",
],
version = build_info_version,
)
fuchsia_board_input_bundle_set(
name = "vim3_buttons_bibs",
board_input_bundles = [
":bazel_drivers_buttons",
],
version = build_info_version,
)
fuchsia_board_input_bundle(
name = "bazel_drivers_media",
bootfs_driver_packages = [
"//src/media/audio/drivers/aml-g12-tdm:aml-g12-composite",
],
version = build_info_version,
)
fuchsia_board_input_bundle_set(
name = "vim3_base_bibs",
board_input_bundles = [
":devicetree_board_driver",
":main_bundle",
":bazel_drivers_base",
],
version = build_info_version,
)
fuchsia_board_input_bundle_set(
name = "vim3_media_bibs",
board_input_bundles = [
":bazel_drivers_media",
],
version = build_info_version,
)
fuchsia_board_input_bundle_set(
name = "vim3_bibs",
board_input_bundles = [
":devicetree_board_driver",
":main_bundle",
":bazel_drivers_base",
":bazel_drivers_media",
":bazel_drivers_buttons",
],
version = build_info_version,
)
_COMMON_BOARD_INPUT_BUNDLES = [
":vulkan_arm_mali",
]
fuchsia_board_configuration(
name = "vim3",
board_input_bundle_sets = [
":vim3_bibs",
],
board_input_bundles = _COMMON_BOARD_INPUT_BUNDLES,
board_name = "vim3",
devicetree = "@gn_targets//src/devices/board/drivers/vim3-devicetree:vim3-dtb",
filesystems = COMMON_FILESYSTEMS,
kernel = {
"contiguous_physical_pages": True,
},
partitions_configuration = "//boards/partitions/vim3",
platform = COMMON_PLATFORM,
provided_features = BASE_PROVIDED_FEATURES + MEDIA_PROVIDED_FEATURES,
version = build_info_version,
)
fuchsia_board_configuration(
name = "reduced_perf_variation",
board_input_bundle_sets = [
":vim3_bibs",
],
board_input_bundles = _COMMON_BOARD_INPUT_BUNDLES,
board_name = "vim3",
devicetree = "@gn_targets//src/devices/board/drivers/vim3-devicetree:vim3-dtb",
filesystems = COMMON_FILESYSTEMS,
kernel = {
"contiguous_physical_pages": True,
# Disable serial console printing during early boot, a phase during which
# UART communication is single-threaded and synchronous. In production,
# the serial console will be disabled, and so early boot benchmarks that
# include this work is sensibly avoided.
"quiet_early_boot": True,
},
partitions_configuration = "//boards/partitions/vim3",
platform = COMMON_PLATFORM,
provided_features = BASE_PROVIDED_FEATURES + MEDIA_PROVIDED_FEATURES,
release_info_name = "vim3_reduced_perf_variation",
version = build_info_version,
)
fuchsia_board_configuration(
name = "vim3_recovery",
board_input_bundle_sets = [
":vim3_base_bibs",
],
board_input_bundles = _COMMON_BOARD_INPUT_BUNDLES,
board_name = "vim3",
devicetree = "@gn_targets//src/devices/board/drivers/vim3-devicetree:vim3-dtb",
filesystems = COMMON_FILESYSTEMS,
kernel = {
"contiguous_physical_pages": True,
},
partitions_configuration = "//boards/partitions/vim3",
platform = COMMON_PLATFORM,
provided_features = BASE_PROVIDED_FEATURES,
version = build_info_version,
)