aboutsummaryrefslogtreecommitdiff
path: root/hw/xscom.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xscom.c')
-rw-r--r--hw/xscom.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/hw/xscom.c b/hw/xscom.c
index dd7aeca..6fde427 100644
--- a/hw/xscom.c
+++ b/hw/xscom.c
@@ -101,9 +101,15 @@ static void xscom_reset(uint32_t gcid)
mtspr(SPR_HMER, HMER_CLR_MASK);
/* Setup local and target scom addresses */
- recv_status_reg = 0x202000f;
- log_reg = 0x2020007;
- err_reg = 0x2020009;
+ if (proc_gen == proc_gen_p9) {
+ recv_status_reg = 0x00090018;
+ log_reg = 0x0090012;
+ err_reg = 0x0090013;
+ } else {
+ recv_status_reg = 0x202000f;
+ log_reg = 0x2020007;
+ err_reg = 0x2020009;
+ }
/* First we need to write 0 to a register on our chip */
out_be64(xscom_addr(this_cpu()->chip_id, recv_status_reg), 0);