# SPDX-License-Identifier: GPL-2.0-only
#
# FSI subsystem
#

menuconfig FSI
	tristate "FSI support"
	depends on OF
	select CRC4
	---help---
	  FSI - the FRU Support Interface - is a simple bus for low-level
	  access to POWER-based hardware.

if FSI

config FSI_NEW_DEV_NODE
	bool "Create '/dev/fsi' directory for char devices"
	default n
	---help---
	This option causes char devices created for FSI devices to be
	located under a common /dev/fsi/ directory. Set to N unless your
	userspace has been updated to handle the new location.

	Additionally, it also causes the char device names to be offset
	by one so that chip 0 will have /dev/scom1 and chip1 /dev/scom2
	to match old userspace expectations.

	New userspace will use udev rules to generate predictable access
	symlinks in /dev/fsi/by-path when this option is enabled.

config FSI_MASTER_GPIO
	tristate "GPIO-based FSI master"
	depends on GPIOLIB
	select CRC4
	---help---
	This option enables a FSI master driver using GPIO lines.

config FSI_MASTER_HUB
	tristate "FSI hub master"
	---help---
	This option enables a FSI hub master driver.  Hub is a type of FSI
	master that is connected to the upstream master via a slave.  Hubs
	allow chaining of FSI links to an arbitrary depth.  This allows for
	a high target device fanout.

config FSI_MASTER_AST_CF
	tristate "FSI master based on Aspeed ColdFire coprocessor"
	depends on GPIOLIB
	depends on GPIO_ASPEED
	select GENERIC_ALLOCATOR
	---help---
	This option enables a FSI master using the AST2400 and AST2500 GPIO
	lines driven by the internal ColdFire coprocessor. This requires
	the corresponding machine specific ColdFire firmware to be available.

config FSI_MASTER_ASPEED
	tristate "FSI ASPEED master"
	help
	 This option enables a FSI master that is present behind an OPB bridge
	 in the AST2600.

	 Enable it for your BMC kernel in an OpenPower or IBM Power system.

config FSI_SCOM
	tristate "SCOM FSI client device driver"
	---help---
	This option enables an FSI based SCOM device driver.

config FSI_SBEFIFO
	tristate "SBEFIFO FSI client device driver"
	depends on OF_ADDRESS
	---help---
	This option enables an FSI based SBEFIFO device driver. The SBEFIFO is
	a pipe-like FSI device for communicating with the self boot engine
	(SBE) on POWER processors.

config FSI_OCC
	tristate "OCC SBEFIFO client device driver"
	depends on FSI_SBEFIFO
	---help---
	This option enables an SBEFIFO based On-Chip Controller (OCC) device
	driver. The OCC is a device embedded on a POWER processor that collects
	and aggregates sensor data from the processor and system. The OCC can
	provide the raw sensor data as well as perform thermal and power
	management on the system.

endif
