[Skiboot] [PATCH] core/opal: Fix reg format for flash at 0 node in DT
Maxim Polyakov
m.polyakov at yadro.com
Wed Apr 24 21:41:50 AEST 2019
The “reg” property for /ibm,opal/flash at 0 node in device tree has
invalid format. For this reason, the FWTS on the Linux host displays
the following warning:
/ibm,opal/flash at 0:reg: property has invalid length (8 bytes)
(#address-cells == 0, #size-cells == 0)
This patch sets the #address-cells/#size-cells to 1 and fixes this
problem. Resolve: https://github.com/open-power/skiboot/issues/47
Signed-off-by: Maxim Polyakov <m.polyakov at yadro.com>
---
core/opal.c | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
diff --git a/core/opal.c b/core/opal.c
index 624e2a2..cedff11 100644
--- a/core/opal.c
+++ b/core/opal.c
@@ -406,8 +406,25 @@ void add_opal_node(void)
(uint64_t)(cpu_max_pir + 1) * STACK_SIZE) - SKIBOOT_BASE;
opal_node = dt_new_check(dt_root, "ibm,opal");
- dt_add_property_cells(opal_node, "#address-cells", 0);
- dt_add_property_cells(opal_node, "#size-cells", 0);
+ /*
+ * Since the "ibm,opal" node doesn`t refer to any "bus",
+ * the "#address-cells" and "#size-cells" being zero is correct.
+ * However, in this case, the “reg” property that determines the
+ * size of the flash memory in the child node “flash at 0” has an
+ * invalid format. For this reason, the FWTS on the Linux host
+ * displays the following warning:
+ *
+ * /ibm,opal/flash at 0:reg: property has invalid length (8
+ * bytes) (#address-cells == 0, #size-cells == 0)
+ *
+ * The "#address-cells" and "#size-cells" are set to 1 to fix
+ * this problem temporarily.
+ *
+ * TODO: need to add some property that contains the size of
+ * the flash device instead of "reg"
+ */
+ dt_add_property_cells(opal_node, "#address-cells", 1);
+ dt_add_property_cells(opal_node, "#size-cells", 1);
if (proc_gen < proc_gen_p9)
dt_add_property_strings(opal_node, "compatible", "ibm,opal-v2",
--
2.7.4
More information about the Skiboot
mailing list