espressif,esp32-gdma

Vendor: Espressif Systems

Note

An implementation of a driver matching this compatible is available in drivers/dma/dma_esp32_gdma.c.

Description

These nodes are “dma” bus nodes.

Espressif's GDMA (General Direct Memory Access) Node

General Direct Memory Access (GDMA) is a feature that allows
peripheral-to-memory, memory-to-peripheral, and memory-to-memory
data transfer at a high speed.

The GDMA controller in ESP32-C3 has six independent channels,
three transmit channels and three receive channels.

Every channel can be connected to different peripherals.

ESP32C3's Peripherals with GDMA:
* SPI2
* UHCI0 (UART0/UART1)
* I2S (Not Supported yet)
* AES (Not Supported yet)
* SHA (Not Supported yet)
* ADC

The GDMA controller in ESP32-S3 has ten independent channels,
five transmit channels and five receive channels. Only six are
supported, meaning three transmit and three receive channels.

ESP32S3's Peripherals with GDMA:
* SPI2
* SPI3
* UHCI0
* I2S0 (Not Supported yet)
* I2S1 (Not Supported yet)
* LCD/CAM (Not Supported yet)
* AES (Not Supported yet)
* SHA (Not Supported yet)
* ADC (Not Supported yet)
* RMT (Not Supported yet)

Properties

Properties not inherited from the base binding file.

Name

Type

Details

#dma-cells

int

Number of items to expect in a DMA specifier

This property is required.

Constant value: 1

dma-channel-mask

int

Bitmask of available DMA channels in ascending order that are
not reserved by firmware and are available to the
kernel. i.e. first channel corresponds to LSB.

dma-channels

int

Number of DMA channels supported by the controller

dma-requests

int

Number of DMA request signals supported by the controller.

dma-buf-addr-alignment

int

Memory address alignment requirement for DMA buffers used by the controller.

dma-buf-size-alignment

int

Memory size alignment requirement for DMA buffers used by the controller.

dma-copy-alignment

int

Minimal chunk of data possible to be copied by the controller.

Specifier cell names

  • dma cells: channel