# 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/zircon/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-meson/a5-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",
    "soc/aml-a5/a5-gpio.h",
    "soc/aml-a5/a5-hw.h",
    "soc/aml-a5/a5-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/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus_banjo_cpp",
    "//sdk/banjo/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_banjo_cpp",
    "//src/lib/ddk",
    "//src/lib/ddktl",
    "//zircon/system/ulib/fbl",
    "//zircon/system/ulib/fzl",
    "//zircon/system/ulib/sync",
    "//zircon/system/ulib/zx",
  ]
  public_deps = [
    "//sdk/fidl/fuchsia.hardware.thermal:fuchsia.hardware.thermal_c",
    "//src/devices/lib/mmio",
  ]

  # TODO(https://fxbug.dev/58162): delete the below and fix compiler warnings
  configs += [ "//build/config:Wno-conversion" ]
}
