File tree Expand file tree Collapse file tree 8 files changed +152
-51
lines changed Expand file tree Collapse file tree 8 files changed +152
-51
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
3+ *
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ &i2s0_default {
8+ group1 {
9+ pinmux = <I2S0_O_WS_GPIO33>,
10+ <I2S0_O_BCK_GPIO32>,
11+ <I2S0_O_SD_GPIO27>,
12+ <I2S0_I_WS_GPIO26>,
13+ <I2S0_I_BCK_GPIO25>;
14+ output-enable;
15+ };
16+ group2 {
17+ pinmux = <I2S0_I_SD_GPIO18>;
18+ input-enable;
19+ };
20+ };
21+
22+ i2s_rxtx: &i2s0 {
23+ status = "okay";
24+
25+ interrupts = <I2S0_INTR_SOURCE IRQ_DEFAULT_PRIORITY 0>,
26+ <I2S0_INTR_SOURCE IRQ_DEFAULT_PRIORITY 0>;
27+ interrupt-names = "tx", "rx";
28+
29+ };
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
3+ *
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ &i2s0_default {
8+ group1 {
9+ pinmux = <I2S0_O_WS_GPIO17>,
10+ <I2S0_O_BCK_GPIO16>,
11+ <I2S0_O_SD_GPIO15>,
12+ <I2S0_I_WS_GPIO11>,
13+ <I2S0_I_BCK_GPIO10>;
14+ output-enable;
15+ };
16+ group2 {
17+ pinmux = <I2S0_I_SD_GPIO18>;
18+ input-enable;
19+ };
20+ };
21+
22+ i2s_rxtx: &i2s0 {
23+ status = "okay";
24+
25+ interrupts = <I2S0_INTR_SOURCE IRQ_DEFAULT_PRIORITY 0>,
26+ <I2S0_INTR_SOURCE IRQ_DEFAULT_PRIORITY 0>;
27+ interrupt-names = "tx", "rx";
28+
29+ };
Original file line number Diff line number Diff line change 11/*
2- * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
2+ * Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
33 *
44 * SPDX-License-Identifier: Apache-2.0
55 */
66
7- &pinctrl {
8- i2s0_pinconf: i2s0_pinconf {
9- group1 {
10- pinmux = <I2S0_MCLK_GPIO42>,
11- <I2S0_O_WS_GPIO41>,
12- <I2S0_O_BCK_GPIO40>,
13- <I2S0_O_SD_GPIO39>;
14- output-enable;
15- };
7+ &i2s0_default {
8+ group1 {
9+ pinmux = <I2S0_MCLK_GPIO42>,
10+ <I2S0_O_WS_GPIO41>,
11+ <I2S0_O_BCK_GPIO40>,
12+ <I2S0_O_SD_GPIO39>;
13+ output-enable;
1614 };
17-
18- i2s1_pinconf: i2s1_pinconf {
19- group1 {
20- pinmux = <I2S1_MCLK_GPIO35>,
21- <I2S1_I_WS_GPIO36>,
22- <I2S1_I_BCK_GPIO37>;
23- output-enable;
24- };
25- group2 {
26- pinmux = <I2S1_I_SD_GPIO38>;
27- input-enable;
28- };
15+ group2 {
16+ pinmux = <I2S0_I_SD_GPIO38>;
17+ input-enable;
2918 };
3019};
3120
32- i2s_tx : &i2s0 {
21+ i2s_rxtx : &i2s0 {
3322 status = "okay";
3423
35- pinctrl-0 = <&i2s0_pinconf>;
36- pinctrl-names = "default";
37-
38- dmas = <&dma 3>;
39- dma-names = "tx";
40- };
41-
42- i2s_rx: &i2s1 {
43- status = "okay";
44-
45- pinctrl-0 = <&i2s1_pinconf>;
46- pinctrl-names = "default";
47-
48- dmas = <&dma 4>;
49- dma-names = "rx";
24+ dmas = <&dma 2>, <&dma 3>;
25+ dma-names = "rx", "tx";
5026};
5127
5228&dma {
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
3+ *
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ / {
8+ aliases {
9+ i2s-tx = &i2s0;
10+ };
11+ };
12+
13+ &i2s0_default {
14+ group1 {
15+ pinmux = <I2S0_O_WS_GPIO33>,
16+ <I2S0_O_BCK_GPIO32>,
17+ <I2S0_O_SD_GPIO27>;
18+ output-enable;
19+ };
20+ group2 {
21+ pinmux = <I2S0_I_SD_GPIO18>;
22+ input-enable;
23+ };
24+ };
25+
26+ &i2s0 {
27+ status = "okay";
28+
29+ interrupts = <I2S0_INTR_SOURCE IRQ_DEFAULT_PRIORITY 0>;
30+ interrupt-names = "tx";
31+ };
Original file line number Diff line number Diff line change 1+ CONFIG_I2S=y
Original file line number Diff line number Diff line change 1+ /*
2+ * Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
3+ *
4+ * SPDX-License-Identifier: Apache-2.0
5+ */
6+
7+ #include <zephyr/dt-bindings/led/led.h>
8+
9+ / {
10+ aliases {
11+ led-strip = &led_strip;
12+ };
13+ };
14+
15+ &i2s0_default {
16+ group1 {
17+ pinmux = <I2S0_O_SD_GPIO18>;
18+ output-enable;
19+ };
20+ };
21+
22+ i2s_led: &i2s0 {
23+ status = "okay";
24+
25+ interrupts = <I2S0_INTR_SOURCE IRQ_DEFAULT_PRIORITY 0>;
26+ interrupt-names = "tx";
27+
28+ led_strip: ws2812@0 {
29+ compatible = "worldsemi,ws2812-i2s";
30+ reg = <0>;
31+
32+ chain-length = <1>;
33+ color-mapping = <LED_COLOR_ID_GREEN
34+ LED_COLOR_ID_RED
35+ LED_COLOR_ID_BLUE>;
36+ reset-delay = <500>;
37+ };
38+ };
Original file line number Diff line number Diff line change 1+ CONFIG_I2S=y
Original file line number Diff line number Diff line change 11/*
2- * Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
2+ * Copyright (c) 2024-2025 Espressif Systems (Shanghai) Co., Ltd.
33 *
44 * SPDX-License-Identifier: Apache-2.0
55 */
1212 };
1313};
1414
15+ &i2s0_default {
16+ group1 {
17+ pinmux = <I2S0_O_SD_GPIO38>;
18+ output-enable;
19+ };
20+ };
21+
1522i2s_led: &i2s0 {
1623 status = "okay";
1724
18- pinctrl-0 = <&i2s0_pinconf>;
19-
2025 dmas = <&dma 3>;
2126 dma-names = "tx";
2227
2328 led_strip: ws2812@0 {
2429 compatible = "worldsemi,ws2812-i2s";
2530
2631 reg = <0>;
27- chain-length = <46 >;
32+ chain-length = <1 >;
2833 color-mapping = <LED_COLOR_ID_GREEN
2934 LED_COLOR_ID_RED
3035 LED_COLOR_ID_BLUE>;
@@ -35,12 +40,3 @@ i2s_led: &i2s0 {
3540&dma {
3641 status = "okay";
3742};
38-
39- &pinctrl {
40- i2s0_pinconf: i2s0_pinconf {
41- group1 {
42- pinmux = <I2S0_O_SD_GPIO38>;
43- output-enable;
44- };
45- };
46- };
You can’t perform that action at this time.
0 commit comments