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