Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions Devices/es3c28p/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
idf_component_register(
SRCS "source/module.cpp"
REQUIRES TactilityKernel
)
23 changes: 23 additions & 0 deletions Devices/es3c28p/device.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
general.vendor=CYD
general.name=ES3C28P

apps.launcherAppId=Launcher

hardware.target=ESP32S3
hardware.flashSize=16MB
hardware.spiRam=true
hardware.spiRamMode=OCT
hardware.spiRamSpeed=120M
hardware.esptoolFlashFreq=120M
hardware.tinyUsb=true
hardware.bluetooth=true

display.size=2.8"
display.shape=rectangle
display.dpi=143

lvgl.colorDepth=16

storage.userDataLocation=SD

dependencies.useDeprecatedHal=false
7 changes: 7 additions & 0 deletions Devices/es3c28p/devicetree.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
dependencies:
- Platforms/platform-esp32
- Drivers/ili9341-module
- Drivers/ft5x06-module
- Drivers/es8311-module
- Drivers/audio-stream-module
dts: es3c28p.dts
142 changes: 142 additions & 0 deletions Devices/es3c28p/es3c28p.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
/dts-v1/;

#include <tactility/bindings/root.h>
#include <tactility/bindings/esp32_adc_oneshot.h>
#include <tactility/bindings/esp32_ble.h>
#include <tactility/bindings/esp32_gpio.h>
#include <tactility/bindings/esp32_i2c.h>
#include <tactility/bindings/esp32_i2s.h>
#include <tactility/bindings/esp32_pwm_ledc.h>
#include <tactility/bindings/esp32_sdmmc.h>
#include <tactility/bindings/esp32_spi.h>
#include <tactility/bindings/esp32_wifi_pinned.h>
#include <tactility/bindings/battery_sense.h>
#include <tactility/bindings/gpio_hog.h>
#include <tactility/bindings/pwm_backlight.h>
#include <bindings/ili9341.h>
#include <bindings/ft5x06.h>
#include <bindings/es8311.h>

/ {
compatible = "root";
model = "LCDWIKI ES3C28P";

wifi0 {
compatible = "espressif,esp32-wifi-pinned";
status = "disabled";
};

ble0 {
compatible = "espressif,esp32-ble";
status = "disabled";
};

gpio0 {
compatible = "espressif,esp32-gpio";
gpio-count = <49>;
};

/* FM8002E speaker amp enable, active-low on GPIO1 */
amp_enable {
compatible = "gpio-hog";
pin = <&gpio0 1 GPIO_FLAG_NONE>;
mode = <GPIO_HOG_MODE_OUTPUT_LOW>;
};

adc0 {
compatible = "espressif,esp32-adc-oneshot";
unit-id = <ADC_UNIT_1>;
clk-src = <ADC_RTC_CLK_SRC_DEFAULT>;
channels = <ADC_CHANNEL_8 ADC_ATTEN_DB_12 ADC_BITWIDTH_DEFAULT>;
};

/* BAT+ through 200K/200K divider into GPIO9 ADC1_CH8 */
battery-sense {
compatible = "battery-sense";
io-channel = <&adc0 0>;
reference-voltage-mv = <3300>;
multiplier = <2000>;
};

/* i2s0 must be before i2c0 so codec can reference it */
i2s0 {
compatible = "espressif,esp32-i2s";
port = <I2S_NUM_0>;
pin-bclk = <&gpio0 5 GPIO_FLAG_NONE>;
pin-ws = <&gpio0 7 GPIO_FLAG_NONE>;
pin-data-out = <&gpio0 8 GPIO_FLAG_NONE>;
pin-data-in = <&gpio0 6 GPIO_FLAG_NONE>;
pin-mclk = <&gpio0 4 GPIO_FLAG_NONE>;
};

i2c0 {
compatible = "espressif,esp32-i2c";
port = <I2C_NUM_0>;
clock-frequency = <100000>;
pin-sda = <&gpio0 16 GPIO_FLAG_NONE>;
pin-scl = <&gpio0 15 GPIO_FLAG_NONE>;

ft5x06@38 {
compatible = "focaltech,ft5x06";
reg = <0x38>;
x-max = <240>;
y-max = <320>;
swap-xy;
mirror-x;
pin-reset = <&gpio0 18 GPIO_FLAG_NONE>;
pin-interrupt = <&gpio0 17 GPIO_FLAG_NONE>;
};

es8311: es8311@18 {
compatible = "everest,es8311";
reg = <0x18>;
i2s = <&i2s0>;
};
};

display_backlight_pwm {
compatible = "espressif,esp32-pwm-ledc";
pin = <&gpio0 45 GPIO_FLAG_NONE>;
period-ns = <500000>;
ledc-timer = <0>;
ledc-channel = <0>;
};

display_backlight {
compatible = "pwm-backlight";
status = "disabled";
pwm = <&display_backlight_pwm>;
};

spi0 {
compatible = "espressif,esp32-spi";
host = <SPI2_HOST>;
pin-mosi = <&gpio0 11 GPIO_FLAG_NONE>;
pin-sclk = <&gpio0 12 GPIO_FLAG_NONE>;
cs-gpios = <&gpio0 10 GPIO_FLAG_NONE>;

display@0 {
compatible = "ilitek,ili9341";
horizontal-resolution = <320>;
vertical-resolution = <240>;
swap-xy;
invert-color;
bgr-order;
pixel-clock-hz = <40000000>;
pin-dc = <&gpio0 46 GPIO_FLAG_NONE>;
backlight = <&display_backlight>;
};
};

sdmmc0 {
compatible = "espressif,esp32-sdmmc";
pin-clk = <&gpio0 38 GPIO_FLAG_NONE>;
pin-cmd = <&gpio0 40 GPIO_FLAG_NONE>;
pin-d0 = <&gpio0 39 GPIO_FLAG_NONE>;
pin-d1 = <&gpio0 41 GPIO_FLAG_NONE>;
pin-d2 = <&gpio0 48 GPIO_FLAG_NONE>;
pin-d3 = <&gpio0 47 GPIO_FLAG_NONE>;
slot = <SDMMC_HOST_SLOT_1>;
bus-width = <4>;
};
};
21 changes: 21 additions & 0 deletions Devices/es3c28p/source/module.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#include <tactility/module.h>

extern "C" {

static error_t start() {
return ERROR_NONE;
}

static error_t stop() {
return ERROR_NONE;
}

struct Module es3c28p_module = {
.name = "es3c28p",
.start = start,
.stop = stop,
.symbols = nullptr,
.internal = nullptr
};

}
Loading