Skip to content

Commit 9421785

Browse files
LucasTamborcarlescufi
authored andcommitted
dts: esp32c3: add bindings to GDMA
Add GDMA node to esp32c3. Signed-off-by: Lucas Tamborrino <[email protected]>
1 parent 24d9de4 commit 9421785

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Copyright (c) 2022 Espressif Systems (Shanghai) Co., Ltd.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
description: |
5+
Espressif's GDMA (General Direct Memory Access) Node
6+
7+
General Direct Memory Access (GDMA) is a feature that allows
8+
peripheral-to-memory, memory-to-peripheral, and memory-to-memory
9+
data transfer at a high speed.
10+
11+
The GDMA controller in ESP32-C3 has six independent channels,
12+
three transmit channels and three receive channels.
13+
14+
Every channel can be connected to different peripherals.
15+
16+
Peripherals with GDMA:
17+
* SPI2
18+
* UHCI0 (UART0/UART1)
19+
* I2S
20+
* AES
21+
* SHA
22+
* ADC
23+
24+
compatible: "espressif,esp32-gdma"
25+
26+
include: dma-controller.yaml
27+
28+
properties:
29+
"#dma-cells":
30+
const: 1
31+
32+
dma-cells:
33+
- channel

dts/riscv/espressif/esp32c3.dtsi

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,18 @@
249249
status = "disabled";
250250
};
251251

252+
dma: dma@6003f000 {
253+
compatible = "espressif,esp32-gdma";
254+
reg = <0x6003f000 DT_SIZE_K(4)>;
255+
#dma-cells = <1>;
256+
interrupts = <DMA_CH0_INTR_SOURCE DMA_CH1_INTR_SOURCE DMA_CH2_INTR_SOURCE>;
257+
interrupt-parent = <&intc>;
258+
clocks = <&rtc ESP32_GDMA_MODULE>;
259+
dma-channels = <6>;
260+
dma-buf-addr-alignment = <4>;
261+
status = "disabled";
262+
};
263+
252264
};
253265

254266
};

0 commit comments

Comments
 (0)