# SPDX-License-Identifier: GPL-2.0-only
#
# Broadcom VK device
#
config BCM_VK
	tristate "Support for Broadcom VK Accelerators"
	depends on PCI_MSI
	help
	  Select this option to enable support for Broadcom
	  VK Accelerators.  VK is used for performing
	  multiple specific offload processing tasks in parallel.
	  Such offload tasks assist in such operations as video
	  transcoding, compression, and crypto tasks.
	  This driver enables userspace programs to access these
	  accelerators via /dev/bcm-vk.N devices.

	  If unsure, say N.

config BCM_VK_TTY
	bool "Enable tty ports on a Broadcom VK Accelerator device"
	depends on TTY
	depends on BCM_VK
	help
	  Select this option to enable tty support to allow console
	  access to Broadcom VK Accelerator cards from host.

	  Device node will in the form /dev/bcm-vk.x_ttyVKy where:
	  x is the instance of the VK card
	  y is the tty device number on the VK card.
