# SPDX-License-Identifier: GPL-2.0
#
# SLIMbus driver configuration
#
menuconfig SLIMBUS
	tristate "SLIMbus support"
	help
	  SLIMbus is standard interface between System-on-Chip and audio codec,
	  and other peripheral components in typical embedded systems.

	  If unsure, choose N.

if SLIMBUS

# SLIMbus controllers
config SLIM_QCOM_CTRL
	tristate "Qualcomm SLIMbus Manager Component"
	depends on HAS_IOMEM
	help
	  Select driver if Qualcomm's SLIMbus Manager Component is
	  programmed using Linux kernel.

config SLIM_QCOM_NGD_CTRL
	tristate "Qualcomm SLIMbus Satellite Non-Generic Device Component"
	depends on HAS_IOMEM && DMA_ENGINE && NET && QCOM_RPROC_COMMON
	depends on ARCH_QCOM || COMPILE_TEST
	select QCOM_QMI_HELPERS
	select QCOM_PDR_HELPERS
	help
	  Select driver if Qualcomm's SLIMbus Satellite Non-Generic Device
	  Component is programmed using Linux kernel.
	  This is light-weight slimbus controller driver responsible for
	  communicating with slave HW directly over the bus using messaging
	  interface, and communicating with master component residing on ADSP
	  for bandwidth and data-channel management.
endif
