# SPDX-License-Identifier: Apache-2.0
#
# Copyright (c) 2023 Antmicro <www.antmicro.com>

config AMBIQ_HAL
	bool "Ambiq HAL drivers support"
	depends on SOC_SERIES_APOLLO4X || SOC_SERIES_APOLLO3X
	help
	  Use the Ambiq HAL

if AMBIQ_HAL

config AMBIQ_HAL_USE_GPIO
	bool
	help
	  Use the GPIO driver from Ambiq HAL

config AMBIQ_HAL_USE_STIMER
	bool
	help
	  Use the STIMER driver from Ambiq HAL

config AMBIQ_HAL_USE_TIMER
	bool
	help
	  Use the TIMER driver from Ambiq HAL

config AMBIQ_HAL_USE_WDT
	bool
	help
	  Use the WDT driver from Ambiq HAL

config AMBIQ_HAL_USE_I2C
	bool
	help
	  Use the I2C driver from Ambiq HAL

config AMBIQ_HAL_USE_SPI
	bool
	help
	  Use the SPI driver from Ambiq HAL

config AMBIQ_HAL_USE_MSPI
	bool
	help
	  Use the MSPI driver from Ambiq HAL

config AMBIQ_HAL_USE_HWINFO
	bool
	help
	  Use the HWINFO driver from Ambiq HAL

config AMBIQ_HAL_USE_BLEIF
	bool
	help
	  Use the BLEIF driver from Ambiq HAL

endif # AMBIQ_HAL
