This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

nxp,edma

Vendor: NXP Semiconductors

Description

These nodes are “dma” bus nodes.

NXP enhanced Direct Memory Access (eDMA) node

Properties

Properties not inherited from the base binding file.

Name

Type

Details

valid-channels

array

Use this property to specify which channel indexes are
to be considered valid. The difference between this
property and "dma-channels" is the fact that this
property allows you to have "gaps" between the channel
indexes. This is useful in cases where you know you're
not going to be using all of the possible channels, thus
leading to a more readable DTS. Of course, this property
and "dma-channels" are mutually exclusive, meaning you
can't specify both properties as this will lead to a
BUILD_ASSERT() failure.

hal-cfg-index

int

Use this property to specify which HAL configuration
should be used. In the case of some SoCs (e.g: i.MX93),
there can be multiple eDMA variants, each of them having
different configurations (e.g: i.MX93 eDMA3 has 31 channels,
i.MX93 eDMA4 has 64 channels and both of them have slightly
different register layouts). To overcome this issue, the HAL
exposes an array of configurations called "edma_hal_configs".
To perform various operations, the HAL uses an eDMA configuration
which will tell it what register layout the IP has, the number of
channels, various flags and offsets. As such, if there's multiple
configurations available, the user will have to specify which
configuration to use through this property. If missing, the
configuration found at index 0 will be used.

#dma-cells

int

Number of items to expect in a DMA specifier

This property is required.

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.