#
# 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_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
