| # 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 |
| }, |
| ] |
| } |
| } |
| } |