39 #ifndef __STM32F7xx_HAL_DMA2D_H 40 #define __STM32F7xx_HAL_DMA2D_H 62 #define MAX_DMA2D_LAYER 2 106 #if defined (DMA2D_OPFCCR_AI) 107 uint32_t AlphaInverted;
111 #if defined (DMA2D_OPFCCR_RBS) 112 uint32_t RedBlueSwap;
143 #if defined (DMA2D_FGPFCCR_AI) && defined (DMA2D_BGPFCCR_AI) 144 uint32_t AlphaInverted;
151 #if defined (DMA2D_FGPFCCR_RBS) && defined (DMA2D_BGPFCCR_RBS) 152 uint32_t RedBlueSwap;
207 #define HAL_DMA2D_ERROR_NONE ((uint32_t)0x00000000U) 208 #define HAL_DMA2D_ERROR_TE ((uint32_t)0x00000001U) 209 #define HAL_DMA2D_ERROR_CE ((uint32_t)0x00000002U) 210 #define HAL_DMA2D_ERROR_CAE ((uint32_t)0x00000004U) 211 #define HAL_DMA2D_ERROR_TIMEOUT ((uint32_t)0x00000020U) 219 #define DMA2D_M2M ((uint32_t)0x00000000U) 220 #define DMA2D_M2M_PFC DMA2D_CR_MODE_0 221 #define DMA2D_M2M_BLEND DMA2D_CR_MODE_1 222 #define DMA2D_R2M DMA2D_CR_MODE 230 #define DMA2D_OUTPUT_ARGB8888 ((uint32_t)0x00000000U) 231 #define DMA2D_OUTPUT_RGB888 DMA2D_OPFCCR_CM_0 232 #define DMA2D_OUTPUT_RGB565 DMA2D_OPFCCR_CM_1 233 #define DMA2D_OUTPUT_ARGB1555 (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1) 234 #define DMA2D_OUTPUT_ARGB4444 DMA2D_OPFCCR_CM_2 242 #define DMA2D_INPUT_ARGB8888 ((uint32_t)0x00000000U) 243 #define DMA2D_INPUT_RGB888 ((uint32_t)0x00000001U) 244 #define DMA2D_INPUT_RGB565 ((uint32_t)0x00000002U) 245 #define DMA2D_INPUT_ARGB1555 ((uint32_t)0x00000003U) 246 #define DMA2D_INPUT_ARGB4444 ((uint32_t)0x00000004U) 247 #define DMA2D_INPUT_L8 ((uint32_t)0x00000005U) 248 #define DMA2D_INPUT_AL44 ((uint32_t)0x00000006U) 249 #define DMA2D_INPUT_AL88 ((uint32_t)0x00000007U) 250 #define DMA2D_INPUT_L4 ((uint32_t)0x00000008U) 251 #define DMA2D_INPUT_A8 ((uint32_t)0x00000009U) 252 #define DMA2D_INPUT_A4 ((uint32_t)0x0000000AU) 260 #define DMA2D_NO_MODIF_ALPHA ((uint32_t)0x00000000U) 261 #define DMA2D_REPLACE_ALPHA ((uint32_t)0x00000001U) 262 #define DMA2D_COMBINE_ALPHA ((uint32_t)0x00000002U) 268 #if defined (DMA2D_FGPFCCR_AI) && defined (DMA2D_BGPFCCR_AI) 272 #define DMA2D_REGULAR_ALPHA ((uint32_t)0x00000000U) 273 #define DMA2D_INVERTED_ALPHA ((uint32_t)0x00000001U) 279 #if defined (DMA2D_FGPFCCR_RBS) && defined (DMA2D_BGPFCCR_RBS) 283 #define DMA2D_RB_REGULAR ((uint32_t)0x00000000U) 284 #define DMA2D_RB_SWAP ((uint32_t)0x00000001U) 293 #define DMA2D_CCM_ARGB8888 ((uint32_t)0x00000000U) 294 #define DMA2D_CCM_RGB888 ((uint32_t)0x00000001U) 303 #define DMA2D_IT_CE DMA2D_CR_CEIE 304 #define DMA2D_IT_CTC DMA2D_CR_CTCIE 305 #define DMA2D_IT_CAE DMA2D_CR_CAEIE 306 #define DMA2D_IT_TW DMA2D_CR_TWIE 307 #define DMA2D_IT_TC DMA2D_CR_TCIE 308 #define DMA2D_IT_TE DMA2D_CR_TEIE 316 #define DMA2D_FLAG_CE DMA2D_ISR_CEIF 317 #define DMA2D_FLAG_CTC DMA2D_ISR_CTCIF 318 #define DMA2D_FLAG_CAE DMA2D_ISR_CAEIF 319 #define DMA2D_FLAG_TW DMA2D_ISR_TWIF 320 #define DMA2D_FLAG_TC DMA2D_ISR_TCIF 321 #define DMA2D_FLAG_TE DMA2D_ISR_TEIF 329 #define HAL_DMA2D_DisableCLUT HAL_DMA2D_CLUTLoading_Abort 347 #define __HAL_DMA2D_RESET_HANDLE_STATE(__HANDLE__) ((__HANDLE__)->State = HAL_DMA2D_STATE_RESET) 354 #define __HAL_DMA2D_ENABLE(__HANDLE__) ((__HANDLE__)->Instance->CR |= DMA2D_CR_START) 371 #define __HAL_DMA2D_GET_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->ISR & (__FLAG__)) 386 #define __HAL_DMA2D_CLEAR_FLAG(__HANDLE__, __FLAG__) ((__HANDLE__)->Instance->IFCR = (__FLAG__)) 401 #define __HAL_DMA2D_ENABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR |= (__INTERRUPT__)) 416 #define __HAL_DMA2D_DISABLE_IT(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR &= ~(__INTERRUPT__)) 431 #define __HAL_DMA2D_GET_IT_SOURCE(__HANDLE__, __INTERRUPT__) ((__HANDLE__)->Instance->CR & (__INTERRUPT__)) 525 #define DMA2D_LINE_WATERMARK_MAX DMA2D_LWR_LW 533 #define DMA2D_COLOR_VALUE ((uint32_t)0x000000FFU) 541 #define DMA2D_MAX_LAYER 2 549 #define DMA2D_OFFSET DMA2D_FGOR_LO 557 #define DMA2D_PIXEL (DMA2D_NLR_PL >> 16U) 558 #define DMA2D_LINE DMA2D_NLR_NL 566 #define DMA2D_CLUT_SIZE (DMA2D_FGPFCCR_CS >> 8) 580 #define IS_DMA2D_LAYER(LAYER) ((LAYER) <= DMA2D_MAX_LAYER) 581 #define IS_DMA2D_MODE(MODE) (((MODE) == DMA2D_M2M) || ((MODE) == DMA2D_M2M_PFC) || \ 582 ((MODE) == DMA2D_M2M_BLEND) || ((MODE) == DMA2D_R2M)) 583 #define IS_DMA2D_CMODE(MODE_ARGB) (((MODE_ARGB) == DMA2D_OUTPUT_ARGB8888) || ((MODE_ARGB) == DMA2D_OUTPUT_RGB888) || \ 584 ((MODE_ARGB) == DMA2D_OUTPUT_RGB565) || ((MODE_ARGB) == DMA2D_OUTPUT_ARGB1555) || \ 585 ((MODE_ARGB) == DMA2D_OUTPUT_ARGB4444)) 586 #define IS_DMA2D_COLOR(COLOR) ((COLOR) <= DMA2D_COLOR_VALUE) 587 #define IS_DMA2D_LINE(LINE) ((LINE) <= DMA2D_LINE) 588 #define IS_DMA2D_PIXEL(PIXEL) ((PIXEL) <= DMA2D_PIXEL) 589 #define IS_DMA2D_OFFSET(OOFFSET) ((OOFFSET) <= DMA2D_OFFSET) 590 #define IS_DMA2D_INPUT_COLOR_MODE(INPUT_CM) (((INPUT_CM) == DMA2D_INPUT_ARGB8888) || ((INPUT_CM) == DMA2D_INPUT_RGB888) || \ 591 ((INPUT_CM) == DMA2D_INPUT_RGB565) || ((INPUT_CM) == DMA2D_INPUT_ARGB1555) || \ 592 ((INPUT_CM) == DMA2D_INPUT_ARGB4444) || ((INPUT_CM) == DMA2D_INPUT_L8) || \ 593 ((INPUT_CM) == DMA2D_INPUT_AL44) || ((INPUT_CM) == DMA2D_INPUT_AL88) || \ 594 ((INPUT_CM) == DMA2D_INPUT_L4) || ((INPUT_CM) == DMA2D_INPUT_A8) || \ 595 ((INPUT_CM) == DMA2D_INPUT_A4)) 596 #define IS_DMA2D_ALPHA_MODE(AlphaMode) (((AlphaMode) == DMA2D_NO_MODIF_ALPHA) || \ 597 ((AlphaMode) == DMA2D_REPLACE_ALPHA) || \ 598 ((AlphaMode) == DMA2D_COMBINE_ALPHA)) 600 #define IS_DMA2D_ALPHA_INVERTED(Alpha_Inverted) (((Alpha_Inverted) == DMA2D_REGULAR_ALPHA) || \ 601 ((Alpha_Inverted) == DMA2D_INVERTED_ALPHA)) 603 #define IS_DMA2D_RB_SWAP(RB_Swap) (((RB_Swap) == DMA2D_RB_REGULAR) || \ 604 ((RB_Swap) == DMA2D_RB_SWAP)) 606 #define IS_DMA2D_CLUT_CM(CLUT_CM) (((CLUT_CM) == DMA2D_CCM_ARGB8888) || ((CLUT_CM) == DMA2D_CCM_RGB888)) 607 #define IS_DMA2D_CLUT_SIZE(CLUT_SIZE) ((CLUT_SIZE) <= DMA2D_CLUT_SIZE) 608 #define IS_DMA2D_LINEWATERMARK(LineWatermark) ((LineWatermark) <= DMA2D_LINE_WATERMARK_MAX) 609 #define IS_DMA2D_IT(IT) (((IT) == DMA2D_IT_CTC) || ((IT) == DMA2D_IT_CAE) || \ 610 ((IT) == DMA2D_IT_TW) || ((IT) == DMA2D_IT_TC) || \ 611 ((IT) == DMA2D_IT_TE) || ((IT) == DMA2D_IT_CE)) 612 #define IS_DMA2D_GET_FLAG(FLAG) (((FLAG) == DMA2D_FLAG_CTC) || ((FLAG) == DMA2D_FLAG_CAE) || \ 613 ((FLAG) == DMA2D_FLAG_TW) || ((FLAG) == DMA2D_FLAG_TC) || \ 614 ((FLAG) == DMA2D_FLAG_TE) || ((FLAG) == DMA2D_FLAG_CE))
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Resume(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
HAL_StatusTypeDef HAL_DMA2D_Suspend(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_Start_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height)
HAL_StatusTypeDef HAL_DMA2D_Start(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height)
DMA2D color Structure definition.
DMA2D CLUT Structure definition.
HAL_LockTypeDef
HAL Lock structures definition.
void(* XferErrorCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_ConfigDeadTime(DMA2D_HandleTypeDef *hdma2d, uint8_t DeadTime)
DMA2D Init structure definition.
void HAL_DMA2D_IRQHandler(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_ConfigLayer(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
HAL_StatusTypeDef HAL_DMA2D_CLUTLoad(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d)
struct __DMA2D_HandleTypeDef DMA2D_HandleTypeDef
DMA2D handle Structure definition.
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Suspend(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
void(* XferCpltCallback)(struct __DMA2D_HandleTypeDef *hdma2d)
DMA2D Layer structure definition.
__IO HAL_DMA2D_StateTypeDef State
uint32_t HAL_DMA2D_GetError(DMA2D_HandleTypeDef *hdma2d)
void HAL_DMA2D_LineEventCallback(DMA2D_HandleTypeDef *hdma2d)
HAL_DMA2D_StateTypeDef HAL_DMA2D_GetState(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_DeInit(DMA2D_HandleTypeDef *hdma2d)
void HAL_DMA2D_MspDeInit(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_EnableCLUT(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
HAL_StatusTypeDef HAL_DMA2D_DisableDeadTime(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_CLUTLoading_Abort(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx)
HAL_DMA2D_StateTypeDef
HAL DMA2D State structures definition.
HAL_StatusTypeDef HAL_DMA2D_ConfigCLUT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef HAL_DMA2D_EnableDeadTime(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout)
HAL_StatusTypeDef HAL_DMA2D_BlendingStart(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height)
HAL_StatusTypeDef HAL_DMA2D_Abort(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_ProgramLineEvent(DMA2D_HandleTypeDef *hdma2d, uint32_t Line)
HAL_StatusTypeDef
HAL Status structures definition.
HAL_StatusTypeDef HAL_DMA2D_BlendingStart_IT(DMA2D_HandleTypeDef *hdma2d, uint32_t SrcAddress1, uint32_t SrcAddress2, uint32_t DstAddress, uint32_t Width, uint32_t Height)
HAL_StatusTypeDef HAL_DMA2D_CLUTLoad_IT(DMA2D_HandleTypeDef *hdma2d, DMA2D_CLUTCfgTypeDef CLUTCfg, uint32_t LayerIdx)
void HAL_DMA2D_CLUTLoadingCpltCallback(DMA2D_HandleTypeDef *hdma2d)
HAL_StatusTypeDef HAL_DMA2D_Resume(DMA2D_HandleTypeDef *hdma2d)
DMA2D_LayerCfgTypeDef LayerCfg[MAX_DMA2D_LAYER]
DMA2D handle Structure definition.