1# SPDX-License-Identifier: GPL-2.0-only
2#
3# FSI subsystem
4#
5
6menuconfig FSI
7	tristate "FSI support"
8	depends on OF
9	select CRC4
10	help
11	  FSI - the FRU Support Interface - is a simple bus for low-level
12	  access to POWER-based hardware.
13
14if FSI
15
16config FSI_NEW_DEV_NODE
17	bool "Create '/dev/fsi' directory for char devices"
18	default n
19	help
20	This option causes char devices created for FSI devices to be
21	located under a common /dev/fsi/ directory. Set to N unless your
22	userspace has been updated to handle the new location.
23
24	Additionally, it also causes the char device names to be offset
25	by one so that chip 0 will have /dev/scom1 and chip1 /dev/scom2
26	to match old userspace expectations.
27
28	New userspace will use udev rules to generate predictable access
29	symlinks in /dev/fsi/by-path when this option is enabled.
30
31config FSI_MASTER_GPIO
32	tristate "GPIO-based FSI master"
33	depends on GPIOLIB
34	select CRC4
35	help
36	This option enables a FSI master driver using GPIO lines.
37
38config FSI_MASTER_HUB
39	tristate "FSI hub master"
40	help
41	This option enables a FSI hub master driver.  Hub is a type of FSI
42	master that is connected to the upstream master via a slave.  Hubs
43	allow chaining of FSI links to an arbitrary depth.  This allows for
44	a high target device fanout.
45
46config FSI_MASTER_AST_CF
47	tristate "FSI master based on Aspeed ColdFire coprocessor"
48	depends on GPIOLIB
49	depends on GPIO_ASPEED
50	select GENERIC_ALLOCATOR
51	help
52	This option enables a FSI master using the AST2400 and AST2500 GPIO
53	lines driven by the internal ColdFire coprocessor. This requires
54	the corresponding machine specific ColdFire firmware to be available.
55
56config FSI_MASTER_ASPEED
57	tristate "FSI ASPEED master"
58	depends on HAS_IOMEM
59	help
60	 This option enables a FSI master that is present behind an OPB bridge
61	 in the AST2600.
62
63	 Enable it for your BMC kernel in an OpenPower or IBM Power system.
64
65config FSI_SCOM
66	tristate "SCOM FSI client device driver"
67	help
68	This option enables an FSI based SCOM device driver.
69
70config FSI_SBEFIFO
71	tristate "SBEFIFO FSI client device driver"
72	depends on OF_ADDRESS
73	help
74	This option enables an FSI based SBEFIFO device driver. The SBEFIFO is
75	a pipe-like FSI device for communicating with the self boot engine
76	(SBE) on POWER processors.
77
78config FSI_OCC
79	tristate "OCC SBEFIFO client device driver"
80	depends on FSI_SBEFIFO
81	help
82	This option enables an SBEFIFO based On-Chip Controller (OCC) device
83	driver. The OCC is a device embedded on a POWER processor that collects
84	and aggregates sensor data from the processor and system. The OCC can
85	provide the raw sensor data as well as perform thermal and power
86	management on the system.
87
88endif
89