GNU Linux-libre 5.19-rc6-gnu
[releases.git] / drivers / fsi / Kconfig
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_SCOM
66         tristate "SCOM FSI client device driver"
67         help
68         This option enables an FSI based SCOM device driver.
69
70 config 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
78 config 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
88 endif