blob: 7ee20673a7f2b83f02736d67ae9e62593cca06d7 [file] [log] [blame]
# 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",
"fuchsia_prebuilt_board_input_bundle",
"fuchsia_prebuilt_package",
)
package(default_visibility = ["//visibility:public"])
exports_files(glob(["**/*"]))
DRIVER_TO_PATH_DICT = {
"@emac//:adc-buttons/bazel_package.far": "adc-buttons",
"@emac//:aml-canvas/package.far": "aml-canvas",
"@emac//:aml-ethernet/package.far": "aml-ethernet",
"@emac//:aml-cpu/package.far": "aml-cpu",
"@emac//:aml-g12-composite/aml-g12-composite-bazel-package.far": "aml-g12-composite",
"@emac//:aml-gpio/bazel_package.far": "aml-gpio",
"@emac//:aml-gpu-package/aml-gpu-package.far": "aml-gpu",
"@emac//:aml-hrtimer/package.far": "aml-hrtimer",
"@emac//:aml-i2c/bazel_package.far": "aml-i2c",
"@emac//:aml-meson-power/package.far": "aml-meson-power",
"@emac//:aml-nna/package.far": "aml-nna",
"@emac//:aml-pwm-init/package.far": "aml-pwm-init",
"@emac//:aml-pwm-regulator/package.far": "aml-pwm-regulator",
"@emac//:aml-pwm/package.far": "aml-pwm",
"@emac//:aml-saradc/package.far": "aml-saradc",
"@emac//:aml-sdmmc/package.far": "aml-sdmmc",
"@emac//:aml-suspend/package.far": "aml-suspend",
"@emac//:aml-thermal/package.far": "aml-thermal",
"@emac//:aml-trip/package.far": "aml-trip",
"@emac//:aml-uart-dfv2/package-dfv2.far": "aml-uart-dfv2",
"@emac//:aml-usb-phy/bazel_package.far": "aml-usb-phy",
"@emac//:amlogic-display/package.far": "amlogic-display",
"@emac//:dwc2/package.far": "dwc2",
"@emac//:dwmac/package.far": "dwmac",
"@emac//:focaltech/package.far": "focaltech",
"@emac//:fusb302/package.far": "fusb302",
"@emac//:msd-arm-mali/msd-arm-mali.far": "msd_arm",
"@emac//:msd-vsi-vip/msd-vsi-vip.far": "libmsd_vsi",
"@emac//:ti-tca6408a/package.far": "ti-tca6408a",
"@emac//:vim3-clk/bazel_package.far": "vim3-clk",
"@emac//:vim3-devicetree/bazel_package.far": "vim3-devicetree",
"@emac//:vim3-display-detect/package.far": "vim3-display-detect",
"@emac//:vim3-mcu/package.far": "vim3-mcu",
"@emac//:vim3-pwm-backlight/package.far": "vim3-pwm-backlight",
}
[
fuchsia_prebuilt_package(
name = driver + "_driver",
archive = path,
drivers = [
"meta/" + driver + ".cm",
],
)
for path, driver in DRIVER_TO_PATH_DICT.items()
]
BASE_DRIVERS = [
"msd_arm",
"libmsd_vsi",
]
fuchsia_board_input_bundle(
name = "main_bundle",
base_driver_packages = [
":" + driver + "_driver"
for driver in BASE_DRIVERS
],
bootfs_driver_packages = [
":" + driver + "_driver"
for driver in DRIVER_TO_PATH_DICT.values()
if driver != "vim3-devicetree" and driver not in BASE_DRIVERS
],
)
fuchsia_board_input_bundle(
name = "board_driver",
bootfs_driver_packages = [
":vim3-devicetree_driver",
],
power_manager_config = "config/power_manager_config.json5",
thermal_config = "config/thermal_config.json5",
)
fuchsia_prebuilt_package(
name = "vulkan_arm_mali_driver",
archive = "@mali_gpu//:libvulkan_arm_mali_72120000.far",
)
fuchsia_board_input_bundle(
name = "vulkan_arm_mali",
base_packages = [
":vulkan_arm_mali_driver",
],
)
fuchsia_prebuilt_package(
name = "rtc_driver",
archive = "@rtc//:pcf8563",
drivers = [
"meta/pcf8563.cm",
],
)
fuchsia_board_input_bundle(
name = "rtc",
base_driver_packages = [
":rtc_driver",
],
)
fuchsia_prebuilt_board_input_bundle(
name = "paver",
config = "@vim3_board//:input_bundles/paver/board_input_bundle.json",
files = "@vim3_board//:all_files",
)
fuchsia_board_configuration(
name = "emac",
board_input_bundles = [
":main_bundle",
":board_driver",
":vulkan_arm_mali",
":rtc",
":paver",
],
board_name = "vim3",
devicetree = "@vim3_board//:devicetree/vim3.dtb",
filesystems = {
"zbi": {
"compression": "zstd.max",
},
"vbmeta": {
"key": "LABEL(:keys/vim3_devkey_atx_psk.pem)",
"key_metadata": "LABEL(:keys/vim3_dev_atx_metadata.bin)",
},
"fvm": {
"blobfs": {
"size_checker_maximum_bytes": 5216665600,
},
"fastboot_output": {
"truncate_to_length": 3439329280,
},
},
"fxfs": {
"size_checker_maximum_bytes": 5216665600,
},
},
kernel = {
"contiguous_physical_pages": True,
},
platform = {
"connectivity": {
"network": {
"netsvc_interface": "/dwmac-ff3f0000_group/dwmac/Designware-MAC/network-device",
},
},
"development_support": {
"enable_debug_access_port_for_soc": "amlogic-a311d",
},
"sysmem_defaults": {
"contiguous_guard_pages_unused": False,
"contiguous_memory_size": {
"fixed": 209715200,
},
"protected_memory_size": {
"fixed": 0,
},
},
},
provided_features = [
"fuchsia::bt_transport_uart",
"fuchsia::bus_pci",
"fuchsia::paver",
"fuchsia::fake_battery",
"fuchsia::fan",
"fuchsia::mali_gpu",
"fuchsia::pmm_checker",
"fuchsia::real_time_clock",
"fuchsia::realtek_8211f",
"fuchsia::usb_peripheral_support",
"fuchsia::wlan_fullmac",
"fuchsia::xhci",
],
)