| # |
| # Copyright (c) 2018 The Fuchsia Authors. |
| # |
| # Permission to use, copy, modify, and/or distribute this software for any |
| # purpose with or without fee is hereby granted, provided that the above |
| # copyright notice and this permission notice appear in all copies. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| |
| import("//build/config/fuchsia/rules.gni") |
| import("//build/package.gni") |
| import("//garnet/tools/cipd.gni") |
| |
| driver_module("ath10k_driver") { |
| output_name = "ath10k" |
| |
| sources = [ |
| "ahb.h", |
| "bitarr.c", |
| "bmi.c", |
| "bmi.h", |
| "ce.c", |
| "ce.h", |
| "core.c", |
| "core.h", |
| "debug.h", |
| "hif.h", |
| "htc.c", |
| "htc.h", |
| "htt.c", |
| "htt.h", |
| "htt_rx.c", |
| "htt_tx.c", |
| "hw.c", |
| "hw.h", |
| "ieee80211.h", |
| "mac.c", |
| "mac.h", |
| "macros.h", |
| "msg_buf.c", |
| "msg_buf.h", |
| "p2p.h", |
| "pci.c", |
| "pci.h", |
| "rx_desc.h", |
| "sparse_array.c", |
| "sparse_array.h", |
| "swap.c", |
| "swap.h", |
| "targaddrs.h", |
| "testmode.h", |
| "thermal.h", |
| "txrx.c", |
| "txrx.h", |
| "utils.c", |
| "utils.h", |
| "wmi-ops.h", |
| "wmi-tlv.c", |
| "wmi-tlv.h", |
| "wmi.c", |
| "wmi.h", |
| "wow.h", |
| ] |
| |
| deps = [ |
| "//garnet/lib/wlan/protocol", |
| "//zircon/public/banjo/ddk-protocol-pci", |
| "//zircon/public/lib/ddk", |
| "//zircon/public/lib/driver", |
| "//zircon/public/lib/sync", |
| "//zircon/public/lib/zircon-internal", |
| "//zircon/public/lib/zx", |
| ] |
| |
| configs += [ "//build/config/fuchsia:enable_zircon_asserts" ] |
| } |
| |
| if (internal_access) { |
| all_fw_files = [ |
| "QCA4019/hw1.0/board-2.bin", |
| "QCA4019/hw1.0/firmware-5.bin", |
| "QCA6174/hw2.1/board-2.bin", |
| "QCA6174/hw2.1/board.bin", |
| "QCA6174/hw2.1/firmware-5.bin", |
| "QCA6174/hw3.0/board-2.bin", |
| "QCA6174/hw3.0/board.bin", |
| "QCA6174/hw3.0/firmware-4.bin", |
| "QCA6174/hw3.0/firmware-6.bin", |
| "QCA9377/hw1.0/board-2.bin", |
| "QCA9377/hw1.0/board.bin", |
| "QCA9377/hw1.0/firmware-5.bin", |
| "QCA9887/hw1.0/board.bin", |
| "QCA9887/hw1.0/firmware-5.bin", |
| "QCA9888/hw2.0/board-2.bin", |
| "QCA9888/hw2.0/firmware-5.bin", |
| "QCA988X/hw2.0/board.bin", |
| "QCA988X/hw2.0/firmware-4.bin", |
| "QCA988X/hw2.0/firmware-5.bin", |
| "QCA9984/hw1.0/board-2.bin", |
| "QCA9984/hw1.0/firmware-5.bin", |
| "QCA99X0/hw2.0/board.bin", |
| "QCA99X0/hw2.0/firmware-5.bin", |
| ] |
| |
| foreach(fw_file, all_fw_files) { |
| copy("ath10k-firmware-copy-" + fw_file) { |
| sources = [ |
| "firmware/" + fw_file, |
| ] |
| outputs = [ |
| "$root_out_dir/firmware/ath10k/" + fw_file, |
| ] |
| } |
| } |
| } |
| |
| package("ath10k") { |
| deprecated_system_image = true |
| |
| deps = [ |
| ":ath10k_driver", |
| ] |
| |
| drivers = [ |
| { |
| name = "ath10k.so" |
| }, |
| ] |
| |
| if (internal_access) { |
| libraries = [] |
| |
| foreach(fw_file, all_fw_files) { |
| deps += [ |
| # The copy step has to be in the shared-library toolchain to use the |
| # expected output directory, since we treat firmware blobs as if they |
| # were libraries which always use the shared-library toolchain to build. |
| ":ath10k-firmware-copy-" + fw_file + "($shlib_toolchain)", |
| ] |
| |
| libraries += [ |
| { |
| name = "firmware/ath10k/" + fw_file |
| }, |
| ] |
| } |
| } |
| } |
| |
| executable("sparse_array_tests") { |
| output_name = "sparse_array_tests" |
| testonly = true |
| sources = [ |
| "sparse_array.c", |
| "sparse_array.h", |
| "sparse_array_tests.cc", |
| ] |
| |
| deps = [ |
| "//third_party/googletest:gtest_main", |
| ] |
| } |
| |
| executable("bitarr_tests") { |
| output_name = "bitarr_tests" |
| testonly = true |
| sources = [ |
| "bitarr.c", |
| "bitarr.h", |
| "bitarr_tests.cc", |
| ] |
| |
| deps = [ |
| "//third_party/googletest:gtest_main", |
| ] |
| } |
| |
| package("ath10k_test") { |
| testonly = true |
| |
| package_name = "ath10k_test" |
| |
| deps = [ |
| ":bitarr_tests", |
| ":sparse_array_tests", |
| ] |
| |
| tests = [ |
| { |
| name = "sparse_array_tests" |
| }, |
| { |
| name = "bitarr_tests" |
| }, |
| ] |
| } |