1/*
2 * Copyright (c) 2023 Benjamin Cabé <benjamin@zephyrproject.org>
3 * Copyright (c) 2023 Martin Kiepfer <mrmarteng@teleschirm.org>
4 *
5 * SPDX-License-Identifier: Apache-2.0
6 */
7/dts-v1/;
8
9#include <espressif/esp32s3/esp32s3_fn8.dtsi>
10#include "m5stack_atoms3_lite-pinctrl.dtsi"
11#include <dt-bindings/led/led.h>
12#include <dt-bindings/led/worldsemi_ws2812c.h>
13#include <zephyr/dt-bindings/input/input-event-codes.h>
14#include <espressif/partitions_0x0_amp.dtsi>
15
16/ {
17	model = "M5Stack AtomS3 Lite PROCPU";
18	compatible = "m5stack,atoms3_lite";
19
20	chosen {
21		zephyr,sram = &sram1;
22		zephyr,console = &usb_serial;
23		zephyr,shell-uart = &usb_serial;
24		zephyr,flash = &flash0;
25		zephyr,code-partition = &slot0_partition;
26		zephyr,bt-hci = &esp32_bt_hci;
27	};
28
29	aliases {
30		sw0 = &user_button_0;
31		watchdog0 = &wdt0;
32		i2c-0 = &i2c0;
33		led-strip = &status_rgb_led;
34	};
35
36	buttons {
37		compatible = "gpio-keys";
38		debounce-interval-ms = <100>;
39		user_button_0: button_0 {
40			label = "User button 0";
41			gpios = <&gpio1 9 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
42			zephyr,code = <INPUT_KEY_0>;
43		};
44	};
45};
46
47&usb_serial {
48	status = "okay";
49};
50
51&uart0 {
52	status = "okay";
53	current-speed = <115200>;
54	pinctrl-0 = <&uart0_default>;
55	pinctrl-names = "default";
56};
57
58&i2c0 {
59	status = "okay";
60	clock-frequency = <I2C_BITRATE_STANDARD>;
61	pinctrl-0 = <&i2c0_default>;
62	pinctrl-names = "default";
63};
64
65&i2c1 {
66	status = "okay";
67	clock-frequency = <I2C_BITRATE_STANDARD>;
68	pinctrl-0 = <&i2c1_default>;
69	pinctrl-names = "default";
70};
71
72&trng0 {
73	status = "okay";
74};
75
76&spi3 {
77	#address-cells = <1>;
78	#size-cells = <0>;
79	status = "okay";
80	line-idle-low;
81	pinctrl-0 = <&spim3_ws2812_led>;
82	pinctrl-names = "default";
83
84	status_rgb_led: ws2812@0 {
85		compatible = "worldsemi,ws2812-spi";
86		reg = <0>;
87		spi-max-frequency = <WS2812C_SPI_FREQ>;
88
89		chain-length = <1>;
90		color-mapping =	<LED_COLOR_ID_GREEN>,
91			<LED_COLOR_ID_RED>,
92			<LED_COLOR_ID_BLUE>;
93		spi-one-frame = <WS2812C_ONE_FRAME>;
94		spi-zero-frame = <WS2812C_ZERO_FRAME>;
95	};
96};
97&gpio0 {
98	status = "okay";
99};
100
101&gpio1 {
102	status = "okay";
103};
104
105&wdt0 {
106	status = "okay";
107};
108
109&timer0 {
110	status = "okay";
111};
112
113&timer1 {
114	status = "okay";
115};
116
117&esp32_bt_hci {
118	status = "okay";
119};
120