xref: /openbmc/linux/drivers/fsi/Kconfig (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # FSI subsystem
4 #
5 
6 menuconfig 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 
14 if FSI
15 
16 config 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 
31 config 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 
38 config 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 
46 config 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 
56 config 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 
65 config FSI_MASTER_I2CR
66 	tristate "IBM I2C Responder virtual FSI master"
67 	depends on I2C
68 	help
69 	  This option enables a virtual FSI master in order to access a CFAM
70 	  behind an IBM I2C Responder (I2CR) chip. The I2CR is an I2C device
71 	  that translates I2C commands to CFAM or SCOM operations, effectively
72 	  implementing an FSI master and bus.
73 
74 config FSI_SCOM
75 	tristate "SCOM FSI client device driver"
76 	help
77 	This option enables an FSI based SCOM device driver.
78 
79 config FSI_SBEFIFO
80 	tristate "SBEFIFO FSI client device driver"
81 	depends on OF_ADDRESS
82 	help
83 	This option enables an FSI based SBEFIFO device driver. The SBEFIFO is
84 	a pipe-like FSI device for communicating with the self boot engine
85 	(SBE) on POWER processors.
86 
87 config FSI_OCC
88 	tristate "OCC SBEFIFO client device driver"
89 	depends on FSI_SBEFIFO
90 	help
91 	This option enables an SBEFIFO based On-Chip Controller (OCC) device
92 	driver. The OCC is a device embedded on a POWER processor that collects
93 	and aggregates sensor data from the processor and system. The OCC can
94 	provide the raw sensor data as well as perform thermal and power
95 	management on the system.
96 
97 config I2CR_SCOM
98 	tristate "IBM I2C Responder SCOM driver"
99 	depends on FSI_MASTER_I2CR
100 	help
101 	  This option enables an I2C Responder based SCOM device driver. The
102 	  I2CR has the capability to directly perform SCOM operations instead
103 	  of using the FSI2PIB engine.
104 
105 endif
106