mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 20:23:16 +07:00
7ed98dddb7
The OCC is a device embedded on a POWER processor that collects and aggregates sensor data from the processor and system. The OCC can provide the raw sensor data as well as perform thermal and power management on the system. This driver provides an atomic communications channel between a service processor (e.g. a BMC) and the OCC. The driver is dependent on the FSI SBEFIFO driver to get hardware access through the SBE to the OCC SRAM. Commands are issued to the SBE to send or fetch data to the SRAM. Signed-off-by: Eddie James <eajames@linux.ibm.com> Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
26 lines
681 B
C
26 lines
681 B
C
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#ifndef LINUX_FSI_OCC_H
|
|
#define LINUX_FSI_OCC_H
|
|
|
|
struct device;
|
|
|
|
#define OCC_RESP_CMD_IN_PRG 0xFF
|
|
#define OCC_RESP_SUCCESS 0
|
|
#define OCC_RESP_CMD_INVAL 0x11
|
|
#define OCC_RESP_CMD_LEN_INVAL 0x12
|
|
#define OCC_RESP_DATA_INVAL 0x13
|
|
#define OCC_RESP_CHKSUM_ERR 0x14
|
|
#define OCC_RESP_INT_ERR 0x15
|
|
#define OCC_RESP_BAD_STATE 0x16
|
|
#define OCC_RESP_CRIT_EXCEPT 0xE0
|
|
#define OCC_RESP_CRIT_INIT 0xE1
|
|
#define OCC_RESP_CRIT_WATCHDOG 0xE2
|
|
#define OCC_RESP_CRIT_OCB 0xE3
|
|
#define OCC_RESP_CRIT_HW 0xE4
|
|
|
|
int fsi_occ_submit(struct device *dev, const void *request, size_t req_len,
|
|
void *response, size_t *resp_len);
|
|
|
|
#endif /* LINUX_FSI_OCC_H */
|