Tactility/Devices/guition-jc4880p443ciw/guition,jc4880p443ciw.dts
2026-10-19 21:20:58 +02:00

175 lines
4.6 KiB
Plaintext

/dts-v1/;
#include <tactility/bindings/root.h>
#include <tactility/bindings/esp32_ble.h>
#include <tactility/bindings/esp32_gpio.h>
#include <tactility/bindings/esp32_i2c_master.h>
#include <tactility/bindings/esp32_i2s.h>
#include <tactility/bindings/esp32_sdmmc.h>
#include <tactility/bindings/esp32_wifi.h>
#include <tactility/bindings/esp32_pwm_ledc.h>
#include <tactility/bindings/pwm_backlight.h>
#include <tactility/bindings/gpio_hog.h>
#include <bindings/st7701_dsi.h>
#include <bindings/gt911.h>
#include <bindings/es8311.h>
#include <bindings/es7243e.h>
/ {
compatible = "root";
model = "Guition JC4880P443C-I-W";
wifi0 {
compatible = "espressif,esp32-wifi";
};
ble0 {
compatible = "espressif,esp32-ble";
};
gpio0 {
compatible = "espressif,esp32-gpio";
gpio-count = <55>;
};
// Speaker and microphone (ES8311)
i2s0 {
compatible = "espressif,esp32-i2s";
port = <I2S_NUM_0>;
pin-bclk = <&gpio0 12 GPIO_FLAG_NONE>;
pin-ws = <&gpio0 10 GPIO_FLAG_NONE>;
pin-data-out = <&gpio0 9 GPIO_FLAG_NONE>;
pin-data-in = <&gpio0 48 GPIO_FLAG_NONE>;
pin-mclk = <&gpio0 13 GPIO_FLAG_NONE>;
};
i2c_internal: i2c0 {
compatible = "espressif,esp32-i2c-master";
port = <I2C_NUM_0>;
clock-frequency = <400000>;
pin-sda = <&gpio0 7 GPIO_FLAG_NONE>;
pin-scl = <&gpio0 8 GPIO_FLAG_NONE>;
touch0: gt911@5D {
compatible = "goodix,gt911";
reg = <0x5D>;
x-max = <480>;
y-max = <800>;
status = "okay";
};
es8311: es8311@18 {
compatible = "everest,es8311";
reg = <0x18>;
i2s = <&i2s0>;
};
es7243e: es7243e@14 {
compatible = "everest,es7243e";
reg = <0x14>;
i2s = <&i2s0>;
};
};
sdcard0: sdcard0 {
compatible = "espressif,esp32-sdmmc";
slot = <0>;
bus-width = <4>;
pin-clk = <&gpio0 43 GPIO_FLAG_NONE>;
pin-cmd = <&gpio0 44 GPIO_FLAG_NONE>;
pin-d0 = <&gpio0 39 GPIO_FLAG_NONE>;
pin-d1 = <&gpio0 40 GPIO_FLAG_NONE>;
pin-d2 = <&gpio0 41 GPIO_FLAG_NONE>;
pin-d3 = <&gpio0 42 GPIO_FLAG_NONE>;
on-chip-ldo-chan = <4>;
};
display_backlight_pwm {
compatible = "espressif,esp32-pwm-ledc";
pin = <&gpio0 23 GPIO_FLAG_NONE>;
period-ns = <200000>;
ledc-timer = <0>;
ledc-channel = <0>;
status = "okay";
};
display_backlight {
compatible = "pwm-backlight";
pwm = <&display_backlight_pwm>;
status = "okay";
};
// Speaker PA enable (GPIO11 active high)
pa_enable {
compatible = "gpio-hog";
pin = <&gpio0 11 GPIO_FLAG_NONE>;
mode = <GPIO_HOG_MODE_OUTPUT_HIGH>;
status = "okay";
};
display0: st7701-dsi@0 {
compatible = "sitronix,st7701-dsi";
horizontal-resolution = <480>;
vertical-resolution = <800>;
bits-per-pixel = <16>;
pin-reset = <&gpio0 5 GPIO_FLAG_NONE>;
ldo-channel = <3>;
ldo-voltage-mv = <2500>;
dsi-bus-id = <0>;
num-data-lanes = <2>;
lane-bit-rate-mbps = <500>;
dpi-clock-freq-mhz = <34>;
hsync-pulse-width = <12>;
hsync-back-porch = <42>;
hsync-front-porch = <42>;
vsync-pulse-width = <2>;
vsync-back-porch = <8>;
vsync-front-porch = <166>;
num-fbs = <2>;
use-dma2d;
allow-tearing;
backlight = <&display_backlight>;
init-sequence = [
0xFF 0x05 0x00 0x77 0x01 0x00 0x00 0x13
0xEF 0x01 0x00 0x08
0xFF 0x05 0x00 0x77 0x01 0x00 0x00 0x10
0xC0 0x02 0x00 0x63 0x00
0xC1 0x02 0x00 0x0D 0x02
0xC2 0x02 0x00 0x10 0x08
0xCC 0x01 0x00 0x10
0xB0 0x10 0x00 0x80 0x09 0x53 0x0C 0xD0 0x07 0x0C 0x09 0x09 0x28 0x06 0xD4 0x13 0x69 0x2B 0x71
0xB1 0x10 0x00 0x80 0x94 0x5A 0x10 0xD3 0x06 0x0A 0x08 0x08 0x25 0x03 0xD3 0x12 0x66 0x6A 0x0D
0xFF 0x05 0x00 0x77 0x01 0x00 0x00 0x11
0xB0 0x01 0x00 0x5D
0xB1 0x01 0x00 0x58
0xB2 0x01 0x00 0x87
0xB3 0x01 0x00 0x80
0xB5 0x01 0x00 0x4E
0xB7 0x01 0x00 0x85
0xB8 0x01 0x00 0x21
0xB9 0x02 0x00 0x10 0x1F
0xBB 0x01 0x00 0x03
0xBC 0x01 0x00 0x00
0xC1 0x01 0x00 0x78
0xC2 0x01 0x00 0x78
0xD0 0x01 0x00 0x88
0xE0 0x03 0x00 0x00 0x3A 0x02
0xE1 0x0B 0x00 0x04 0xA0 0x00 0xA0 0x05 0xA0 0x00 0xA0 0x00 0x40 0x40
0xE2 0x0D 0x00 0x30 0x00 0x40 0x40 0x32 0xA0 0x00 0xA0 0x00 0xA0 0x00 0xA0 0x00
0xE3 0x04 0x00 0x00 0x00 0x33 0x33
0xE4 0x02 0x00 0x44 0x44
0xE5 0x10 0x00 0x09 0x2E 0xA0 0xA0 0x0B 0x30 0xA0 0xA0 0x05 0x2A 0xA0 0xA0 0x07 0x2C 0xA0 0xA0
0xE6 0x04 0x00 0x00 0x00 0x33 0x33
0xE7 0x02 0x00 0x44 0x44
0xE8 0x10 0x00 0x08 0x2D 0xA0 0xA0 0x0A 0x2F 0xA0 0xA0 0x04 0x29 0xA0 0xA0 0x06 0x2B 0xA0 0xA0
0xEB 0x07 0x00 0x00 0x00 0x4E 0x4E 0x00 0x00 0x00
0xEC 0x02 0x00 0x08 0x01
0xED 0x10 0x00 0xB0 0x2B 0x98 0xA4 0x56 0x7F 0xFF 0xFF 0xFF 0xFF 0xF7 0x65 0x4A 0x89 0xB2 0x0B
0xEF 0x06 0x00 0x08 0x08 0x08 0x45 0x3F 0x54
0xFF 0x05 0x00 0x77 0x01 0x00 0x00 0x00
0x11 0x01 0x78 0x00
0x29 0x01 0x14 0x00
];
status = "okay";
};
};