/dts-v1/; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include // Reference: https://wiki.seeedstudio.com/meshtastic_wio_tracker_l2_intro/ / { compatible = "root"; model = "Seeed Studio Wio Tracker L2 Pro"; wifi0 { compatible = "espressif,esp32-wifi-pinned"; }; ble0 { compatible = "espressif,esp32-ble"; }; gpio0 { compatible = "espressif,esp32-gpio"; gpio-count = <49>; }; // Declared before i2c0 so the codec can reference it i2s0 { compatible = "espressif,esp32-i2s"; port = ; pin-mclk = <&gpio0 10 GPIO_FLAG_NONE>; pin-bclk = <&gpio0 11 GPIO_FLAG_NONE>; pin-ws = <&gpio0 12 GPIO_FLAG_NONE>; pin-data-out = <&gpio0 16 GPIO_FLAG_NONE>; pin-data-in = <&gpio0 15 GPIO_FLAG_NONE>; }; i2c0 { compatible = "espressif,esp32-i2c-master"; port = ; clock-frequency = <100000>; pin-sda = <&gpio0 47 GPIO_FLAG_NONE>; pin-scl = <&gpio0 48 GPIO_FLAG_NONE>; // PCA9555, register compatible with the TCA9535 pca9555 { compatible = "ti,tca9535"; reg = <0x21>; // Driven high by the vendor firmware. After a cold boot the audio codecs only answer with this high. pin4 { compatible = "gpio-hog"; pin = <&pca9555 4 GPIO_FLAG_NONE>; mode = ; }; lcd_power { compatible = "gpio-hog"; pin = <&pca9555 5 GPIO_FLAG_NONE>; mode = ; }; grove_power { compatible = "gpio-hog"; pin = <&pca9555 7 GPIO_FLAG_NONE>; mode = ; }; // Active high gnss_reset { compatible = "gpio-hog"; pin = <&pca9555 9 GPIO_FLAG_NONE>; mode = ; }; user_led { compatible = "gpio-hog"; pin = <&pca9555 10 GPIO_FLAG_NONE>; mode = ; }; usb_otg { compatible = "gpio-hog"; pin = <&pca9555 11 GPIO_FLAG_NONE>; mode = ; }; speaker_amplifier { compatible = "gpio-hog"; pin = <&pca9555 12 GPIO_FLAG_NONE>; mode = ; }; gnss_power { compatible = "gpio-hog"; pin = <&pca9555 13 GPIO_FLAG_NONE>; mode = ; }; sdcard_power { compatible = "gpio-hog"; pin = <&pca9555 14 GPIO_FLAG_NONE>; mode = ; }; battery_divider { compatible = "gpio-hog"; pin = <&pca9555 15 GPIO_FLAG_NONE>; mode = ; }; }; // Native orientation is portrait, the device is used in landscape touch { compatible = "goodix,gt911"; reg = <0x5D>; x-max = <240>; y-max = <320>; swap-xy; mirror-y; pin-reset = <&pca9555 8 GPIO_FLAG_ACTIVE_LOW>; pin-interrupt = <&pca9555 3 GPIO_FLAG_NONE>; }; // Speaker es8311 { compatible = "everest,es8311"; reg = <0x18>; i2s = <&i2s0>; }; // Microphone es7243e { compatible = "everest,es7243e"; reg = <0x14>; i2s = <&i2s0>; }; // Battery on AIN0 through a 1:2 divider that is enabled by expander pin 15 ads1115 { compatible = "ti,ads1115"; reg = <0x48>; full-scale-mv = <4096>; }; // Started at boot after the display is drawn display_backlight { compatible = "ti,lp5814"; reg = <0x2C>; status = "disabled"; // 40 mA per output, as in the vendor firmware high-current; dot-current = <200>; }; }; battery-sense { compatible = "battery-sense"; io-channel = <&ads1115 0>; reference-voltage-mv = <4096>; multiplier = <2000>; }; // WAKE: short press enter, long press back. BOOT: short press next, long press previous. buttons { compatible = "tactility,button-control"; pin-primary = <&pca9555 0 GPIO_FLAG_NONE>; pin-secondary = <&gpio0 0 GPIO_FLAG_PULL_UP>; }; spi0 { compatible = "espressif,esp32-spi"; host = ; cs-gpios = <&gpio0 21 GPIO_FLAG_NONE>; pin-sclk = <&gpio0 4 GPIO_FLAG_NONE>; pin-mosi = <&gpio0 6 GPIO_FLAG_NONE>; pin-miso = <&gpio0 5 GPIO_FLAG_NONE>; radio@0 { compatible = "semtech,sx1262"; reg = <0>; pin-reset = <&gpio0 7 GPIO_FLAG_NONE>; pin-busy = <&gpio0 8 GPIO_FLAG_NONE>; pin-dio1 = <&gpio0 9 GPIO_FLAG_NONE>; tcxo-millivolts = <3000>; dio2-as-rf-switch; }; }; spi1 { compatible = "espressif,esp32-spi"; host = ; cs-gpios = <&gpio0 46 GPIO_FLAG_NONE>; pin-sclk = <&gpio0 42 GPIO_FLAG_NONE>; pin-mosi = <&gpio0 41 GPIO_FLAG_NONE>; pin-miso = <&gpio0 40 GPIO_FLAG_NONE>; pin-wp = <&gpio0 39 GPIO_FLAG_NONE>; pin-hd = <&gpio0 38 GPIO_FLAG_NONE>; display@0 { compatible = "newvision,nv3031b"; horizontal-resolution = <320>; vertical-resolution = <240>; swap-xy; mirror-y; pixel-clock-hz = <40000000>; pin-reset = <&pca9555 6 GPIO_FLAG_NONE>; backlight = <&display_backlight>; }; }; sdmmc0 { compatible = "espressif,esp32-sdmmc"; pin-clk = <&gpio0 2 GPIO_FLAG_NONE>; pin-cmd = <&gpio0 3 GPIO_FLAG_NONE>; pin-d0 = <&gpio0 1 GPIO_FLAG_NONE>; slot = ; bus-width = <1>; }; uart_gps { compatible = "espressif,esp32-uart"; port = ; pin-tx = <&gpio0 17 GPIO_FLAG_NONE>; pin-rx = <&gpio0 18 GPIO_FLAG_NONE>; gps { compatible = "tactility,gps-generic"; status = "disabled"; baud-rate = <9600>; }; }; // Powered by expander pin 7 grove0 { compatible = "espressif,esp32-grove"; defaultMode = ; pinSdaTx = <&gpio0 13 GPIO_FLAG_NONE>; pinSclRx = <&gpio0 14 GPIO_FLAG_NONE>; uartPort = ; i2cPort = ; i2cClockFrequency = <400000>; }; usbdevice0 { compatible = "espressif,esp32-usbdevice"; usbdevicemsc0 { compatible = "espressif,esp32-usbdevice-msc"; }; }; };