9a540c644e
- ST7305 driver with persistent 15KB DMA buffer (fix use-after-free +
WDT lockup that caused freeze after flash)
- Reset timing fix: 150ms after reset, 50ms after init
- DTS: i2s0 mclk 16, bclk 9, ws 45, out 8, in 10 - fixes GPIO5 conflict
- i2c0 uses esp32-i2c-master, SDMMC 1-bit
- device.properties: colorDepth 16, fontSize 20, DefaultDark
- Amp GPIO46 init in initBoot
- Buttons: two-button control GPIO18 (cycle) + GPIO0 (select)
Base: origin/main f9453d89
79 lines
2.0 KiB
Devicetree
79 lines
2.0 KiB
Devicetree
/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_sdmmc.h>
|
|
#include <tactility/bindings/esp32_spi.h>
|
|
#include <tactility/bindings/esp32_i2s.h>
|
|
#include <tactility/bindings/esp32_uart.h>
|
|
#include <tactility/bindings/display_placeholder.h>
|
|
|
|
/ {
|
|
compatible = "root";
|
|
model = "Waveshare ESP32-S3-RLCD-4.2";
|
|
|
|
ble0 {
|
|
compatible = "espressif,esp32-ble";
|
|
status = "disabled";
|
|
};
|
|
|
|
gpio0 {
|
|
compatible = "espressif,esp32-gpio";
|
|
gpio-count = <49>;
|
|
};
|
|
|
|
// Audio: ES7210 mic + speaker via I2S0
|
|
// Pins verified from working MicroPython board_config.py for WAVESHARE_RLCD:
|
|
// mclk=16, bclk=9, ws=45, tx=8 (DAC out), rx=10 (ES7210 mic in)
|
|
// NOTE: Display DC is GPIO5, so I2S must NOT use GPIO5 to avoid bus corruption
|
|
i2s0 {
|
|
compatible = "espressif,esp32-i2s";
|
|
port = <I2S_NUM_0>;
|
|
pin-bclk = <&gpio0 9 GPIO_FLAG_NONE>;
|
|
pin-ws = <&gpio0 45 GPIO_FLAG_NONE>;
|
|
pin-data-out = <&gpio0 8 GPIO_FLAG_NONE>;
|
|
pin-data-in = <&gpio0 10 GPIO_FLAG_NONE>;
|
|
pin-mclk = <&gpio0 16 GPIO_FLAG_NONE>;
|
|
};
|
|
|
|
i2c0 {
|
|
compatible = "espressif,esp32-i2c-master";
|
|
port = <I2C_NUM_0>;
|
|
clock-frequency = <400000>;
|
|
pin-sda = <&gpio0 13 GPIO_FLAG_NONE>;
|
|
pin-scl = <&gpio0 14 GPIO_FLAG_NONE>;
|
|
};
|
|
|
|
spi0 {
|
|
compatible = "espressif,esp32-spi";
|
|
host = <SPI2_HOST>;
|
|
cs-gpios = <&gpio0 40 GPIO_FLAG_NONE>;
|
|
pin-mosi = <&gpio0 12 GPIO_FLAG_NONE>;
|
|
pin-sclk = <&gpio0 11 GPIO_FLAG_NONE>;
|
|
|
|
display {
|
|
compatible = "display-placeholder";
|
|
};
|
|
};
|
|
|
|
sdmmc0 {
|
|
compatible = "espressif,esp32-sdmmc";
|
|
pin-clk = <&gpio0 38 GPIO_FLAG_NONE>;
|
|
pin-cmd = <&gpio0 21 GPIO_FLAG_NONE>;
|
|
pin-d0 = <&gpio0 39 GPIO_FLAG_NONE>;
|
|
pin-d3 = <&gpio0 17 GPIO_FLAG_NONE>;
|
|
slot = <SDMMC_HOST_SLOT_1>;
|
|
bus-width = <1>;
|
|
pullups;
|
|
};
|
|
|
|
uart0 {
|
|
compatible = "espressif,esp32-uart";
|
|
port = <UART_NUM_0>;
|
|
pin-tx = <&gpio0 43 GPIO_FLAG_NONE>;
|
|
pin-rx = <&gpio0 44 GPIO_FLAG_NONE>;
|
|
};
|
|
};
|