#
# C2 port devices
#

menuconfig C2PORT
	tristate "Silicon Labs C2 port support"
	default n
	help
	  This option enables support for Silicon Labs C2 port used to
	  program Silicon micro controller chips (and other 8051 compatible).

	  If your board have no such micro controllers you don't need this
	  interface at all.

	  To compile this driver as a module, choose M here: the module will
	  be called c2port_core. Note that you also need a client module
	  usually called c2port-*.

	  If you are not sure, say N here.

if C2PORT

config C2PORT_DURAMAR_2150
	tristate "C2 port support for Eurotech's Duramar 2150"
	depends on X86
	default n
	help
	  This option enables C2 support for the Eurotech's Duramar 2150
	  on board micro controller.

	  To compile this driver as a module, choose M here: the module will
	  be called c2port-duramar2150.

endif # C2PORT
