| # Copyright 2019 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. |
| |
| import("common/x64-common.gni") |
| |
| # userspace PCI migration flags (Chromebook needs more testing) |
| # fxbug.dev/32978 |
| platform_enable_user_pci = false |
| userspace_pci_enable_msi_x = false |
| |
| board_name = "chromebook-x64" |
| |
| update_kernels = [ "zbi.signed" ] |
| |
| use_vboot = true |
| use_vbmeta = true |
| avb_key = |
| "//third_party/android/platform/external/avb/test/data/testkey_atx_psk.pem" |
| avb_atx_metadata = |
| "//third_party/android/platform/external/avb/test/data/atx_metadata.bin" |
| |
| # Bind the nand-broker to the NAND flash on the device, so the flashmap component can access it. |
| fshost_watch_for_nand = true |
| |
| _common_bootfs_deps = [ |
| "//boards/kernel_cmdline:chromebook-x64", |
| "//src/devices/mcu/drivers/chromiumos-ec-core", |
| "//src/devices/mcu/drivers/chromiumos-ec-lpc", |
| "//src/devices/misc/drivers/chromeos-acpi", |
| "//src/devices/nand/drivers/intel-spi-flash", |
| "//src/devices/nand/drivers/intel-spi-flash", |
| "//src/devices/tpm/drivers/cr50-spi", |
| "//src/devices/tpm/drivers/cr50-spi", |
| "//src/firmware/bin/vboot-fwparam:bootfs", |
| "//src/firmware/bin/vboot-fwparam/client:cros-nvtool", |
| "//src/media/audio/drivers/codecs/da7219:component", |
| "//src/security/cr50_agent:bootfs", |
| "//src/storage/flashmap:bootfs", |
| ] |
| |
| # Include DFv2 specific bind rules for testing. |
| # TODO(fxbug.dev/93333) : Add dynamic binding and remove these. |
| _common_bootfs_deps += [ |
| "//src/devices/i2c/drivers/intel-i2c:intel-i2c-dfv2", |
| "//src/ui/input/drivers/i2c-hid:i2c-hid-dfv2", |
| ] |
| |
| # Include driver_host2 for testing. |
| _common_bootfs_deps += [ "//src/devices/bin/driver_host2" ] |
| |
| board_bootfs_labels += _common_bootfs_deps |
| |
| board_zedboot_bootfs_labels += _common_bootfs_deps |
| |
| board_recovery_bootfs_labels += _common_bootfs_deps |
| |
| # Some users leave a USB key (containing zedboot) plugged into their |
| # device at all times. To avoid unintentionally breaking remote workflows, |
| # we permit multiple GPT devices. |
| board_fshost_config.gpt_all = true |
| board_zedboot_fshost_config.gpt_all = true |
| |
| board_bootfs_labels -= [ "//src/power/power-manager:base_config" ] |
| board_bootfs_labels += [ "//src/power/power-manager:chromebook_config" ] |
| |
| board_package_labels += [ |
| "//src/ui/scenic/config:chromebook", |
| "//src/chromium/web_engine/config:chromebook", |
| "//src/media/audio/config:chromebook", |
| ] |
| |
| # Partitions for fx flash to flash. |
| zircon_a_partition = "zircon_a" |
| zircon_b_partition = "zircon_b" |
| zircon_r_partition = "zircon_r" |
| vbmeta_a_partition = "vbmeta_a" |
| vbmeta_b_partition = "vbmeta_b" |
| vbmeta_r_partition = "vbmeta_r" |
| fvm_partition = "fvm" |
| |
| # TODO(fxbug.dev/81718): don't hardcode slot d. We should instead hardcode |
| # slot a and have the bootloader translate correctly into the underlying |
| # chromebook partition. |
| active_partition = "d" |
| |
| # TODO(fxbug.dev/78185): don't hardcode the expected size, we should instead |
| # inflate to whatever the FVM partition size is at runtime. |
| # |
| # For now just hardcode 16GiB which is the minimum FVM partition size defined |
| # in the chromebook-x64 paver: |
| # http://cs/fuchsia/src/storage/lib/paver/chromebook-x64.cc?l=124 |
| # |
| # This also assumes we are not using raw NAND but that's a safer assumption. |
| # In this case "emmc" is a misnomer, it really just means "not raw NAND". |
| fvm_emmc_partition_size = 17179869184 |
| |
| # Depthcharge does not currently support FVM compression. |
| fvm_fastboot_compression = "none" |
| |
| # Storage is budgeted as follows: |
| # FVM: 56GiB |
| # Guest partition: 40GiB (not enforced here) |
| # /blob: 4GiB |
| # /data: 4GiB |
| # <the rest is available for /account and future use> |
| # These limits are intentionally conservative since we can increase them later, but it's hard to |
| # decrease them (it requires resetting the disk state, which for /blob requires a re-pave). |
| # We could be tying FVM's size to the actual disk size but the paver isn't smart enough to do that |
| # yet. |
| blobfs_maximum_runtime_bytes = 4294967296 |
| minfs_maximum_runtime_bytes = 4294967296 |
| |
| firmware_prebuilts = [ |
| { |
| type = "ap" |
| path = "//prebuilt/third_party/firmware/atlas/fuchsia_image.dev.bin" |
| |
| # TODO(fxbug.dev/83462): support flashing firmware over fastboot. |
| #partition = "bootloader" |
| }, |
| ] |