aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/capp.h19
-rw-r--r--include/phb4-capp.h3
2 files changed, 22 insertions, 0 deletions
diff --git a/include/capp.h b/include/capp.h
index 587cc3a..597401d 100644
--- a/include/capp.h
+++ b/include/capp.h
@@ -65,8 +65,24 @@ enum capp_reg {
apc_master_powerbus_ctrl = 0xB
};
+struct capp_info {
+ unsigned int capp_index;
+ unsigned int phb_index;
+ uint64_t capp_fir_reg;
+ uint64_t capp_fir_mask_reg;
+ uint64_t capp_fir_action0_reg;
+ uint64_t capp_fir_action1_reg;
+ uint64_t capp_err_status_ctrl_reg;
+};
+
+struct capp_ops {
+ int64_t (*get_capp_info)(int, struct phb *, struct capp_info *);
+};
+
struct proc_chip;
extern struct lock capi_lock;
+extern struct capp_ops capi_ops;
+
extern bool capp_ucode_loaded(struct proc_chip *chip, unsigned int index);
extern int64_t capp_load_ucode(unsigned int chip_id, uint32_t opal_id,
@@ -77,4 +93,7 @@ extern int64_t capp_load_ucode(unsigned int chip_id, uint32_t opal_id,
uint64_t snp_array_addr,
uint64_t snp_array_write);
+extern int64_t capp_get_info(int chip_id, struct phb *phb,
+ struct capp_info *info);
+
#endif /* __CAPP_H */
diff --git a/include/phb4-capp.h b/include/phb4-capp.h
index 89de034..a9b81f6 100644
--- a/include/phb4-capp.h
+++ b/include/phb4-capp.h
@@ -23,6 +23,9 @@
#define CAPP_APC_MASTER_ARRAY_WRITE_REG 0x2010842 /* Satellite 2 */
#define CAPP_FIR 0x2010800
+#define CAPP_FIR_MASK 0x2010803
+#define CAPP_FIR_ACTION0 0x2010806
+#define CAPP_FIR_ACTION1 0x2010807
#define CAPP_ERR_RPT_CLR 0x2010813
#define APC_MASTER_PB_CTRL 0x2010818
#define APC_MASTER_CAPI_CTRL 0x2010819