# Kconfig - Audio Codec configuration options

#
# Copyright (c) 2018 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#

menuconfig AUDIO
	bool "Support for Audio"
	help
	  Enable support for Audio

if AUDIO
#
# Audio Codec options
#
menuconfig AUDIO_CODEC
	bool "Audio Codec Drivers"
	help
	  Enable Audio Codec Driver Configuration

if AUDIO_CODEC

config AUDIO_CODEC_INIT_PRIORITY
	int "Init priority"
	default 60
	help
	  Audio codec device driver initialization priority.

module = AUDIO_CODEC
module-str = audio codec
source "subsys/logging/Kconfig.template.log_config"

source "drivers/audio/Kconfig.tlv320dac"

endif # AUDIO_CODEC

menuconfig AUDIO_DMIC
	bool "Digital Microphone (Audio) Drivers"
	help
	  Enable Digital Microphone Driver Configuration

if AUDIO_DMIC

config AUDIO_DMIC_INIT_PRIORITY
	int "Init priority"
	default 60
	help
	  Audio Digital Microphone device driver initialization priority.

module = AUDIO_DMIC
module-str = audio_dmic
source "subsys/logging/Kconfig.template.log_config"

source "drivers/audio/Kconfig.intel_dmic"
source "drivers/audio/Kconfig.mpxxdtyy"

endif # AUDIO_DMIC

endif # AUDIO
