# 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/unification/zx_library.gni")

zx_library("amlogic") {
  sdk = "source"
  sdk_headers = [
    "soc/aml-a113/a113-clocks.h",
    "soc/aml-a113/a113-gpio.h",
    "soc/aml-a113/a113-hw.h",
    "soc/aml-a113/a113-pwm.h",
    "soc/aml-a113/aml-tdm.h",
    "soc/aml-a311d/a311d-gpio.h",
    "soc/aml-a311d/a311d-hw.h",
    "soc/aml-common/aml-audio.h",
    "soc/aml-common/aml-audio-regs.h",
    "soc/aml-common/aml-g12-reset.h",
    "soc/aml-common/aml-guid.h",
    "soc/aml-common/aml-pdm-audio.h",
    "soc/aml-common/aml-pwm-regs.h",
    "soc/aml-common/aml-rawnand.h",
    "soc/aml-common/aml-sdmmc.h",
    "soc/aml-common/aml-spi.h",
    "soc/aml-common/aml-tdm-audio.h",
    "soc/aml-common/aml-thermal.h",
    "soc/aml-common/aml-usb-phy.h",
    "soc/aml-meson/aml-clk-common.h",
    "soc/aml-meson/axg-clk.h",
    "soc/aml-meson/g12a-clk.h",
    "soc/aml-meson/g12b-clk.h",
    "soc/aml-meson/gxl-clk.h",
    "soc/aml-meson/sm1-clk.h",
    "soc/aml-s905d2/aml-mali.h",
    "soc/aml-s905d2/s905d2-gpio.h",
    "soc/aml-s905d2/s905d2-hiu.h",
    "soc/aml-s905d2/s905d2-hiu-regs.h",
    "soc/aml-s905d2/s905d2-hw.h",
    "soc/aml-s905d2/s905d2-pwm.h",
    "soc/aml-s905d3/s905d3-gpio.h",
    "soc/aml-s905d3/s905d3-hw.h",
    "soc/aml-s905d3/s905d3-pwm.h",
    "soc/aml-s905/s905-gpio.h",
    "soc/aml-s905x/s905x-gpio.h",
    "soc/aml-s912/s912-audio.h",
    "soc/aml-s912/s912-gpio.h",
    "soc/aml-s912/s912-hw.h",
    "soc/aml-t931/t931-gpio.h",
    "soc/aml-t931/t931-hw.h",
    "soc/aml-t931/t931-pwm.h",
  ]
  sources = [
    "a113-clocks.c",
    "aml-g12-saradc.cc",
    "aml-pdm-audio.cc",
    "aml-tdm-audio.cc",
    "aml-tdm-in-audio.cc",
    "aml-tdm-out-audio.cc",
    "s905d2-hiu.c",
    "s905d2-pll-rates.c",
  ]
  deps = [
    "//sdk/banjo/ddk.protocol.platform.bus",
    "//sdk/banjo/ddk.protocol.platform.device",
    "//src/devices/lib/mmio",
    "//src/lib/ddk",
    "//src/lib/ddktl",
    "//zircon/public/lib/fbl",
    "//zircon/public/lib/sync",
    "//zircon/public/lib/zx",
    "//zircon/system/ulib/fzl",
  ]
}
