aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2017-03-23 17:15:06 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-03-24 12:50:22 +1100
commitb8ad0349ae8a119db471821c9a0a6a0e2ae2ffeb (patch)
tree1fc7c39a171256da2e18a82629545cefc47b1e07
parente1bfc5116bcb66259192148f0fa9a0751b906aef (diff)
downloadskiboot-b8ad0349ae8a119db471821c9a0a6a0e2ae2ffeb.zip
skiboot-b8ad0349ae8a119db471821c9a0a6a0e2ae2ffeb.tar.gz
skiboot-b8ad0349ae8a119db471821c9a0a6a0e2ae2ffeb.tar.bz2
xscom: Add POWER9 scom reset
Add scom reset registers for POWER9. Signed-off-by: Michael Neuling <mikey@neuling.org> Reviewed-by: Cédric Le Goater <clg@kaod.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-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);