forked from mirrors/linux
		
	 7ed98dddb7
			
		
	
	
		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>
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			681 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			25 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 */
 |