scripts: gen_defines: zephyr,linker-region unique
Add checks to ensure that `zephyr,linker-region` property values are
always globally unique.
Signed-off-by: Jordan Yates <jordan.yates@data61.csiro.au>
diff --git a/scripts/dts/gen_defines.py b/scripts/dts/gen_defines.py
index 86e6198..7cff885 100755
--- a/scripts/dts/gen_defines.py
+++ b/scripts/dts/gen_defines.py
@@ -107,6 +107,16 @@
for node in sorted(edt.nodes, key=lambda node: node.dep_ordinal):
node.z_path_id = node_z_path_id(node)
+ # Check to see if we have duplicate "zephyr,memory-region" property values.
+ regions = dict()
+ for node in sorted(edt.nodes, key=lambda node: node.dep_ordinal):
+ if 'zephyr,memory-region' in node.props:
+ region = node.props['zephyr,memory-region'].val
+ if region in regions:
+ sys.exit(f"ERROR: Duplicate 'zephyr,memory-region' ({region}) properties "
+ f"between {regions[region].path} and {node.path}")
+ regions[region] = node
+
for node in sorted(edt.nodes, key=lambda node: node.dep_ordinal):
write_node_comment(node)