| # 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, |
| ) |