Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^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) # IPMI device configuration
^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 IPMI_HANDLER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 	tristate 'IPMI top-level message handler'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) 	depends on HAS_IOMEM
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) 	select IPMI_DMI_DECODE if DMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) 	  This enables the central IPMI message handler, required for IPMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) 	  to work.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) 	  IPMI is a standard for managing sensors (temperature,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) 	  voltage, etc.) in a system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 	  See <file:Documentation/driver-api/ipmi.rst> for more details on the driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) 	  If unsure, say N.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) config IPMI_DMI_DECODE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) 	select IPMI_PLAT_DATA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) config IPMI_PLAT_DATA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) 	bool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) if IPMI_HANDLER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) config IPMI_PANIC_EVENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 	bool 'Generate a panic event to all BMCs on a panic'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 	  When a panic occurs, this will cause the IPMI message handler to,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) 	  by default, generate an IPMI event describing the panic to each
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	  interface registered with the message handler.  This is always
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) 	  available, the module parameter for ipmi_msghandler named
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	  panic_op can be set to "event" to chose this value, this config
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) 	  simply causes the default value to be set to "event".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) config IPMI_PANIC_STRING
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	bool 'Generate OEM events containing the panic string'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 	depends on IPMI_PANIC_EVENT
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) 	  When a panic occurs, this will cause the IPMI message handler to,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) 	  by default, generate IPMI OEM type f0 events holding the IPMB
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 	  address of the panic generator (byte 4 of the event), a sequence
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) 	  number for the string (byte 5 of the event) and part of the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) 	  string (the rest of the event).  Bytes 1, 2, and 3 are the normal
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) 	  usage for an OEM event.  You can fetch these events and use the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 	  sequence numbers to piece the string together.  This config
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) 	  parameter sets the default value to generate these events,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) 	  the module parameter for ipmi_msghandler named panic_op can
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 	  be set to "string" to chose this value, this config simply
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) 	  causes the default value to be set to "string".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) config IPMI_DEVICE_INTERFACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) 	tristate 'Device interface for IPMI'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) 	  This provides an IOCTL interface to the IPMI message handler so
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 	  userland processes may use IPMI.  It supports poll() and select().
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) config IPMI_SI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) 	tristate 'IPMI System Interface handler'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) 	select IPMI_PLAT_DATA
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 	  Provides a driver for System Interfaces (KCS, SMIC, BT).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) 	  Currently, only KCS and SMIC are supported.  If
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) 	  you are using IPMI, you should probably say "y" here.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) config IPMI_SSIF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 	tristate 'IPMI SMBus handler (SSIF)'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) 	select I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) 	  Provides a driver for a SMBus interface to a BMC, meaning that you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) 	  have a driver that must be accessed over an I2C bus instead of a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 	  standard interface.  This module requires I2C support.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) config IPMI_POWERNV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	depends on PPC_POWERNV
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	tristate 'POWERNV (OPAL firmware) IPMI interface'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 	  Provides a driver for OPAL firmware-based IPMI interfaces.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) config IPMI_WATCHDOG
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 	tristate 'IPMI Watchdog Timer'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 	  This enables the IPMI watchdog timer.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) config IPMI_POWEROFF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 	tristate 'IPMI Poweroff'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) 	  This enables a function to power off the system with IPMI if
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) 	  the IPMI management controller is capable of this.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) endif # IPMI_HANDLER
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) config IPMI_KCS_BMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 	tristate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) config ASPEED_KCS_IPMI_BMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) 	depends on ARCH_ASPEED || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) 	select IPMI_KCS_BMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 	select REGMAP_MMIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) 	tristate "Aspeed KCS IPMI BMC driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) 	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) 	  interface found on Aspeed SOCs (AST2400 and AST2500).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 	  The driver implements the BMC side of the KCS contorller, it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) 	  provides the access of KCS IO space for BMC side.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) config NPCM7XX_KCS_IPMI_BMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 	depends on ARCH_NPCM7XX || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) 	select IPMI_KCS_BMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) 	select REGMAP_MMIO
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) 	tristate "NPCM7xx KCS IPMI BMC driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) 	  Provides a driver for the KCS (Keyboard Controller Style) IPMI
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) 	  interface found on Nuvoton NPCM7xx SOCs.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 	  The driver implements the BMC side of the KCS contorller, it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) 	  provides the access of KCS IO space for BMC side.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) 	  This support is also available as a module.  If so, the module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) 	  will be called kcs_bmc_npcm7xx.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) config ASPEED_BT_IPMI_BMC
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) 	depends on ARCH_ASPEED || COMPILE_TEST
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 	depends on REGMAP && REGMAP_MMIO && MFD_SYSCON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) 	tristate "BT IPMI bmc driver"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) 	  Provides a driver for the BT (Block Transfer) IPMI interface
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) 	  found on Aspeed SOCs (AST2400 and AST2500). The driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) 	  implements the BMC side of the BT interface.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) config IPMB_DEVICE_INTERFACE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) 	tristate 'IPMB Interface handler'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 	depends on I2C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) 	depends on I2C_SLAVE
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) 	help
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) 	  Provides a driver for a device (Satellite MC) to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) 	  receive requests and send responses back to the BMC via
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) 	  the IPMB interface. This module requires I2C support.