Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
bee-dma.h File Reference

Realtek Bee DMA Devicetree Bindings. More...

Go to the source code of this file.

Macros

#define BEE_DMA_M2M   0
#define BEE_DMA_M2P   1
#define BEE_DMA_P2M   2
#define BEE_DMA_SRC_INC   (0 << 2)
#define BEE_DMA_SRC_DEC   (1 << 2)
#define BEE_DMA_SRC_FIXED   (2 << 2)
#define BEE_DMA_DST_INC   (0 << 4)
#define BEE_DMA_DST_DEC   (1 << 4)
#define BEE_DMA_DST_FIXED   (2 << 4)
#define BEE_DMA_SRC_WIDTH_8BIT   (0 << 6)
#define BEE_DMA_SRC_WIDTH_16BIT   (1 << 6)
#define BEE_DMA_SRC_WIDTH_32BIT   (2 << 6)
#define BEE_DMA_DST_WIDTH_8BIT   (0 << 8)
#define BEE_DMA_DST_WIDTH_16BIT   (1 << 8)
#define BEE_DMA_DST_WIDTH_32BIT   (2 << 8)
#define BEE_DMA_SRC_MSIZE(n)
#define BEE_DMA_DST_MSIZE(n)
#define BEE_DMA_MSIZE_1   0
#define BEE_DMA_MSIZE_4   1
#define BEE_DMA_MSIZE_8   2
#define BEE_DMA_MSIZE_16   3
#define BEE_DMA_MSIZE_32   4
#define BEE_DMA_MSIZE_64   5
#define BEE_DMA_MSIZE_128   6
#define BEE_DMA_MSIZE_256   7
#define BEE_DMA_PRIORITY(n)

Detailed Description

Realtek Bee DMA Devicetree Bindings.

Common "config" cell field definitions shared by all Bee-series SoCs. The per-SoC handshake (slot) IDs live in the matching per-IC header, e.g. <dt-bindings/dma/rtl87x2g-dma.h> or <dt-bindings/dma/rtl8752h-dma.h>, which each include this file.

The "config" cell is the third cell of a "dmas" entry, a 32-bit mask. Compose it from the named macros below instead of writing raw numbers:

#include <dt-bindings/dma/rtl87x2g-dma.h>
&uart2 {
status = "okay";
dmas = <&dma0 2 BEE_DMA_HANDSHAKE_UART2_RX
(BEE_DMA_P2M | BEE_DMA_SRC_FIXED | BEE_DMA_DST_INC |
BEE_DMA_SRC_WIDTH_8BIT | BEE_DMA_DST_WIDTH_8BIT |
BEE_DMA_SRC_MSIZE(BEE_DMA_MSIZE_1) |
BEE_DMA_DST_MSIZE(BEE_DMA_MSIZE_1) | BEE_DMA_PRIORITY(0))>,
<&dma0 3 BEE_DMA_HANDSHAKE_UART2_TX
(BEE_DMA_M2P | BEE_DMA_SRC_INC | BEE_DMA_DST_FIXED |
BEE_DMA_SRC_WIDTH_8BIT | BEE_DMA_DST_WIDTH_8BIT |
BEE_DMA_SRC_MSIZE(BEE_DMA_MSIZE_1) |
BEE_DMA_DST_MSIZE(BEE_DMA_MSIZE_1) | BEE_DMA_PRIORITY(1))>;
dma-names = "rx", "tx";
};

Macro Definition Documentation

◆ BEE_DMA_DST_DEC

#define BEE_DMA_DST_DEC   (1 << 4)

◆ BEE_DMA_DST_FIXED

#define BEE_DMA_DST_FIXED   (2 << 4)

◆ BEE_DMA_DST_INC

#define BEE_DMA_DST_INC   (0 << 4)

◆ BEE_DMA_DST_MSIZE

#define BEE_DMA_DST_MSIZE ( n)
Value:
((n) << 13)

◆ BEE_DMA_DST_WIDTH_16BIT

#define BEE_DMA_DST_WIDTH_16BIT   (1 << 8)

◆ BEE_DMA_DST_WIDTH_32BIT

#define BEE_DMA_DST_WIDTH_32BIT   (2 << 8)

◆ BEE_DMA_DST_WIDTH_8BIT

#define BEE_DMA_DST_WIDTH_8BIT   (0 << 8)

◆ BEE_DMA_M2M

#define BEE_DMA_M2M   0

◆ BEE_DMA_M2P

#define BEE_DMA_M2P   1

◆ BEE_DMA_MSIZE_1

#define BEE_DMA_MSIZE_1   0

◆ BEE_DMA_MSIZE_128

#define BEE_DMA_MSIZE_128   6

◆ BEE_DMA_MSIZE_16

#define BEE_DMA_MSIZE_16   3

◆ BEE_DMA_MSIZE_256

#define BEE_DMA_MSIZE_256   7

◆ BEE_DMA_MSIZE_32

#define BEE_DMA_MSIZE_32   4

◆ BEE_DMA_MSIZE_4

#define BEE_DMA_MSIZE_4   1

◆ BEE_DMA_MSIZE_64

#define BEE_DMA_MSIZE_64   5

◆ BEE_DMA_MSIZE_8

#define BEE_DMA_MSIZE_8   2

◆ BEE_DMA_P2M

#define BEE_DMA_P2M   2

◆ BEE_DMA_PRIORITY

#define BEE_DMA_PRIORITY ( n)
Value:
((n) << 16)

◆ BEE_DMA_SRC_DEC

#define BEE_DMA_SRC_DEC   (1 << 2)

◆ BEE_DMA_SRC_FIXED

#define BEE_DMA_SRC_FIXED   (2 << 2)

◆ BEE_DMA_SRC_INC

#define BEE_DMA_SRC_INC   (0 << 2)

◆ BEE_DMA_SRC_MSIZE

#define BEE_DMA_SRC_MSIZE ( n)
Value:
((n) << 10)

◆ BEE_DMA_SRC_WIDTH_16BIT

#define BEE_DMA_SRC_WIDTH_16BIT   (1 << 6)

◆ BEE_DMA_SRC_WIDTH_32BIT

#define BEE_DMA_SRC_WIDTH_32BIT   (2 << 6)

◆ BEE_DMA_SRC_WIDTH_8BIT

#define BEE_DMA_SRC_WIDTH_8BIT   (0 << 6)