/dts-v1/; #include #include #include #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. 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>; }; // The core chip provides both the keyboard and the power functions keyboard { compatible = "cl32-v4-keyboard"; reg = <0x08>; }; power { compatible = "cl32-v4-power"; reg = <0x08>; }; back_light { compatible = "cl32-v4-light"; reg = <0x08>; brightness-register = <0x0F>; timeout-register = <0x10>; }; front_light { compatible = "cl32-v4-light"; status = "disabled"; // Will be in future hardware reg = <0x08>; brightness-register = <0x11>; timeout-register = <0x12>; }; }; 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>, <&gpio0 6 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 = "sitronix,st7305"; pin-dc = <&gpio0 13 GPIO_FLAG_NONE>; pin-reset = <&gpio0 12 GPIO_FLAG_NONE>; pixel-clock-hz = <80000000>; mirror-x; mirror-y; backlight = <&back_light>; }; }; // 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; }; }; };