Ken Van Hoeylandt 93efadd5e3
Devicetree DTS and YAML format improvements (#492)
* **DevicetreeCompiler**
  * Binding properties now support default values.
  * Compiler returns meaningful exit codes and reports errors more clearly.
  * Stronger validation of device configurations with unified error handling.
  * Added integration tests and a dedicated Devicetree test workflow.

* **Changes**
  * Platform binding schemas updated: some fields made required, others gained explicit defaults.
  * Many device-tree files simplified by removing unused/placeholder pin and transfer-size entries.

* **Documentation**
  * Removed several outdated TODO items.
2026-02-09 17:38:06 +01:00

20 lines
727 B
Python

import os
from .exception import DevicetreeException
def find_bindings(directory_path: str) -> list[str]:
yaml_files = []
for root, dirs, files in os.walk(directory_path):
for file in files:
if file.endswith(".yaml"):
full_path = os.path.join(root, file)
yaml_files.append(os.path.abspath(full_path))
return yaml_files
def find_all_bindings(directory_paths: list[str]) -> list[str]:
yaml_files = []
for directory_path in directory_paths:
new_paths = find_bindings(directory_path)
if len(new_paths) == 0:
raise DevicetreeException(f"No bindings found in {directory_path}")
yaml_files += new_paths
return yaml_files