Device migrations, new drivers, cleanup (#567)

* **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
This commit is contained in:
Ken Van Hoeylandt
2026-07-16 22:47:26 +02:00
committed by GitHub
parent 6fb2bb736c
commit 3b5a401594
175 changed files with 4218 additions and 1462 deletions
@@ -1,16 +0,0 @@
description: >
Simple GPIO-driven on/off backlight, for panels whose backlight is a single digital
enable pin rather than a PWM-dimmable one. Brightness is treated as boolean: any
value greater than 0 turns the backlight on, 0 turns it off.
compatible: "espressif,esp32-gpio-backlight"
properties:
pin-backlight:
type: phandles
required: true
description: Backlight enable output pin
default-on:
type: boolean
default: true
description: Whether the backlight is turned on by set_brightness_default()
@@ -1,29 +0,0 @@
description: ESP32 LEDC-backed PWM backlight
compatible: "espressif,esp32-ledc-backlight"
properties:
pin-backlight:
type: phandles
required: true
description: Backlight PWM output pin
frequency-hz:
type: int
default: 30000
description: PWM frequency in Hz
brightness-level-range:
type: values
default: [0, 255]
description: Inclusive [min,max] brightness range. The minimum value turns the backlight off.
brightness-default:
type: int
default: 200
description: Default brightness level, applied by set_brightness_default(). Should fall within brightness-level-range.
ledc-timer:
type: int
default: 0
description: LEDC timer index, defined by ledc_timer_t
ledc-channel:
type: int
default: 0
description: LEDC channel index, defined by ledc_channel_t
@@ -0,0 +1,33 @@
description: ESP32 LEDC-backed generic PWM output
compatible: "espressif,esp32-pwm-ledc"
properties:
pin:
type: phandles
required: true
description: PWM output pin
period-ns:
type: int
required: true
description: The PWM period, in nanoseconds
duty-ns:
type: int
default: 0
description: The PWM duty cycle (active time within one period), in nanoseconds
inverted:
type: boolean
default: false
description: Whether the output polarity is inverted
duty-resolution:
type: int
default: 10
description: LEDC duty resolution in bits, defined by ledc_timer_bit_t
ledc-timer:
type: int
required: true
description: LEDC timer index, defined by ledc_timer_t
ledc-channel:
type: int
required: true
description: LEDC channel index, defined by ledc_channel_t