# Intel S1000 I2S configuration options

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

config I2S_CAVS
	bool "Intel I2S (SSP) Bus Driver"
	depends on BOARD_INTEL_S1000_CRB
	select DMA
	help
	  Enable Inter Sound (I2S) bus driver for Intel_S1000 based on
	  Synchronous Serial Port (SSP) module.
