1 // SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
2 /* Copyright 2013-2016 IBM Corp. */
3 
4 #ifndef __CENTAUR_H
5 #define __CENTAUR_H
6 
7 #include <stdint.h>
8 #include <lock.h>
9 
10 #include <ccan/list/list.h>
11 
12 struct centaur_chip {
13 	bool			valid;
14 	bool			online;
15 	uint8_t			ec_level;
16 	uint32_t		part_id;
17 	uint32_t		fsi_master_chip_id;
18 	uint32_t		fsi_master_port;
19 	uint32_t		fsi_master_engine;
20 	uint32_t		scache_disable_count;
21 	bool			scache_was_enabled;
22 	uint32_t		error_count;
23 	struct lock		lock;
24 
25 	struct scom_controller	scom;
26 
27 	/* Used by hw/p8-i2c.c */
28 	struct list_head	i2cms;
29 };
30 
31 extern int64_t centaur_disable_sensor_cache(uint32_t part_id);
32 extern int64_t centaur_enable_sensor_cache(uint32_t part_id);
33 
34 extern void centaur_init(void);
35 
36 extern struct centaur_chip *get_centaur(uint32_t part_id);
37 
38 #endif /* __CENTAUR_H */
39