blob: ad25f211d6732370435f90801cb6ca89f8bafc60 [file] [log] [blame]
# 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("//build/cipd.gni")
import("//build/config/fuchsia/rules.gni")
import("//build/package.gni")
# The following config files are currently gated behind internal
# access to the CIPD repository.
if (internal_access) {
all_gdc_config_files = [
"config_001_2176x2720-to-640x512-RS-YUV420SemiPlanar.bin",
"config_001_2240x1792-to-640x512-S-YUV420SemiPlanar.bin",
"config_002_1152x1440-to-1440x1152-DKCR-YUV420SemiPlanar.bin",
"config_002_2176x2720-to-2240x1792-DKCR-YUV420SemiPlanar.bin",
"config_003_2176x2720-to-2240x1792-DKCR-YUV420SemiPlanar.bin",
"config_1152x1440_to_1152x864_Crop_Rotate.bin",
"config_1152x1440_to_512x384_Crop_Rotate.bin",
"config_1152x1440_to_720x540_Crop_Rotate.bin",
]
all_watermark_files = [
"watermark-360p.rgba",
"watermark-480p.rgba",
"watermark-720p.rgba",
]
}
driver_module("driver") {
output_name = "controller"
deps = [ ":source" ]
configs -= [ "//build/config/fuchsia:no_cpp_standard_library" ]
configs += [ "//build/config/fuchsia:static_cpp_standard_library" ]
configs += [ "//build/config/fuchsia:enable_zircon_asserts" ]
}
source_set("source") {
visibility = [ "../*" ]
sources = [
"controller-device.cc",
"controller-protocol.cc",
"gdc_node.cc",
"ge2d_node.cc",
"graph_utils.cc",
"input_node.cc",
"memory_allocation.cc",
"output_node.cc",
"pipeline_manager.cc",
"processing_node.cc",
"stream_protocol.cc",
]
public_deps = [
"//sdk/banjo/ddk.protocol.camerahwaccel",
"//sdk/banjo/ddk.protocol.composite",
"//sdk/banjo/ddk.protocol.gdc",
"//sdk/banjo/ddk.protocol.ge2d",
"//sdk/banjo/ddk.protocol.isp",
"//sdk/fidl/fuchsia.buttons",
"//sdk/fidl/fuchsia.camera2",
"//sdk/fidl/fuchsia.camera2.hal",
"//sdk/fidl/fuchsia.hardware.camera",
"//sdk/fidl/fuchsia.hardware.camera:fuchsia.hardware.camera_c",
"//src/camera/drivers/controller/configs/sherlock:controller-configs",
"//src/camera/lib/format_conversion",
"//src/devices/lib/driver",
"//src/lib/fxl",
"//src/lib/syslog/cpp",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/ddk",
"//zircon/public/lib/ddktl",
"//zircon/public/lib/fbl",
"//zircon/public/lib/fidl-utils",
"//zircon/public/lib/fit",
"//zircon/public/lib/fzl",
"//zircon/public/lib/hwreg",
"//zircon/public/lib/image-format",
"//zircon/public/lib/sync",
"//zircon/public/lib/syslog",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-driver",
"//zircon/public/lib/zircon-internal",
"//zircon/public/lib/zx",
"//zircon/public/lib/zxtest",
"//zircon/system/banjo/ddk.protocol.buttons",
"//zircon/system/banjo/ddk.protocol.sysmem",
"//zircon/system/dev/lib/device-protocol-pdev",
"//zircon/system/dev/lib/device-protocol-platform-device",
"//zircon/system/fidl/fuchsia-sysmem:fuchsia-sysmem_c",
]
public_configs = [ "//build/config:Wno-reorder-init-list" ]
}
package("controller") {
deprecated_system_image = true
deps = [ ":driver" ]
drivers = [
{
name = "controller.so"
},
]
libraries = []
if (internal_access) {
foreach(config_file, all_gdc_config_files) {
libraries += [
{
source =
rebase_path("//prebuilt/camera/arm/gdc/configs/" + config_file)
name = "firmware/" + config_file
},
]
}
foreach(watermark_file, all_watermark_files) {
libraries += [
{
source = rebase_path("//prebuilt/camera/watermark/" + watermark_file)
name = "firmware/" + watermark_file
},
]
}
}
}