diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2014-11-30 12:21:34 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2014-12-01 14:57:44 +1100 |
commit | 9594a715b50c338f1261e88c12c120cf8e5b8bba (patch) | |
tree | 5e5a07267866843ae9b0077122300bc3396ee2e5 /hw/xscom.c | |
parent | 566f139cffdcef5d1ce679cc1a7cfd0c7cde3f78 (diff) | |
download | skiboot-9594a715b50c338f1261e88c12c120cf8e5b8bba.zip skiboot-9594a715b50c338f1261e88c12c120cf8e5b8bba.tar.gz skiboot-9594a715b50c338f1261e88c12c120cf8e5b8bba.tar.bz2 |
Add tweaks to work in Mambo simulator
Mambo doesn't implement various things such as PBA SCOMs, LPC,
ChipTOD, etc... It also provides a special console hook.
This adds detection of Mambo via the /mambo node, and enables
us to boot all the way to Linux.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/xscom.c')
-rw-r--r-- | hw/xscom.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -435,9 +435,15 @@ int xscom_writeme(uint64_t pcb_addr, uint64_t val) static void xscom_init_chip_info(struct proc_chip *chip) { uint64_t val; - int64_t rc; + int64_t rc = 0; - rc = xscom_read(chip->id, 0xf000f, &val); + /* Mambo chip model lacks the f000f register, just make + * something up (Murano DD2.1) + */ + if (is_mambo_chip) + val = 0x221EF04980000000; + else + rc = xscom_read(chip->id, 0xf000f, &val); if (rc) { prerror("XSCOM: Error %lld reading 0xf000f register\n", rc); /* We leave chip type to UNKNOWN */ |