# SPDX-License-Identifier: GPL-2.0-only
#
# Open Coherent Accelerator (OCXL) compatible devices
#

config OCXL_BASE
	bool
	select PPC_COPRO_BASE

config OCXL
	tristate "OpenCAPI coherent accelerator support"
	depends on PPC_POWERNV && PCI && EEH && HOTPLUG_PCI_POWERNV
	select OCXL_BASE
	default m
	help
	  Select this option to enable the ocxl driver for Open
	  Coherent Accelerator Processor Interface (OpenCAPI) devices.

	  OpenCAPI allows FPGA and ASIC accelerators to be coherently
	  attached to a CPU over an OpenCAPI link.

	  The ocxl driver enables userspace programs to access these
	  accelerators through devices in /dev/ocxl/.

	  For more information, see https://opencapi.org.

	  This is not to be confused with the support for IBM CAPI
	  accelerators (CONFIG_CXL), which are PCI-based instead of a
	  dedicated OpenCAPI link, and don't follow the same protocol.

	  If unsure, say N.
