/dts-v1/; #include #include #include #include #include #include #include #include #include #include / { compatible = "root"; model = "Waveshare ESP32-S3-RLCD-4.2"; ble0 { compatible = "espressif,esp32-ble"; status = "disabled"; }; gpio0 { compatible = "espressif,esp32-gpio"; gpio-count = <49>; }; // Audio: ES7210 mic + speaker via I2S0 // Pins verified from working MicroPython board_config.py for WAVESHARE_RLCD: // mclk=16, bclk=9, ws=45, tx=8 (DAC out), rx=10 (ES7210 mic in) // NOTE: Display DC is GPIO5, so I2S must NOT use GPIO5 to avoid bus corruption i2s0 { compatible = "espressif,esp32-i2s"; port = ; pin-bclk = <&gpio0 9 GPIO_FLAG_NONE>; pin-ws = <&gpio0 45 GPIO_FLAG_NONE>; pin-data-out = <&gpio0 8 GPIO_FLAG_NONE>; pin-data-in = <&gpio0 10 GPIO_FLAG_NONE>; pin-mclk = <&gpio0 16 GPIO_FLAG_NONE>; }; i2c0 { compatible = "espressif,esp32-i2c-master"; port = ; clock-frequency = <400000>; pin-sda = <&gpio0 13 GPIO_FLAG_NONE>; pin-scl = <&gpio0 14 GPIO_FLAG_NONE>; }; spi0 { compatible = "espressif,esp32-spi"; host = ; cs-gpios = <&gpio0 40 GPIO_FLAG_NONE>; pin-mosi = <&gpio0 12 GPIO_FLAG_NONE>; pin-sclk = <&gpio0 11 GPIO_FLAG_NONE>; display { compatible = "display-placeholder"; }; }; sdmmc0 { compatible = "espressif,esp32-sdmmc"; pin-clk = <&gpio0 38 GPIO_FLAG_NONE>; pin-cmd = <&gpio0 21 GPIO_FLAG_NONE>; pin-d0 = <&gpio0 39 GPIO_FLAG_NONE>; pin-d3 = <&gpio0 17 GPIO_FLAG_NONE>; slot = ; bus-width = <1>; pullups; }; wifi0 { compatible = "espressif,esp32-wifi-pinned"; status = "disabled"; }; uart0 { compatible = "espressif,esp32-uart"; port = ; pin-tx = <&gpio0 43 GPIO_FLAG_NONE>; pin-rx = <&gpio0 44 GPIO_FLAG_NONE>; }; };