# SPDX-License-Identifier: GPL-2.0
menuconfig GREYBUS
	tristate "Greybus support"
	depends on SYSFS
	help
	  This option enables the Greybus driver core.  Greybus is a
	  hardware protocol that was designed to provide Unipro with a
	  sane application layer.  It was originally designed for the
	  ARA project, a module phone system, but has shown up in other
	  phones, and can be tunneled over other busses in order to
	  control hardware devices.

	  Say Y here to enable support for these types of drivers.

	  To compile this code as a module, choose M here: the module
	  will be called greybus.ko

if GREYBUS

config GREYBUS_BEAGLEPLAY
	tristate "Greybus BeaglePlay driver"
	depends on SERIAL_DEV_BUS
	select CRC_CCITT
	help
	  Select this option if you have a BeaglePlay where CC1352
	  co-processor acts as Greybus SVC.

	  To compile this code as a module, chose M here: the module
	  will be called gb-beagleplay.ko

config GREYBUS_ES2
	tristate "Greybus ES3 USB host controller"
	depends on USB
	help
	  Select this option if you have a Toshiba ES3 USB device that
	  acts as a Greybus "host controller".  This device is a bridge
	  from a USB device to a Unipro network.

	  To compile this code as a module, choose M here: the module
	  will be called gb-es2.ko

endif	# GREYBUS

