# SPDX-License-Identifier: GPL-2.0
#
# DPAA2 fsl-mc bus
#
# Copyright (C) 2014-2016 Freescale Semiconductor, Inc.
#

config FSL_MC_BUS
	bool "QorIQ DPAA2 fsl-mc bus driver"
	depends on OF && (ARCH_LAYERSCAPE || (COMPILE_TEST && (ARM || ARM64 || X86_LOCAL_APIC || PPC)))
	select GENERIC_MSI_IRQ
	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_UAPI_SUPPORT
	bool "Management Complex (MC) userspace support"
	depends on FSL_MC_BUS
	help
	  Provides userspace support for interrogating, creating, destroying or
	  configuring DPAA2 objects exported by the Management Complex.
