blob: eaaf5140d5484f78ee21f260413f2d4de1b3e9a4 [file] [log] [blame]
# Copyright 2023 The Pigweed Authors
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
import("//build_overrides/pigweed.gni")
import("$dir_pw_build/target_types.gni")
import("$dir_pw_docgen/docs.gni")
import("ambiq.gni")
pw_doc_group("docs") {
sources = [ "docs.rst" ]
}
# This file defines a GN source_set for an external installation of Ambiq SDK.
# To use, checkout the Ambiq Apollo4 SDK source into a directory, then set
# the build arg dir_pw_third_party_ambiq_SDK to point to that directory. The
# Ambiq Apollo 4 SDK library will be available in GN
# at "$dir_pw_third_party/apollo4".
if (dir_pw_third_party_ambiq_SDK != "") {
config("apollo4p_sdk_defines") {
defines = [
"AM_PART_APOLLO4P=1",
"apollo4p_evb=1",
"gcc=1",
"AM_PACKAGE_BGA=1",
]
visibility = [ ":*" ]
}
config("apollo4b_sdk_defines") {
defines = [
"AM_PART_APOLLO4B=1",
"apollo4b_evb=1",
"gcc=1",
"AM_PACKAGE_BGA=1",
]
visibility = [ ":*" ]
}
config("disable_warnings") {
cflags = [
"-Wno-sign-compare",
"-Wno-unused-parameter",
"-Wno-cast-qual",
"-Wno-shadow",
"-Wno-implicit-fallthrough",
"-Wno-maybe-uninitialized",
]
cflags_c = [ "-Wno-old-style-declaration" ]
visibility = [ ":*" ]
}
config("apollo4_include_dirs") {
include_dirs = [
"$dir_pw_third_party_ambiq_SDK/devices",
"$dir_pw_third_party_ambiq_SDK/utils",
"$dir_pw_third_party_ambiq_SDK/CMSIS/ARM/Include",
"$dir_pw_third_party_ambiq_SDK/CMSIS/AmbiqMicro/Include",
]
}
config("apollo4p_include_dirs") {
include_dirs = [
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p",
"$dir_pw_third_party_ambiq_SDK/boards/apollo4p_evb/bsp",
]
}
config("apollo4b_include_dirs") {
include_dirs = [
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b",
"$dir_pw_third_party_ambiq_SDK/boards/apollo4b_evb/bsp",
]
}
pw_source_set("apollo4p") {
remove_configs = [ "$dir_pw_build:extra_strict_warnings" ]
public_configs = [
":disable_warnings",
":apollo4_include_dirs",
":apollo4p_include_dirs",
":apollo4p_sdk_defines",
]
sources = [
"$dir_pw_third_party_ambiq_SDK/boards/apollo4p_evb/bsp/am_bsp.c",
"$dir_pw_third_party_ambiq_SDK/boards/apollo4p_evb/bsp/am_bsp_pins.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_access.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_adc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_audadc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_dcu.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_global.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_gpio.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_i2s.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_otp.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_pdm.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_pin.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_pwrctrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_queue.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_security.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_stimer.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_timer.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_usb.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/am_hal_wdt.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_bootrom_helper.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_cachectrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_card.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_card_host.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_clkgen.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_cmdq.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_dsi.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_fault.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_interrupt.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_iom.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_ios.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_itm.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_itm.h",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_mcuctrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_mpu.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_mram.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_mspi.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_reset.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_rtc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_sdhc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_secure_ota.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_sysctrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_systick.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_tpiu.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_uart.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4p/hal/mcu/am_hal_utils.c",
]
}
pw_source_set("apollo4b") {
remove_configs = [ "$dir_pw_build:extra_strict_warnings" ]
public_configs = [
":disable_warnings",
":apollo4_include_dirs",
":apollo4b_include_dirs",
":apollo4b_sdk_defines",
]
sources = [
"$dir_pw_third_party_ambiq_SDK/boards/apollo4b_evb/bsp/am_bsp.c",
"$dir_pw_third_party_ambiq_SDK/boards/apollo4b_evb/bsp/am_bsp_pins.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_access.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_adc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_audadc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_dcu.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_global.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_gpio.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_i2s.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_otp.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_pdm.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_pin.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_pwrctrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_queue.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_security.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_stimer.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_timer.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_usb.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/am_hal_wdt.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_bootrom_helper.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_cachectrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_card.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_card_host.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_clkgen.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_cmdq.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_dsi.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_fault.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_interrupt.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_iom.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_ios.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_itm.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_itm.h",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_mcuctrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_mpu.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_mram.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_mspi.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_reset.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_rtc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_sdhc.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_secure_ota.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_sysctrl.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_systick.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_tpiu.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_uart.c",
"$dir_pw_third_party_ambiq_SDK/mcu/apollo4b/hal/mcu/am_hal_utils.c",
]
}
pw_source_set("sdk") {
if (pw_third_party_ambiq_PRODUCT == "apollo4p") {
public_deps = [ ":apollo4p" ]
} else if (pw_third_party_ambiq_PRODUCT == "apollo4b") {
public_deps = [ ":apollo4b" ]
}
}
}