# SPDX-License-Identifier: GPL-2.0-only
#
# QE Communication options
#

config QUICC_ENGINE
	bool "QUICC Engine (QE) framework support"
	depends on OF && HAS_IOMEM
	depends on PPC || ARM || ARM64 || COMPILE_TEST
	select GENERIC_ALLOCATOR
	select CRC32
	help
	  The QUICC Engine (QE) is a new generation of communications
	  coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
	  Selecting this option means that you wish to build a kernel
	  for a machine with a QE coprocessor.

config UCC_SLOW
	bool
	default y if SERIAL_QE
	help
	  This option provides qe_lib support to UCC slow
	  protocols: UART, BISYNC, QMC

config UCC_FAST
	bool
	default y if UCC_GETH || QE_TDM
	help
	  This option provides qe_lib support to UCC fast
	  protocols: HDLC, Ethernet, ATM, transparent

config UCC
	bool
	default y if UCC_FAST || UCC_SLOW

config CPM_TSA
	tristate "CPM TSA support"
	depends on OF && HAS_IOMEM
	depends on CPM1 || (CPM && COMPILE_TEST)
	help
	  Freescale CPM Time Slot Assigner (TSA)
	  controller.

	  This option enables support for this
	  controller

config CPM_QMC
	tristate "CPM QMC support"
	depends on OF && HAS_IOMEM
	depends on CPM1 || (FSL_SOC && CPM && COMPILE_TEST)
	depends on CPM_TSA
	help
	  Freescale CPM QUICC Multichannel Controller
	  (QMC)

	  This option enables support for this
	  controller

config QE_TDM
	bool
	default y if FSL_UCC_HDLC

config QE_USB
	bool
	depends on QUICC_ENGINE
	default y if USB_FSL_QE
	help
	  QE USB Controller support