#
# Freescale Management Complex (MC) bus drivers
#
# Copyright (C) 2014 Freescale Semiconductor, Inc.
#
# This file is released under the GPLv2
#

config FSL_MC_BUS
	tristate "Freescale Management Complex (MC) bus driver"
	depends on OF && ARM64
	help
	  Driver to enable the bus infrastructure for the Freescale
          QorIQ Management Complex (fsl-mc). The fsl-mc is a hardware
	  module of the QorIQ LS2 SoCs, that does resource management
	  for hardware building-blocks in the SoC that can be used
	  to dynamically create networking hardware objects such as
	  network interfaces (NICs), crypto accelerator instances,
	  or L2 switches.

	  Only enable this option when building the kernel for
	  Freescale QorQIQ LS2xxxx SoCs.


