3b5a401594
* **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
148 lines
3.4 KiB
Devicetree
148 lines
3.4 KiB
Devicetree
/dts-v1/;
|
|
|
|
#include <tactility/bindings/root.h>
|
|
#include <tactility/bindings/esp32_wifi_pinned.h>
|
|
#include <tactility/bindings/esp32_gpio.h>
|
|
#include <tactility/bindings/esp32_i2c.h>
|
|
#include <tactility/bindings/esp32_spi.h>
|
|
#include <tactility/bindings/esp32_uart.h>
|
|
#include <tactility/bindings/esp32_sdspi.h>
|
|
#include <tactility/bindings/esp32_pwm_ledc.h>
|
|
#include <tactility/bindings/pwm_backlight.h>
|
|
#include <tactility/bindings/rgb_led_pwm.h>
|
|
#include <bindings/st7796.h>
|
|
#include <bindings/gt911.h>
|
|
|
|
/ {
|
|
compatible = "root";
|
|
model = "CYD 3248S035C";
|
|
|
|
wifi0 {
|
|
compatible = "espressif,esp32-wifi-pinned";
|
|
status = "disabled";
|
|
};
|
|
|
|
gpio0 {
|
|
compatible = "espressif,esp32-gpio";
|
|
gpio-count = <40>;
|
|
};
|
|
|
|
i2c_internal: i2c0 {
|
|
compatible = "espressif,esp32-i2c";
|
|
port = <I2C_NUM_0>;
|
|
clock-frequency = <400000>;
|
|
pin-sda = <&gpio0 33 GPIO_FLAG_NONE>;
|
|
pin-scl = <&gpio0 32 GPIO_FLAG_NONE>;
|
|
|
|
touch {
|
|
compatible = "goodix,gt911";
|
|
reg = <0x5D>;
|
|
x-max = <320>;
|
|
y-max = <480>;
|
|
};
|
|
};
|
|
|
|
// CN1 header
|
|
i2c_external: i2c1 {
|
|
compatible = "espressif,esp32-i2c";
|
|
port = <I2C_NUM_1>;
|
|
clock-frequency = <400000>;
|
|
pin-sda = <&gpio0 21 GPIO_FLAG_NONE>;
|
|
pin-scl = <&gpio0 22 GPIO_FLAG_NONE>;
|
|
};
|
|
|
|
rgb_led_channel_red {
|
|
compatible = "espressif,esp32-pwm-ledc";
|
|
pin = <&gpio0 4 GPIO_FLAG_NONE>;
|
|
period-ns = <500000>;
|
|
ledc-timer = <0>;
|
|
ledc-channel = <0>;
|
|
inverted;
|
|
};
|
|
|
|
rgb_led_channel_green {
|
|
compatible = "espressif,esp32-pwm-ledc";
|
|
pin = <&gpio0 16 GPIO_FLAG_NONE>;
|
|
period-ns = <500000>;
|
|
ledc-timer = <0>;
|
|
ledc-channel = <1>;
|
|
inverted;
|
|
};
|
|
|
|
rgb_led_channel_blue {
|
|
compatible = "espressif,esp32-pwm-ledc";
|
|
pin = <&gpio0 17 GPIO_FLAG_NONE>;
|
|
period-ns = <500000>;
|
|
ledc-timer = <0>;
|
|
ledc-channel = <2>;
|
|
inverted;
|
|
};
|
|
|
|
rgb_led_pwm {
|
|
compatible = "rgb-led-pwm";
|
|
pwm-red = <&rgb_led_channel_red>;
|
|
pwm-green = <&rgb_led_channel_green>;
|
|
pwm-blue = <&rgb_led_channel_blue>;
|
|
// Default is red, and we want to reset it to off by default
|
|
default-color = <0 0 0>;
|
|
enabled;
|
|
};
|
|
|
|
display_backlight_pwm {
|
|
compatible = "espressif,esp32-pwm-ledc";
|
|
pin = <&gpio0 27 GPIO_FLAG_NONE>;
|
|
period-ns = <33333>;
|
|
ledc-timer = <1>;
|
|
ledc-channel = <3>;
|
|
};
|
|
|
|
display_backlight {
|
|
compatible = "pwm-backlight";
|
|
// Off by default so display power-on won't show the screen from before the last power loss.
|
|
// The display backlight is turned on during the boot process.
|
|
status = "disabled";
|
|
pwm = <&display_backlight_pwm>;
|
|
};
|
|
|
|
spi0 {
|
|
compatible = "espressif,esp32-spi";
|
|
host = <SPI2_HOST>;
|
|
cs-gpios = <&gpio0 15 GPIO_FLAG_NONE>;
|
|
pin-mosi = <&gpio0 13 GPIO_FLAG_NONE>;
|
|
pin-sclk = <&gpio0 14 GPIO_FLAG_NONE>;
|
|
|
|
display@0 {
|
|
compatible = "sitronix,st7796";
|
|
horizontal-resolution = <320>;
|
|
vertical-resolution = <480>;
|
|
mirror-x;
|
|
pixel-clock-hz = <80000000>;
|
|
pin-dc = <&gpio0 2 GPIO_FLAG_NONE>;
|
|
backlight = <&display_backlight>;
|
|
};
|
|
};
|
|
|
|
spi1 {
|
|
compatible = "espressif,esp32-spi";
|
|
host = <SPI3_HOST>;
|
|
cs-gpios = <&gpio0 5 GPIO_FLAG_NONE>;
|
|
pin-mosi = <&gpio0 23 GPIO_FLAG_NONE>;
|
|
pin-miso = <&gpio0 19 GPIO_FLAG_NONE>;
|
|
pin-sclk = <&gpio0 18 GPIO_FLAG_NONE>;
|
|
|
|
sdcard@0 {
|
|
compatible = "espressif,esp32-sdspi";
|
|
frequency-khz = <20000>;
|
|
};
|
|
};
|
|
|
|
// CN1 header, JST SH 1.25, GND / IO22 / IO21 / 3.3V
|
|
uart1 {
|
|
compatible = "espressif,esp32-uart";
|
|
status = "disabled";
|
|
port = <UART_NUM_1>;
|
|
pin-tx = <&gpio0 22 GPIO_FLAG_NONE>;
|
|
pin-rx = <&gpio0 21 GPIO_FLAG_NONE>;
|
|
};
|
|
};
|