| /* |
| * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd. |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| /dts-v1/; |
| |
| #include <espressif/esp32c3/esp32c3_mini_n4.dtsi> |
| #include "esp32c3_rust-pinctrl.dtsi" |
| #include <zephyr/dt-bindings/input/input-event-codes.h> |
| #include <zephyr/dt-bindings/led/led.h> |
| #include <espressif/partitions_0x0_default.dtsi> |
| |
| / { |
| model = "Espressif ESP32C3-RUST"; |
| compatible = "espressif,esp32c3_rust"; |
| |
| chosen { |
| zephyr,sram = &sram0; |
| zephyr,console = &usb_serial; |
| zephyr,shell-uart = &usb_serial; |
| zephyr,flash = &flash0; |
| zephyr,code-partition = &slot0_partition; |
| }; |
| |
| aliases { |
| led0 = &red_led_0; |
| sw0 = &user_button1; |
| i2c-0 = &i2c0; |
| watchdog0 = &wdt0; |
| led-strip = &led_strip; |
| }; |
| |
| gpio_keys { |
| compatible = "gpio-keys"; |
| user_button1: button_1 { |
| label = "User SW1"; |
| gpios = <&gpio0 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>; |
| zephyr,code = <INPUT_KEY_0>; |
| }; |
| }; |
| |
| leds { |
| compatible = "gpio-leds"; |
| red_led_0: led_0 { |
| gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>; |
| label = "User LD0"; |
| }; |
| }; |
| |
| }; |
| |
| &spi2 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| status = "okay"; |
| pinctrl-0 = <&spim2_default>; |
| pinctrl-names = "default"; |
| |
| /* Workaround to support WS2812 driver */ |
| line-idle-low; |
| status = "okay"; |
| |
| led_strip: ws2812@0 { |
| compatible = "worldsemi,ws2812-spi"; |
| |
| /* SPI */ |
| reg = <0>; /* ignored, but necessary for SPI bindings */ |
| spi-max-frequency = <6400000>; |
| |
| /* WS2812 */ |
| chain-length = <1>; /* arbitrary; change at will */ |
| spi-cpha; |
| spi-one-frame = <0xf0>; /* 11110000: 625 ns high and 625 ns low */ |
| spi-zero-frame = <0xc0>; /* 11000000: 312.5 ns high and 937.5 ns low */ |
| color-mapping = <LED_COLOR_ID_GREEN |
| LED_COLOR_ID_RED |
| LED_COLOR_ID_BLUE>; |
| }; |
| }; |
| |
| &usb_serial { |
| status = "okay"; |
| }; |
| |
| |
| &i2c0 { |
| status = "okay"; |
| clock-frequency = <I2C_BITRATE_STANDARD>; |
| pinctrl-0 = <&i2c0_default>; |
| pinctrl-names = "default"; |
| |
| icm42670@68 { |
| compatible = "invensense,icm42670"; |
| reg = <0x68>; |
| status = "okay"; |
| accel-hz = <800>; |
| accel-fs = <16>; |
| gyro-hz = <800>; |
| gyro-fs = <2000>; |
| }; |
| |
| shtc3@70 { |
| compatible = "sensirion,shtc3", "sensirion,shtcx"; |
| reg = <0x70>; |
| measure-mode = "normal"; |
| clock-stretching; |
| }; |
| }; |
| |
| &trng0 { |
| status = "okay"; |
| }; |
| |
| &gpio0 { |
| status = "okay"; |
| }; |
| |
| &wdt0 { |
| status = "okay"; |
| }; |
| |
| &uart0 { |
| status = "disabled"; |
| }; |
| |
| &esp32_bt_hci { |
| status = "okay"; |
| }; |