aboutsummaryrefslogtreecommitdiff
path: root/hw/xscom.c
diff options
context:
space:
mode:
authorMichael Neuling <mikey@neuling.org>2017-08-17 11:44:01 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-08-21 11:58:19 +1000
commit9b3a7bad3e7329ba52bcdcc4b7e984aa7dad1cf5 (patch)
tree5e761a83a103d5f446c47cb20c8aa6569fd5f9cf /hw/xscom.c
parentd34eaffad9ee1c9513c535cbfbb2df74691d5ec6 (diff)
downloadskiboot-9b3a7bad3e7329ba52bcdcc4b7e984aa7dad1cf5.zip
skiboot-9b3a7bad3e7329ba52bcdcc4b7e984aa7dad1cf5.tar.gz
skiboot-9b3a7bad3e7329ba52bcdcc4b7e984aa7dad1cf5.tar.bz2
xscom: Grab P9 DD2 revision level
Current code only supports DD1. This adds support for DD2. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/xscom.c')
-rw-r--r--hw/xscom.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/hw/xscom.c b/hw/xscom.c
index ea3c3fb..7bd78bf 100644
--- a/hw/xscom.c
+++ b/hw/xscom.c
@@ -677,12 +677,12 @@ static void xscom_init_chip_info(struct proc_chip *chip)
chip->ec_level |= (val >> 8) & 0xf;
/*
- * On P9 DD1.0, grab the ECID bits to differenciate
- * DD1.01, 1.02 etc...
+ * On P9, grab the ECID bits to differenciate
+ * DD1.01, 1.02, 2.00, etc...
*/
if (chip_quirk(QUIRK_MAMBO_CALLOUTS)) {
chip->ec_rev = 0;
- } else if (proc_gen == proc_gen_p9 && chip->ec_level == 0x10) {
+ } else if (proc_gen == proc_gen_p9) {
uint64_t ecid2 = 0;
uint8_t rev;
xscom_read(chip->id, 0x18002, &ecid2);
@@ -702,7 +702,8 @@ static void xscom_init_chip_info(struct proc_chip *chip)
default:
rev = 0;
}
- printf("P9 DD1.0%d detected\n", rev);
+ printf("P9 DD%i.%i%d detected\n", 0xf & (chip->ec_level >> 4),
+ chip->ec_level & 0xf, rev);
chip->ec_rev = rev;
}
}