scripts: gen_defines: Add vendor name macros based on vendor prefixes
Adds vendor name and existence macros for all compatibles of a node that
match an entry in the vendor prefixes file.
Signed-off-by: Maureen Helm <maureen.helm@intel.com>
diff --git a/scripts/dts/gen_defines.py b/scripts/dts/gen_defines.py
index ea80802..30a93a1 100755
--- a/scripts/dts/gen_defines.py
+++ b/scripts/dts/gen_defines.py
@@ -507,10 +507,14 @@
# about whether edtlib / Zephyr's binding language recognizes
# them. The compatibles the node provides are what is important.
- for compat in node.compats:
+ for i, compat in enumerate(node.compats):
out_dt_define(
f"{node.z_path_id}_COMPAT_MATCHES_{str2ident(compat)}", 1)
+ if node.edt.compat2vendor[compat]:
+ out_dt_define(f"{node.z_path_id}_COMPAT_VENDOR_IDX_{i}_EXISTS", 1)
+ out_dt_define(f"{node.z_path_id}_COMPAT_VENDOR_IDX_{i}",
+ quote_str(node.edt.compat2vendor[compat]))
def write_children(node):
# Writes helper macros for dealing with node's children.