diff options
author | Michael Neuling <mikey@neuling.org> | 2016-05-02 15:26:21 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-05-10 16:04:51 +1000 |
commit | 591feeef8353c8a0ee73e42ff1538cf436c5fd1d (patch) | |
tree | 224bfb9fbed30b06eede81bd82d0506d91f24bb3 /hw | |
parent | 3ff350343a67cd1897f37684613468a5f849ac1b (diff) | |
download | skiboot-591feeef8353c8a0ee73e42ff1538cf436c5fd1d.zip skiboot-591feeef8353c8a0ee73e42ff1538cf436c5fd1d.tar.gz skiboot-591feeef8353c8a0ee73e42ff1538cf436c5fd1d.tar.bz2 |
Add base POWER9 support
Add PVR detection, chip id and other misc bits for POWER9.
POWER9 changes the location of the HILE and attn enable bits in the
HID0 register, so add these definitions also.
Signed-off-by: Michael Neuling <mikey@neuling.org>
[stewart@linux.vnet.ibm.com: Fix Numbus typo, hdata_to_dt build fixes]
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/xscom.c | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -426,11 +426,13 @@ int64_t xscom_read_cfam_chipid(uint32_t partid, uint32_t *chip_id) int64_t rc = OPAL_SUCCESS; /* Mambo chip model lacks the f000f register, just make - * something up (Murano DD2.1) + * something up */ - if (chip_quirk(QUIRK_NO_F000F)) - val = 0x221EF04980000000UL; - else + if (chip_quirk(QUIRK_NO_F000F)) { + val = 0x221EF04980000000UL; /* P8 Murano DD2.1 */ + if (proc_gen == proc_gen_p9) + val = 0x100D104980000000UL; /* P9 Nimbus DD1.0 */ + } else rc = xscom_read(partid, 0xf000f, &val); /* Extract CFAM id */ @@ -474,6 +476,14 @@ static void xscom_init_chip_info(struct proc_chip *chip) chip->type = PROC_CHIP_P8_NAPLES; assert(proc_gen == proc_gen_p8); break; + case 0xd1: + chip->type = PROC_CHIP_P9_NIMBUS; + assert(proc_gen == proc_gen_p9); + break; + case 0xd4: + chip->type = PROC_CHIP_P9_CUMULUS; + assert(proc_gen == proc_gen_p9); + break; default: printf("CHIP: Unknown chip type 0x%02x !!!\n", (unsigned char)(val & 0xff)); |