#
# DPAA2 fsl-mc bus
#
# Copyright (C) 2014-2016 Freescale Semiconductor, Inc.
#
# This file is released under the GPLv2
#

config FSL_MC_BUS
	bool "QorIQ DPAA2 fsl-mc bus driver"
	depends on OF && (ARCH_LAYERSCAPE || (COMPILE_TEST && (ARM || ARM64 || X86 || PPC)))
	select GENERIC_MSI_IRQ_DOMAIN
	help
	  Driver to enable the bus infrastructure for the QorIQ DPAA2
	  architecture.  The fsl-mc bus driver handles discovery of
	  DPAA2 objects (which are represented as Linux devices) and
	  binding objects to drivers.

config FSL_MC_DPIO
        tristate "QorIQ DPAA2 DPIO driver"
        depends on FSL_MC_BUS && ARCH_LAYERSCAPE
        help
	  Driver for the DPAA2 DPIO object.  A DPIO provides queue and
	  buffer management facilities for software to interact with
	  other DPAA2 objects. This driver does not expose the DPIO
	  objects individually, but groups them under a service layer
	  API.
