162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# FSI subsystem 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig FSI 762306a36Sopenharmony_ci tristate "FSI support" 862306a36Sopenharmony_ci depends on OF 962306a36Sopenharmony_ci select CRC4 1062306a36Sopenharmony_ci help 1162306a36Sopenharmony_ci FSI - the FRU Support Interface - is a simple bus for low-level 1262306a36Sopenharmony_ci access to POWER-based hardware. 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciif FSI 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ciconfig FSI_NEW_DEV_NODE 1762306a36Sopenharmony_ci bool "Create '/dev/fsi' directory for char devices" 1862306a36Sopenharmony_ci default n 1962306a36Sopenharmony_ci help 2062306a36Sopenharmony_ci This option causes char devices created for FSI devices to be 2162306a36Sopenharmony_ci located under a common /dev/fsi/ directory. Set to N unless your 2262306a36Sopenharmony_ci userspace has been updated to handle the new location. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci Additionally, it also causes the char device names to be offset 2562306a36Sopenharmony_ci by one so that chip 0 will have /dev/scom1 and chip1 /dev/scom2 2662306a36Sopenharmony_ci to match old userspace expectations. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci New userspace will use udev rules to generate predictable access 2962306a36Sopenharmony_ci symlinks in /dev/fsi/by-path when this option is enabled. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciconfig FSI_MASTER_GPIO 3262306a36Sopenharmony_ci tristate "GPIO-based FSI master" 3362306a36Sopenharmony_ci depends on GPIOLIB 3462306a36Sopenharmony_ci select CRC4 3562306a36Sopenharmony_ci help 3662306a36Sopenharmony_ci This option enables a FSI master driver using GPIO lines. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig FSI_MASTER_HUB 3962306a36Sopenharmony_ci tristate "FSI hub master" 4062306a36Sopenharmony_ci help 4162306a36Sopenharmony_ci This option enables a FSI hub master driver. Hub is a type of FSI 4262306a36Sopenharmony_ci master that is connected to the upstream master via a slave. Hubs 4362306a36Sopenharmony_ci allow chaining of FSI links to an arbitrary depth. This allows for 4462306a36Sopenharmony_ci a high target device fanout. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciconfig FSI_MASTER_AST_CF 4762306a36Sopenharmony_ci tristate "FSI master based on Aspeed ColdFire coprocessor" 4862306a36Sopenharmony_ci depends on GPIOLIB 4962306a36Sopenharmony_ci depends on GPIO_ASPEED 5062306a36Sopenharmony_ci select GENERIC_ALLOCATOR 5162306a36Sopenharmony_ci help 5262306a36Sopenharmony_ci This option enables a FSI master using the AST2400 and AST2500 GPIO 5362306a36Sopenharmony_ci lines driven by the internal ColdFire coprocessor. This requires 5462306a36Sopenharmony_ci the corresponding machine specific ColdFire firmware to be available. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciconfig FSI_MASTER_ASPEED 5762306a36Sopenharmony_ci tristate "FSI ASPEED master" 5862306a36Sopenharmony_ci depends on HAS_IOMEM 5962306a36Sopenharmony_ci help 6062306a36Sopenharmony_ci This option enables a FSI master that is present behind an OPB bridge 6162306a36Sopenharmony_ci in the AST2600. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci Enable it for your BMC kernel in an OpenPower or IBM Power system. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ciconfig FSI_MASTER_I2CR 6662306a36Sopenharmony_ci tristate "IBM I2C Responder virtual FSI master" 6762306a36Sopenharmony_ci depends on I2C 6862306a36Sopenharmony_ci help 6962306a36Sopenharmony_ci This option enables a virtual FSI master in order to access a CFAM 7062306a36Sopenharmony_ci behind an IBM I2C Responder (I2CR) chip. The I2CR is an I2C device 7162306a36Sopenharmony_ci that translates I2C commands to CFAM or SCOM operations, effectively 7262306a36Sopenharmony_ci implementing an FSI master and bus. 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciconfig FSI_SCOM 7562306a36Sopenharmony_ci tristate "SCOM FSI client device driver" 7662306a36Sopenharmony_ci help 7762306a36Sopenharmony_ci This option enables an FSI based SCOM device driver. 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ciconfig FSI_SBEFIFO 8062306a36Sopenharmony_ci tristate "SBEFIFO FSI client device driver" 8162306a36Sopenharmony_ci depends on OF_ADDRESS 8262306a36Sopenharmony_ci help 8362306a36Sopenharmony_ci This option enables an FSI based SBEFIFO device driver. The SBEFIFO is 8462306a36Sopenharmony_ci a pipe-like FSI device for communicating with the self boot engine 8562306a36Sopenharmony_ci (SBE) on POWER processors. 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciconfig FSI_OCC 8862306a36Sopenharmony_ci tristate "OCC SBEFIFO client device driver" 8962306a36Sopenharmony_ci depends on FSI_SBEFIFO 9062306a36Sopenharmony_ci help 9162306a36Sopenharmony_ci This option enables an SBEFIFO based On-Chip Controller (OCC) device 9262306a36Sopenharmony_ci driver. The OCC is a device embedded on a POWER processor that collects 9362306a36Sopenharmony_ci and aggregates sensor data from the processor and system. The OCC can 9462306a36Sopenharmony_ci provide the raw sensor data as well as perform thermal and power 9562306a36Sopenharmony_ci management on the system. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ciconfig I2CR_SCOM 9862306a36Sopenharmony_ci tristate "IBM I2C Responder SCOM driver" 9962306a36Sopenharmony_ci depends on FSI_MASTER_I2CR 10062306a36Sopenharmony_ci help 10162306a36Sopenharmony_ci This option enables an I2C Responder based SCOM device driver. The 10262306a36Sopenharmony_ci I2CR has the capability to directly perform SCOM operations instead 10362306a36Sopenharmony_ci of using the FSI2PIB engine. 10462306a36Sopenharmony_ci 10562306a36Sopenharmony_ciendif 106