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