/dts-v1/; #include #include #include #include #include #include #include #include #include #include #include #include / { compatible = "root"; model = "CL-32"; gpio0 { compatible = "espressif,esp32-gpio"; gpio-count = <49>; }; wifi0 { compatible = "espressif,esp32-wifi"; }; usbdevice0 { compatible = "espressif,esp32-usbdevice"; usbdevicemsc0 { compatible = "espressif,esp32-usbdevice-msc"; }; }; ble0 { compatible = "espressif,esp32-ble"; }; // Top Stemma/Qwiic port 1 shares this bus with the RTC (SDA: pin 1 <-> SCL: pin 2). External // I2C devices on that port are reachable via i2c0. The tca8418 keyboard has a different layout // on revision 2 and 3 hardware and is created dynamically based on hardware detection, see // cl32_detect.cpp. i2c0 { compatible = "espressif,esp32-i2c-master"; port = ; clock-frequency = <100000>; pin-sda = <&gpio0 1 GPIO_FLAG_PULL_UP>; pin-scl = <&gpio0 2 GPIO_FLAG_PULL_UP>; rtc: bm8563 { compatible = "belling,bm8563"; reg = <0x51>; }; }; port_b: grove1 { compatible = "espressif,esp32-grove"; defaultMode = ; pinSdaTx = <&gpio0 47 GPIO_FLAG_NONE>; pinSclRx = <&gpio0 48 GPIO_FLAG_NONE>; uartPort = ; i2cPort = ; i2cClockFrequency = <100000>; }; spi1 { compatible = "espressif,esp32-spi"; host = ; cs-gpios = <&gpio0 7 GPIO_FLAG_NONE>; pin-mosi = <&gpio0 10 GPIO_FLAG_NONE>; pin-miso = <&gpio0 11 GPIO_FLAG_NONE>; pin-sclk = <&gpio0 9 GPIO_FLAG_NONE>; max-transfer-size = <4096>; sdcard@0 { compatible = "espressif,esp32-sdspi"; frequency-khz = <20000>; }; display@1 { compatible = "solomon-systech,ssd16xx"; pin-dc = <&gpio0 13 GPIO_FLAG_NONE>; pin-reset = <&gpio0 12 GPIO_FLAG_NONE>; pin-busy = <&gpio0 14 GPIO_FLAG_NONE>; pin-cs = <&gpio0 6 GPIO_FLAG_NONE>; clock-speed-hz = <4000000>; panel-type = "gdey029t71h"; rotation = <1>; }; }; // Optional Mesh Card with a Seeed Wio-SX1262 module, detected at runtime. // Schematic: https://github.com/CL-32/CL-32/tree/main/Add-on/CL-32-Mesh spi2 { compatible = "espressif,esp32-spi"; host = ; cs-gpios = <&gpio0 38 GPIO_FLAG_NONE>; pin-mosi = <&gpio0 17 GPIO_FLAG_NONE>; pin-miso = <&gpio0 16 GPIO_FLAG_NONE>; pin-sclk = <&gpio0 18 GPIO_FLAG_NONE>; // The module is powered by the 3.3 V rail. DIO3 powers the TCXO (1.7 V to 3.3 V, at least 200 mV // below VCC). DIO2 enables the TX path of the RF switch and RF_SW (GPIO 15) the RX path. radio@0 { compatible = "semtech,sx1262"; reg = <0>; pin-reset = <&gpio0 21 GPIO_FLAG_NONE>; pin-dio1 = <&gpio0 39 GPIO_FLAG_NONE>; pin-busy = <&gpio0 40 GPIO_FLAG_NONE>; pin-rx-enable = <&gpio0 15 GPIO_FLAG_NONE>; tcxo-millivolts = <1800>; dio2-as-rf-switch; }; }; };