diff options
author | Michael Neuling <mikey@neuling.org> | 2017-08-17 11:44:01 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-08-21 11:58:19 +1000 |
commit | 9b3a7bad3e7329ba52bcdcc4b7e984aa7dad1cf5 (patch) | |
tree | 5e761a83a103d5f446c47cb20c8aa6569fd5f9cf /hw | |
parent | d34eaffad9ee1c9513c535cbfbb2df74691d5ec6 (diff) | |
download | skiboot-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')
-rw-r--r-- | hw/xscom.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -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; } } |