diff options
author | Oliver O'Halloran <oohall@gmail.com> | 2017-01-12 14:54:03 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-01-15 12:32:23 +1100 |
commit | b7ac68771baaebff3fb47120a73b3901e8e6a839 (patch) | |
tree | 30cff4b35b61d6a24fc3dab64ff65d2cd4a4133a /hdata | |
parent | 79736e767244497f1886c6c8f978f5667d21d2ed (diff) | |
download | skiboot-b7ac68771baaebff3fb47120a73b3901e8e6a839.zip skiboot-b7ac68771baaebff3fb47120a73b3901e8e6a839.tar.gz skiboot-b7ac68771baaebff3fb47120a73b3901e8e6a839.tar.bz2 |
hdat: create XIVE nodes under each xscom node
Adds the XIVE node under each chip's XSCOM controller node.
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hdata')
-rw-r--r-- | hdata/spira.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/hdata/spira.c b/hdata/spira.c index 5c12239..58278c9 100644 --- a/hdata/spira.c +++ b/hdata/spira.c @@ -333,6 +333,17 @@ static void add_psihb_node(struct dt_node *np) } } +static void add_xive_node(struct dt_node *np) +{ + struct dt_node *xive = dt_new_addr(np, "xive", 0x5013000); + + dt_add_property_cells(xive, "reg", 0x5013000, 0x300); + dt_add_property_string(xive, "compatible", "ibm,power9-xive-x"); + + /* HACK: required for simics */ + dt_add_property(xive, "force-assign-bars", NULL, 0); +} + static void add_xscom_add_pcia_assoc(struct dt_node *np, uint32_t pcid) { const struct HDIF_common_hdr *hdr; @@ -440,6 +451,9 @@ static bool add_xscom_sppcrd(uint64_t xscom_base) /* Add PSI Host bridge */ add_psihb_node(np); + + if (proc_gen >= proc_gen_p9) + add_xive_node(np); } return i > 0; |