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

49 lines
727 B
Python

from dataclasses import dataclass
@dataclass
class DtsVersion:
version: str
@dataclass
class Device:
node_name: str
node_alias: str
properties: list
devices: list
@dataclass
class DeviceProperty:
name: str
type: str
value: object
@dataclass
class PropertyValue:
type: str
value: object
@dataclass
class IncludeC:
statement: str
@dataclass
class DefineC:
statement: str
@dataclass
class BindingProperty:
name: str
type: str
required: bool
description: str
default: object = None
@dataclass
class Binding:
filename: str
compatible: list[str]
description: str
properties: list[BindingProperty]
includes: list[str]
bus: str = None