* **New Features**
* Added native display support for ST7796, ILI9341, and ST7789 panels across supported boards.
* Added FT5x06 and FT6x36 touchscreen support.
* Generic PWM driver
* ESP32 PWM driver
* Generic RGB LED driver
* RGB PWM LED driver
* RGB GPIO LED driver
* Implementation of RGB LED for various boards
* **Improvements**
* Updated board hardware descriptions to use explicit display/touch/backlight device-tree bindings and disabled deprecated HAL usage.
* Improved display and touch-driver cleanup to prevent stale resources and improve shutdown reliability.
* Pinned esp-hosted library to a fixed version
* **Deletions**
* Obsolete placeholder display
* Legacy ILI9488 support.
* ESP32-specific LEDC PWM implementation
- Added kernel base drivers for: display, pointer (touch, mouse, etc.), keyboard, adc, power supply and backlight
- Implement new kernel driver modules: `st7789-module` and `gt911-module`
- Implement ESP32 ADC "oneshot" kernel driver
- Implement ESP32 backlight kernel driver with ledc API
- Implemented `battery-sense` driver that allows for voltage measurement and creates a power supply child device
- Updated github actions
- Updated flash scripts
- Fix for esp32 legacy driver conflict with ADC
- Created separate `lilygo-tdeck` and `lilygo-tdeck-plus` devices
- Created `lilygo-module` with LilyGO kernel drivers
- Fix for intermittent errors in build related to code generation of `devicetree.c`
- `lvgl-module` can now map kernel drivers onto LVGL devices
- Created `KernelDisplayApp` as a mirror of `HalDisplayApp` (formerly `DisplayApp`)
- Removed `struct` and `enum` prefix in a lot of kernel driver cpp source files
- `lilygo-tdeck` and `lilygo-tdeck-plus` are now fully relying on kernel drivers and don't use any of the old HAL
- Disable BlueTooth driver by default, to ensure it doesn't allocate memory
- Update BlueTooth settings app behaviour to make sure it starts/stops the devices
- Disable SPI RAM usage for ST7789 as it broke App Hub
- Reduce T-Display and T-Deck display buffers from 1/3rd to 1/10th of resolution
- Enabled dynamic buffers for MbedTLS to optimize memory
- TLS 1.3 did not work with dynamic buffers: downgrade to 1.2 for now
- WiFi is now enabled from the Boot app callback to the WiFi service, instead of the WiFi service start() function. This avoids a lockup when WiFi is started by the service while the Boot app is updating the WiFi settings.
- New drivers:
- SD SPI
- spi_peripheral
- touch_placeholder
- display_placeholder
- Devicetree compiler:
- Implement phandle-arrays
- Implement device addresses
- Add placeholder drivers to all devices with a SPI display
- SPI driver: add `cs-pins` and set them to high on driver start
- FileSystem: add `file_system_set_owner()` and `file_system_get_owner()`
- File locking is now checking if the related `FileSystem` is part of a shared SPI bus
- Add `device_get_child_count()`
- SDMMC driver: Remove default of `slot` value
- Fix for Crowpanel Basic 3.5" display (add delay to booting)
- Fix for LilyGO T-HMI SD card mounting (delayed mounting by disabling it initially in the dts)
* Optional internal pull-ups for SD/MMC pins in DTS
* Selectable on‑chip LDO channel for SD/MMC power (can be disabled)
* Added several sensor/driver modules to generic ESP32 device configurations so that they become part of the SDKs
* SD card mount now prints card information for clearer diagnostics
* Fix for bug DTS boolean parsing. Improved tests to catch these issues.
* Expanded SDK integration test to include new modules and headers
* Modularized packaging to generate per‑module build files and include driver assets