# 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_ADC
	bool
	help
	  Use the ADC driver from 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_SPIC
	bool
	help
	  Use the SPI Controller driver from Ambiq HAL

config AMBIQ_HAL_USE_SPID
	bool
	help
	  Use the SPI Device 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

config AMBIQ_HAL_USE_ADC
	bool
	help
	  Use the ADC driver from Ambiq HAL

config AMBIQ_HAL_USE_USB
	bool
	help
	  Use the USB driver from Ambiq HAL

endif # AMBIQ_HAL
