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
@@ -0,0 +1,16 @@
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: "gpio-backlight"
properties:
pin:
type: phandles
required: true
description: Backlight enable output pin
enabled:
type: boolean
default: false
description: Whether the backlight is turned on by set_brightness_default()
@@ -6,7 +6,7 @@ description: >
HAL's initBoot() hook. Declare a gpio-hog node before the dependent device(s) in the .dts
source so it runs first.
compatible: "tactility,gpio-hog"
compatible: "gpio-hog"
properties:
pin:
@@ -0,0 +1,19 @@
description: >
PWM-driven display backlight. Wraps any PWM_TYPE device (e.g. espressif,esp32-pwm-ledc or
pwm-generic) and maps the brightness-level-range onto its duty cycle.
compatible: "pwm-backlight"
properties:
pwm:
type: phandles
required: true
description: The PWM device driving the backlight
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.
+20
View File
@@ -0,0 +1,20 @@
description: >
Generic PWM device that tracks period, duty cycle, polarity and enabled state in memory
without driving real hardware. Useful as a placeholder on boards without a real PWM
peripheral wired up yet, or in the POSIX simulator.
compatible: "pwm-generic"
properties:
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
@@ -0,0 +1,27 @@
description: >
RGB LED driven by 3 plain digital GPIO pins. Each channel is on/off only (no dimming):
a color component greater than 0 turns that channel's pin on.
compatible: "rgb-led-gpio"
properties:
pin-red:
type: phandles
required: true
description: Red channel output pin
pin-green:
type: phandles
required: true
description: Green channel output pin
pin-blue:
type: phandles
required: true
description: Blue channel output pin
enabled:
type: boolean
default: false
description: Whether the LED is turned on by default
default-color:
type: values
default: [255, 255, 255]
description: Color applied when the LED is turned on by default
+27
View File
@@ -0,0 +1,27 @@
description: >
RGB LED driven by 3 PWM devices (e.g. espressif,esp32-pwm-ledc or pwm-generic),
one per channel, giving each channel dimming via the wrapped device's duty cycle.
compatible: "rgb-led-pwm"
properties:
pwm-red:
type: phandle
required: true
description: PWM device driving the red channel
pwm-green:
type: phandle
required: true
description: PWM device driving the green channel
pwm-blue:
type: phandle
required: true
description: PWM device driving the blue channel
enabled:
type: boolean
default: false
description: Whether the LED is turned on by default
default-color:
type: values
default: [255, 255, 255]
description: Color applied when the LED is turned on by default
@@ -1,5 +0,0 @@
description: SPI peripheral
compatible: "spi-peripheral"
properties: {}