aboutsummaryrefslogtreecommitdiff
path: root/hw/xscom.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2014-11-30 12:21:34 +1100
committerStewart Smith <stewart@linux.vnet.ibm.com>2014-12-01 14:57:44 +1100
commit9594a715b50c338f1261e88c12c120cf8e5b8bba (patch)
tree5e5a07267866843ae9b0077122300bc3396ee2e5 /hw/xscom.c
parent566f139cffdcef5d1ce679cc1a7cfd0c7cde3f78 (diff)
downloadskiboot-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.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/hw/xscom.c b/hw/xscom.c
index 98cbaec..1698135 100644
--- a/hw/xscom.c
+++ b/hw/xscom.c
@@ -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 */