/dts-v1/; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Reference: // https://wiki.lilygo.cc/products/t-embed-series/t-embed-cc1101/ // https://github.com/Xinyuan-LilyGO/T-Embed-CC1101 // https://lilygo.cc/products/t-embed-cc1101-plus / { compatible = "root"; model = "T-Embed CC1101 Plus"; adc0 { compatible = "espressif,esp32-adc-oneshot"; unit-id = ; clk-src = ; channels = ; }; battery-sense { compatible = "battery-sense"; io-channel = <&adc0 0>; reference-voltage-mv = <3300>; multiplier = <2110>; }; wifi0 { compatible = "espressif,esp32-wifi-pinned"; }; ble0 { compatible = "espressif,esp32-ble"; }; gpio0 { compatible = "espressif,esp32-gpio"; gpio-count = <49>; }; // Required to enable peripherals like BQ25896 peripheral-power-hog { compatible = "gpio-hog"; pin = <&gpio0 15 GPIO_FLAG_NONE>; mode = ; }; // Speaker I2S (MAX98357A amplifier) i2s0 { compatible = "espressif,esp32-i2s"; port = ; pin-bclk = <&gpio0 46 GPIO_FLAG_NONE>; pin-ws = <&gpio0 40 GPIO_FLAG_NONE>; pin-data-out = <&gpio0 7 GPIO_FLAG_NONE>; pin-data-in = <&gpio0 42 GPIO_FLAG_NONE>; pin-mclk = <&gpio0 39 GPIO_FLAG_NONE>; }; // MAX98357A class-D speaker amplifier. No I2C. speaker0 { compatible = "maxim,max98357a"; i2s = <&i2s0>; }; mic0 { compatible = "generic,spm1423"; i2s = <&i2s0>; channels = <1>; }; // WS2812 RGB LED Ring // TODO - Sync on/off with DisplayIdle? ledstrip0 { compatible = "espressif,esp32-led-strip"; pin-data = <&gpio0 14 GPIO_FLAG_NONE>; led-count = <8>; }; i2c_internal: i2c0 { compatible = "espressif,esp32-i2c-master"; port = ; clock-frequency = <100000>; pin-sda = <&gpio0 8 GPIO_FLAG_NONE>; pin-scl = <&gpio0 18 GPIO_FLAG_NONE>; bq27220 { compatible = "ti,bq27220"; reg = <0x55>; }; bq25896 { compatible = "ti,bq25896"; reg = <0x6B>; }; // TODO - Add PN532 NFC - IRQ GPIO 17, RES GPIO 45, address 0x24 - driver needed }; display_backlight_pwm { compatible = "espressif,esp32-pwm-ledc"; pin = <&gpio0 21 GPIO_FLAG_NONE>; period-ns = <33333>; ledc-timer = <0>; ledc-channel = <0>; }; display_backlight { compatible = "pwm-backlight"; // Off by default so dispaly 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 = ; cs-gpios = <&gpio0 41 GPIO_FLAG_NONE>, // Display <&gpio0 13 GPIO_FLAG_NONE>, // SD card <&gpio0 12 GPIO_FLAG_NONE>, // Radio - CC1101 <&gpio0 44 GPIO_FLAG_NONE>; // Radio - nRF24L01 pin-mosi = <&gpio0 9 GPIO_FLAG_NONE>; pin-miso = <&gpio0 10 GPIO_FLAG_NONE>; pin-sclk = <&gpio0 11 GPIO_FLAG_NONE>; display@0 { compatible = "sitronix,st7789"; horizontal-resolution = <320>; vertical-resolution = <170>; gap-x = <35>; swap-xy; mirror-y; invert-color; pixel-clock-hz = <80000000>; pin-dc = <&gpio0 16 GPIO_FLAG_NONE>; pin-reset = <&gpio0 40 GPIO_FLAG_NONE>; backlight = <&display_backlight>; }; sdcard@1 { compatible = "espressif,esp32-sdspi"; status = "disabled"; frequency-khz = <20000>; }; // TODO - Add CC1101 Radio - CS GPIO 12, SCK GPIO 11, MOSI GPIO 9, MISO GPIO 10, IO2 GPIO 38, IO0 GPIO 3, SW1 GPIO 47, SW0 GPIO 48 - driver needed // TODO - Add nRF24L01 Radio - CS GPIO 44, CE GPIO 43, IQR -1/NC, SCK GPIO 11, MOSI GPIO 9, MISO GPIO 10 - driver needed }; encoder { compatible = "tactility,gpio-encoder"; pin-a = <&gpio0 5 GPIO_FLAG_NONE>; pin-b = <&gpio0 4 GPIO_FLAG_NONE>; pin-enter = <&gpio0 0 GPIO_FLAG_NONE>; pulses-per-detent = <2>; pending-capacity = <8>; }; usbdevice0 { compatible = "espressif,esp32-usbdevice"; usbdevicemsc0 { compatible = "espressif,esp32-usbdevice-msc"; }; }; };