#
# Kconfig options for Bestcomm
#

config PPC_BESTCOMM
	tristate "Bestcomm DMA engine support"
	depends on PPC_MPC52xx
	default n
	select PPC_LIB_RHEAP
	help
	  BestComm is the name of the communication coprocessor found
	  on the Freescale MPC5200 family of processor.  Its usage is
	  optional for some drivers (like ATA), but required for
	  others (like FEC).

	  If you want to use drivers that require DMA operations,
	  answer Y or M. Otherwise say N.

config PPC_BESTCOMM_ATA
	tristate
	depends on PPC_BESTCOMM
	help
	  This option enables the support for the ATA task.

config PPC_BESTCOMM_FEC
	tristate
	depends on PPC_BESTCOMM
	help
	  This option enables the support for the FEC tasks.

config PPC_BESTCOMM_GEN_BD
	tristate
	depends on PPC_BESTCOMM
	help
	  This option enables the support for the GenBD tasks.

