# 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.

driver("astro-pdm-input") {
  sources = [
    "audio-stream-in.cpp",
  ]
  deps = [
    "$zx/system/banjo/ddk.protocol.clock",
    "$zx/system/banjo/ddk.protocol.gpio",
    "$zx/system/banjo/ddk.protocol.i2c",
    "$zx/system/banjo/ddk.protocol.platform.device",
    "$zx/system/dev/audio/lib/simple-audio-stream",
    "$zx/system/dev/lib/amlogic",
    "$zx/system/dev/lib/mmio",
    "$zx/system/ulib/audio-driver-proto",
    "$zx/system/ulib/audio-proto-utils",
    "$zx/system/ulib/ddk",
    "$zx/system/ulib/ddktl",
    "$zx/system/ulib/dispatcher-pool",
    "$zx/system/ulib/fbl",
    "$zx/system/ulib/fzl",
    "$zx/system/ulib/sync",
    "$zx/system/ulib/zircon",
    "$zx/system/ulib/zx",
  ]
}
