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.
This commit is contained in:
Ken Van Hoeylandt
2026-02-09 17:38:06 +01:00
committed by GitHub
parent d27404964a
commit 93efadd5e3
57 changed files with 257 additions and 283 deletions
@@ -7,16 +7,20 @@ compatible: "espressif,esp32-i2c"
properties:
port:
type: int
required: true
description: |
The port number, defined by i2c_port_t.
Depending on the hardware, these values are available: I2C_NUM_0, I2C_NUM_1, LP_I2C_NUM_0
clock-frequency:
type: int
required: true
description: Initial clock frequency in Hz
pin-sda:
type: int
required: true
pin-scl:
type: int
required: true
pin-sda-pull-up:
type: bool
description: enable internal pull-up resistor for SDA pin
@@ -21,13 +21,14 @@ properties:
description: WS pin
pin-data-out:
type: int
required: true
default: GPIO_PIN_NONE
description: DATA OUT pin
pin-data-in:
type: int
required: true
default: GPIO_PIN_NONE
description: DATA IN pin
pin-mclk:
type: int
required: true
required: false
default: GPIO_PIN_NONE
description: MCLK pin
@@ -13,11 +13,11 @@ properties:
Defined by spi_host_device_t (e.g. SPI2_HOST, SPI3_HOST).
pin-mosi:
type: int
required: true
default: GPIO_PIN_NONE
description: MOSI (Data 0) pin
pin-miso:
type: int
required: true
default: GPIO_PIN_NONE
description: MISO (Data 1) pin
pin-sclk:
type: int
@@ -25,12 +25,15 @@ properties:
description: Clock pin
pin-wp:
type: int
default: GPIO_PIN_NONE
description: WP (Data 2) pin
pin-hd:
type: int
default: GPIO_PIN_NONE
description: HD (Data 3) pin
max-transfer-size:
type: int
default: 0
description: |
Data transfer size limit in bytes.
0 means the platform decides the limit.
@@ -21,7 +21,9 @@ properties:
description: RX pin
pin-cts:
type: int
default: GPIO_PIN_NONE
description: CTS pin
pin-rts:
type: int
default: GPIO_PIN_NONE
description: RTS pin