aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Smith <stewart@linux.vnet.ibm.com>2016-07-19 17:24:36 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2016-07-20 18:52:26 +1000
commit96df49e8f752e30942b0e5e7cd8438173efe1610 (patch)
tree518e9b9937b07bf5d66725ac734a07e20bf750b5
parenta3cede091945a6b3a76fb828c1bd5a962023e877 (diff)
downloadskiboot-96df49e8f752e30942b0e5e7cd8438173efe1610.zip
skiboot-96df49e8f752e30942b0e5e7cd8438173efe1610.tar.gz
skiboot-96df49e8f752e30942b0e5e7cd8438173efe1610.tar.bz2
device-tree: Only advertise ibm, opal-v3 (not v2) on POWER9 and above
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r--core/opal.c9
-rw-r--r--doc/device-tree/ibm,opal.txt1
-rw-r--r--doc/opal-api/power9-changes.txt6
3 files changed, 13 insertions, 3 deletions
diff --git a/core/opal.c b/core/opal.c
index f48e6ad..af59464 100644
--- a/core/opal.c
+++ b/core/opal.c
@@ -159,8 +159,13 @@ void add_opal_node(void)
dt_add_property_cells(opal_node, "#address-cells", 0);
dt_add_property_cells(opal_node, "#size-cells", 0);
- dt_add_property_strings(opal_node, "compatible", "ibm,opal-v2",
- "ibm,opal-v3");
+
+ if (proc_gen < proc_gen_p9)
+ dt_add_property_strings(opal_node, "compatible", "ibm,opal-v2",
+ "ibm,opal-v3");
+ else
+ dt_add_property_strings(opal_node, "compatible", "ibm,opal-v3");
+
dt_add_property_cells(opal_node, "opal-msg-async-num", OPAL_MAX_ASYNC_COMP);
dt_add_property_cells(opal_node, "opal-msg-size", sizeof(struct opal_msg));
dt_add_property_u64(opal_node, "opal-base-address", base);
diff --git a/doc/device-tree/ibm,opal.txt b/doc/device-tree/ibm,opal.txt
index d4dcfb8..3b90b5b 100644
--- a/doc/device-tree/ibm,opal.txt
+++ b/doc/device-tree/ibm,opal.txt
@@ -5,6 +5,7 @@
; v2 is maintained for possible compatibility with very, very old kernels
; it will go away at some point in the future. Detect and rely on ibm,opal-v3
+; ibm,opal-v2 is *NOT* present on POWER9 and above.
ibm,associativity-reference-points = <0x4 0x3>;
ibm,heartbeat-ms = <0x7d0>;
diff --git a/doc/opal-api/power9-changes.txt b/doc/opal-api/power9-changes.txt
index cf354d6..4db74b0 100644
--- a/doc/opal-api/power9-changes.txt
+++ b/doc/opal-api/power9-changes.txt
@@ -15,11 +15,15 @@ OPAL_REINIT_CPUS
Can now be extended beyond HILE BE/LE bits. If invalid flags are set on
POWER9, OPAL_UNSUPPORTED will be returned.
+Device Tree
+-----------
+- /ibm,opal/ compatible property now just lists ibm,opal-v3 and no longer
+ ibm,opal-v2 (power9 and above only)
+
TODO
----
Things we still have to do for POWER9:
-- remove opal-v2 from compatible string.
- PCI to use async API rather than returning delays
- deprecate/remove v1 APIs where there's a V2
- Fix this FWTS warning: