Zephyr Project API 4.4.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ameba_dma.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2026 Realtek Semiconductor Corp.
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
7#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_AMEBA_DMA_H_
8#define ZEPHYR_INCLUDE_DT_BINDINGS_AMEBA_DMA_H_
9
17
22
28#define AMEBA_DMA_CH_DIR_SET(val) ((val & 0x3) << 0)
29
33#define AMEBA_DMA_MEMORY_TO_MEMORY AMEBA_DMA_CH_DIR_SET(0)
34
38#define AMEBA_DMA_MEMORY_TO_PERIPH AMEBA_DMA_CH_DIR_SET(1)
39
43#define AMEBA_DMA_PERIPH_TO_MEMORY AMEBA_DMA_CH_DIR_SET(2)
44
48#define AMEBA_DMA_PERIPH_TO_PERIPH AMEBA_DMA_CH_DIR_SET(3)
49
55#define AMEBA_DMA_SRC_ADDR_ADJ_SET(val) ((val & 0x3) << 2)
56
60#define AMEBA_DMA_SRC_ADDR_ADJ_INC AMEBA_DMA_SRC_ADDR_ADJ_SET(0)
61
65#define AMEBA_DMA_SRC_ADDR_ADJ_NO_CHANGE AMEBA_DMA_SRC_ADDR_ADJ_SET(2)
66
72#define AMEBA_DMA_DST_ADDR_ADJ_SET(val) ((val & 0x3) << 4)
73
77#define AMEBA_DMA_DST_ADDR_ADJ_INC AMEBA_DMA_DST_ADDR_ADJ_SET(0)
78
82#define AMEBA_DMA_DST_ADDR_ADJ_NO_CHANGE AMEBA_DMA_DST_ADDR_ADJ_SET(2)
83
89#define AMEBA_DMA_SRC_DATA_SIZE_SET(val) ((val & 0x7) << 6)
90
94#define AMEBA_DMA_SRC_WIDTH_8BITS AMEBA_DMA_SRC_DATA_SIZE_SET(0)
95
99#define AMEBA_DMA_SRC_WIDTH_16BITS AMEBA_DMA_SRC_DATA_SIZE_SET(1)
100
104#define AMEBA_DMA_SRC_WIDTH_32BITS AMEBA_DMA_SRC_DATA_SIZE_SET(2)
105
111#define AMEBA_DMA_DST_DATA_SIZE_SET(val) ((val & 0x7) << 9)
112
116#define AMEBA_DMA_DST_WIDTH_8BITS AMEBA_DMA_DST_DATA_SIZE_SET(0)
117
121#define AMEBA_DMA_DST_WIDTH_16BITS AMEBA_DMA_DST_DATA_SIZE_SET(1)
122
126#define AMEBA_DMA_DST_WIDTH_32BITS AMEBA_DMA_DST_DATA_SIZE_SET(2)
127
133#define AMEBA_DMA_SRC_BURST_SET(val) ((val & 0x1F) << 12)
134
138#define AMEBA_DMA_SRC_BURST_ONE AMEBA_DMA_SRC_BURST_SET(0)
139
143#define AMEBA_DMA_SRC_BURST_FOUR AMEBA_DMA_SRC_BURST_SET(1)
144
148#define AMEBA_DMA_SRC_BURST_EIGHT AMEBA_DMA_SRC_BURST_SET(2)
149
153#define AMEBA_DMA_SRC_BURST_SIXTEEN AMEBA_DMA_SRC_BURST_SET(3)
154
160#define AMEBA_DMA_DST_BURST_SET(val) ((val & 0x1F) << 17)
161
165#define AMEBA_DMA_DST_BURST_ONE AMEBA_DMA_DST_BURST_SET(0)
166
170#define AMEBA_DMA_DST_BURST_FOUR AMEBA_DMA_DST_BURST_SET(1)
171
175#define AMEBA_DMA_DST_BURST_EIGHT AMEBA_DMA_DST_BURST_SET(2)
176
180#define AMEBA_DMA_DST_BURST_SIXTEEN AMEBA_DMA_DST_BURST_SET(3)
181
187#define AMEBA_DMA_CH_PRIORITY_SET(val) ((val & 0x7) << 22)
188
194#define AMEBA_DMA_PERIPH_TX \
195 (AMEBA_DMA_MEMORY_TO_PERIPH | AMEBA_DMA_SRC_ADDR_ADJ_INC | AMEBA_DMA_DST_ADDR_ADJ_NO_CHANGE)
196
202#define AMEBA_DMA_PERIPH_RX \
203 (AMEBA_DMA_PERIPH_TO_MEMORY | AMEBA_DMA_SRC_ADDR_ADJ_NO_CHANGE | AMEBA_DMA_DST_ADDR_ADJ_INC)
204
206
207#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_AMEBA_DMA_H_ */