diff options
Diffstat (limited to 'hdata/spira.c')
-rw-r--r-- | hdata/spira.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/hdata/spira.c b/hdata/spira.c index 58afb93..d5e6984 100644 --- a/hdata/spira.c +++ b/hdata/spira.c @@ -741,7 +741,6 @@ static bool add_chiptod_new(void) static void add_nx_node(u32 gcid) { struct dt_node *nx; - const char *cp_str; u32 addr; u32 size; struct dt_node *xscom; @@ -761,25 +760,28 @@ static void add_nx_node(u32 gcid) addr = 0x2010000; size = 0x0004000; + nx = dt_new_addr(xscom, "nx", addr); + if (!nx) + return; + switch (proc_gen) { case proc_gen_p7: - cp_str = "ibm,power7-nx"; + dt_add_property_strings(nx, "compatible", "ibm,power-nx", + "ibm,power7-nx"); break; case proc_gen_p8: - cp_str = "ibm,power8-nx"; + dt_add_property_strings(nx, "compatible", "ibm,power-nx", + "ibm,power8-nx"); break; case proc_gen_p9: - cp_str = "ibm,power9-nx"; + /* POWER9 NX is not software compatible with P7/P8 NX */ + dt_add_property_strings(nx, "compatible", "ibm,power9-nx"); break; default: return; } - nx = dt_new_addr(xscom, "nx", addr); - if (!nx) - return; dt_add_property_cells(nx, "reg", addr, size); - dt_add_property_strings(nx, "compatible", "ibm,power-nx", cp_str); } static void add_nx(void) |