Zephyr API Documentation
4.0.0-rc2
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
dma_mcux_pxp.h
Go to the documentation of this file.
1
/*
2
* Copyright 2023-2024 NXP
3
*
4
* SPDX-License-Identifier: Apache-2.0
5
*/
6
7
#ifndef ZEPHYR_INCLUDE_DRIVERS_DMA_MCUX_PXP_H_
8
#define ZEPHYR_INCLUDE_DRIVERS_DMA_MCUX_PXP_H_
9
10
#define DMA_MCUX_PXP_CMD_MASK 0xE0
11
#define DMA_MCUX_PXP_CMD_SHIFT 0x5
12
13
#define DMA_MCUX_PXP_FMT_MASK 0x1F
14
#define DMA_MCUX_PXP_FMT_SHIFT 0x0
15
16
/*
17
* In order to configure the PXP for rotation, the user should
18
* supply a format and command as the DMA slot parameter, like so:
19
* dma_slot = (DMA_MCUX_PXP_FTM(DMA_MCUX_PXP_FMT_RGB565) |
20
* DMA_MCUX_PXP_CMD(DMA_MCUX_PXP_CMD_ROTATE_90))
21
* head block source address: input buffer address
22
* head block destination address: output buffer address
23
* source data size: input buffer size in bytes
24
* source burst length: height of source buffer in pixels
25
* dest data size: output buffer size in bytes
26
* dest burst length: height of destination buffer in pixels
27
*/
28
29
#define DMA_MCUX_PXP_FMT(x) ((x << DMA_MCUX_PXP_FMT_SHIFT) & DMA_MCUX_PXP_FMT_MASK)
30
#define DMA_MCUX_PXP_CMD(x) ((x << DMA_MCUX_PXP_CMD_SHIFT) & DMA_MCUX_PXP_CMD_MASK)
31
32
#define DMA_MCUX_PXP_CMD_ROTATE_0 0
33
#define DMA_MCUX_PXP_CMD_ROTATE_90 1
34
#define DMA_MCUX_PXP_CMD_ROTATE_180 2
35
#define DMA_MCUX_PXP_CMD_ROTATE_270 3
36
37
#define DMA_MCUX_PXP_FMT_RGB565 0
38
#define DMA_MCUX_PXP_FMT_RGB888 1
39
#define DMA_MCUX_PXP_FMT_ARGB8888 2
40
41
#define DMA_MCUX_PXP_FLIP_MASK 0x3
42
#define DMA_MCUX_PXP_FLIP_SHIFT 0x0
43
44
/*
45
* In order to configure the PXP to flip, the user should
46
* supply a flip setting as the DMA linked_channel parameter, like so:
47
* linked_channel |= DMA_MCUX_PXP_FLIP(DMA_MCUX_PXP_FLIP_HORIZONTAL)
48
*/
49
50
#define DMA_MCUX_PXP_FLIP(x) ((x << DMA_MCUX_PXP_FLIP_SHIFT) & DMA_MCUX_PXP_FLIP_MASK)
51
52
#define DMA_MCUX_PXP_FLIP_DISABLE 0
53
#define DMA_MCUX_PXP_FLIP_HORIZONTAL 1
54
#define DMA_MCUX_PXP_FLIP_VERTICAL 2
55
#define DMA_MCUX_PXP_FLIP_BOTH 3
56
57
#endif
/* ZEPHYR_INCLUDE_DRIVERS_DMA_MCUX_PXP_H_ */
zephyr
drivers
dma
dma_mcux_pxp.h
Generated on Fri Nov 8 2024 21:02:38 for Zephyr API Documentation by
1.12.0