diff --git a/scripts/dts/gen_defines.py b/scripts/dts/gen_defines.py index 86e61987c38..7cff885edfa 100755 --- a/scripts/dts/gen_defines.py +++ b/scripts/dts/gen_defines.py @@ -107,6 +107,16 @@ def main(): 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)