20#ifndef STM32F4xx_LL_DMA2D_H
21#define STM32F4xx_LL_DMA2D_H
44#if defined(USE_FULL_LL_DRIVER)
55#if defined(USE_FULL_LL_DRIVER)
125 uint32_t OutputAlpha;
138 uint32_t OutputMemoryAddress;
160 uint32_t NbrOfPixelsPerLines;
167} LL_DMA2D_InitTypeDef;
174 uint32_t MemoryAddress;
196 uint32_t CLUTColorMode;
245 uint32_t CLUTMemoryAddress;
255} LL_DMA2D_LayerCfgTypeDef;
284 uint32_t OutputGreen;
316 uint32_t OutputAlpha;
329} LL_DMA2D_ColorTypeDef;
345#define LL_DMA2D_FLAG_CEIF DMA2D_ISR_CEIF
346#define LL_DMA2D_FLAG_CTCIF DMA2D_ISR_CTCIF
347#define LL_DMA2D_FLAG_CAEIF DMA2D_ISR_CAEIF
348#define LL_DMA2D_FLAG_TWIF DMA2D_ISR_TWIF
349#define LL_DMA2D_FLAG_TCIF DMA2D_ISR_TCIF
350#define LL_DMA2D_FLAG_TEIF DMA2D_ISR_TEIF
359#define LL_DMA2D_IT_CEIE DMA2D_CR_CEIE
360#define LL_DMA2D_IT_CTCIE DMA2D_CR_CTCIE
361#define LL_DMA2D_IT_CAEIE DMA2D_CR_CAEIE
362#define LL_DMA2D_IT_TWIE DMA2D_CR_TWIE
363#define LL_DMA2D_IT_TCIE DMA2D_CR_TCIE
364#define LL_DMA2D_IT_TEIE DMA2D_CR_TEIE
372#define LL_DMA2D_MODE_M2M 0x00000000U
373#define LL_DMA2D_MODE_M2M_PFC DMA2D_CR_MODE_0
374#define LL_DMA2D_MODE_M2M_BLEND DMA2D_CR_MODE_1
375#define LL_DMA2D_MODE_R2M DMA2D_CR_MODE
383#define LL_DMA2D_OUTPUT_MODE_ARGB8888 0x00000000U
384#define LL_DMA2D_OUTPUT_MODE_RGB888 DMA2D_OPFCCR_CM_0
385#define LL_DMA2D_OUTPUT_MODE_RGB565 DMA2D_OPFCCR_CM_1
386#define LL_DMA2D_OUTPUT_MODE_ARGB1555 (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1)
387#define LL_DMA2D_OUTPUT_MODE_ARGB4444 DMA2D_OPFCCR_CM_2
395#define LL_DMA2D_INPUT_MODE_ARGB8888 0x00000000U
396#define LL_DMA2D_INPUT_MODE_RGB888 DMA2D_FGPFCCR_CM_0
397#define LL_DMA2D_INPUT_MODE_RGB565 DMA2D_FGPFCCR_CM_1
398#define LL_DMA2D_INPUT_MODE_ARGB1555 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1)
399#define LL_DMA2D_INPUT_MODE_ARGB4444 DMA2D_FGPFCCR_CM_2
400#define LL_DMA2D_INPUT_MODE_L8 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_2)
401#define LL_DMA2D_INPUT_MODE_AL44 (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2)
402#define LL_DMA2D_INPUT_MODE_AL88 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2)
403#define LL_DMA2D_INPUT_MODE_L4 DMA2D_FGPFCCR_CM_3
404#define LL_DMA2D_INPUT_MODE_A8 (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_3)
405#define LL_DMA2D_INPUT_MODE_A4 (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_3)
413#define LL_DMA2D_ALPHA_MODE_NO_MODIF 0x00000000U
414#define LL_DMA2D_ALPHA_MODE_REPLACE DMA2D_FGPFCCR_AM_0
416#define LL_DMA2D_ALPHA_MODE_COMBINE DMA2D_FGPFCCR_AM_1
429#define LL_DMA2D_CLUT_COLOR_MODE_ARGB8888 0x00000000U
430#define LL_DMA2D_CLUT_COLOR_MODE_RGB888 DMA2D_FGPFCCR_CCM
456#define LL_DMA2D_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG((__INSTANCE__)->__REG__, (__VALUE__))
464#define LL_DMA2D_ReadReg(__INSTANCE__, __REG__) READ_REG((__INSTANCE__)->__REG__)
488__STATIC_INLINE
void LL_DMA2D_Start(DMA2D_TypeDef *DMA2Dx)
490 SET_BIT(DMA2Dx->CR, DMA2D_CR_START);
499__STATIC_INLINE uint32_t LL_DMA2D_IsTransferOngoing(
const DMA2D_TypeDef *DMA2Dx)
501 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_START) == (DMA2D_CR_START)) ? 1UL : 0UL);
511__STATIC_INLINE
void LL_DMA2D_Suspend(DMA2D_TypeDef *DMA2Dx)
513 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START, DMA2D_CR_SUSP);
523__STATIC_INLINE
void LL_DMA2D_Resume(DMA2D_TypeDef *DMA2Dx)
525 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START);
536__STATIC_INLINE uint32_t LL_DMA2D_IsSuspended(
const DMA2D_TypeDef *DMA2Dx)
538 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_SUSP) == (DMA2D_CR_SUSP)) ? 1UL : 0UL);
548__STATIC_INLINE
void LL_DMA2D_Abort(DMA2D_TypeDef *DMA2Dx)
550 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_ABORT | DMA2D_CR_START, DMA2D_CR_ABORT);
561__STATIC_INLINE uint32_t LL_DMA2D_IsAborted(
const DMA2D_TypeDef *DMA2Dx)
563 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_ABORT) == (DMA2D_CR_ABORT)) ? 1UL : 0UL);
577__STATIC_INLINE
void LL_DMA2D_SetMode(DMA2D_TypeDef *DMA2Dx, uint32_t Mode)
579 MODIFY_REG(DMA2Dx->CR, DMA2D_CR_MODE, Mode);
592__STATIC_INLINE uint32_t LL_DMA2D_GetMode(
const DMA2D_TypeDef *DMA2Dx)
594 return (uint32_t)(READ_BIT(DMA2Dx->CR, DMA2D_CR_MODE));
609__STATIC_INLINE
void LL_DMA2D_SetOutputColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
611 MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM, ColorMode);
625__STATIC_INLINE uint32_t LL_DMA2D_GetOutputColorMode(
const DMA2D_TypeDef *DMA2Dx)
627 return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM));
640__STATIC_INLINE
void LL_DMA2D_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
642 MODIFY_REG(DMA2Dx->OOR, DMA2D_OOR_LO, LineOffset);
651__STATIC_INLINE uint32_t LL_DMA2D_GetLineOffset(
const DMA2D_TypeDef *DMA2Dx)
653 return (uint32_t)(READ_BIT(DMA2Dx->OOR, DMA2D_OOR_LO));
663__STATIC_INLINE
void LL_DMA2D_SetNbrOfPixelsPerLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfPixelsPerLines)
665 MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_PL, (NbrOfPixelsPerLines << DMA2D_NLR_PL_Pos));
674__STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfPixelsPerLines(
const DMA2D_TypeDef *DMA2Dx)
676 return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_PL) >> DMA2D_NLR_PL_Pos);
686__STATIC_INLINE
void LL_DMA2D_SetNbrOfLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines)
688 MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_NL, NbrOfLines);
697__STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfLines(
const DMA2D_TypeDef *DMA2Dx)
699 return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_NL));
709__STATIC_INLINE
void LL_DMA2D_SetOutputMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t OutputMemoryAddress)
711 LL_DMA2D_WriteReg(DMA2Dx, OMAR, OutputMemoryAddress);
720__STATIC_INLINE uint32_t LL_DMA2D_GetOutputMemAddr(
const DMA2D_TypeDef *DMA2Dx)
722 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, OMAR));
739__STATIC_INLINE
void LL_DMA2D_SetOutputColor(DMA2D_TypeDef *DMA2Dx, uint32_t OutputColor)
741 WRITE_REG(DMA2Dx->OCOLR, OutputColor);
756__STATIC_INLINE uint32_t LL_DMA2D_GetOutputColor(
const DMA2D_TypeDef *DMA2Dx)
758 return (uint32_t)(READ_BIT(DMA2Dx->OCOLR, \
759 (DMA2D_OCOLR_BLUE_1 | DMA2D_OCOLR_GREEN_1 | DMA2D_OCOLR_RED_1 | DMA2D_OCOLR_ALPHA_1)));
769__STATIC_INLINE
void LL_DMA2D_SetLineWatermark(DMA2D_TypeDef *DMA2Dx, uint32_t LineWatermark)
771 MODIFY_REG(DMA2Dx->LWR, DMA2D_LWR_LW, LineWatermark);
780__STATIC_INLINE uint32_t LL_DMA2D_GetLineWatermark(
const DMA2D_TypeDef *DMA2Dx)
782 return (uint32_t)(READ_BIT(DMA2Dx->LWR, DMA2D_LWR_LW));
792__STATIC_INLINE
void LL_DMA2D_SetDeadTime(DMA2D_TypeDef *DMA2Dx, uint32_t DeadTime)
794 MODIFY_REG(DMA2Dx->AMTCR, DMA2D_AMTCR_DT, (DeadTime << DMA2D_AMTCR_DT_Pos));
803__STATIC_INLINE uint32_t LL_DMA2D_GetDeadTime(
const DMA2D_TypeDef *DMA2Dx)
805 return (uint32_t)(READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_DT) >> DMA2D_AMTCR_DT_Pos);
814__STATIC_INLINE
void LL_DMA2D_EnableDeadTime(DMA2D_TypeDef *DMA2Dx)
816 SET_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN);
825__STATIC_INLINE
void LL_DMA2D_DisableDeadTime(DMA2D_TypeDef *DMA2Dx)
827 CLEAR_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN);
836__STATIC_INLINE uint32_t LL_DMA2D_IsEnabledDeadTime(
const DMA2D_TypeDef *DMA2Dx)
838 return ((READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN) == (DMA2D_AMTCR_EN)) ? 1UL : 0UL);
852__STATIC_INLINE
void LL_DMA2D_FGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress)
854 LL_DMA2D_WriteReg(DMA2Dx, FGMAR, MemoryAddress);
863__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetMemAddr(
const DMA2D_TypeDef *DMA2Dx)
865 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGMAR));
874__STATIC_INLINE
void LL_DMA2D_FGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx)
876 SET_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START);
885__STATIC_INLINE uint32_t LL_DMA2D_FGND_IsEnabledCLUTLoad(
const DMA2D_TypeDef *DMA2Dx)
887 return ((READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START) == (DMA2D_FGPFCCR_START)) ? 1UL : 0UL);
908__STATIC_INLINE
void LL_DMA2D_FGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
910 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM, ColorMode);
930__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetColorMode(
const DMA2D_TypeDef *DMA2Dx)
932 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM));
945__STATIC_INLINE
void LL_DMA2D_FGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode)
947 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM, AphaMode);
959__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlphaMode(
const DMA2D_TypeDef *DMA2Dx)
961 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM));
971__STATIC_INLINE
void LL_DMA2D_FGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha)
973 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA, (Alpha << DMA2D_FGPFCCR_ALPHA_Pos));
982__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlpha(
const DMA2D_TypeDef *DMA2Dx)
984 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA) >> DMA2D_FGPFCCR_ALPHA_Pos);
995__STATIC_INLINE
void LL_DMA2D_FGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
997 MODIFY_REG(DMA2Dx->FGOR, DMA2D_FGOR_LO, LineOffset);
1006__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetLineOffset(
const DMA2D_TypeDef *DMA2Dx)
1008 return (uint32_t)(READ_BIT(DMA2Dx->FGOR, DMA2D_FGOR_LO));
1022__STATIC_INLINE
void LL_DMA2D_FGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue)
1024 MODIFY_REG(DMA2Dx->FGCOLR, (DMA2D_FGCOLR_RED | DMA2D_FGCOLR_GREEN | DMA2D_FGCOLR_BLUE), \
1025 ((Red << DMA2D_FGCOLR_RED_Pos) | (Green << DMA2D_FGCOLR_GREEN_Pos) | Blue));
1035__STATIC_INLINE
void LL_DMA2D_FGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red)
1037 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED, (Red << DMA2D_FGCOLR_RED_Pos));
1046__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetRedColor(
const DMA2D_TypeDef *DMA2Dx)
1048 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED) >> DMA2D_FGCOLR_RED_Pos);
1058__STATIC_INLINE
void LL_DMA2D_FGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green)
1060 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN, (Green << DMA2D_FGCOLR_GREEN_Pos));
1069__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetGreenColor(
const DMA2D_TypeDef *DMA2Dx)
1071 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN) >> DMA2D_FGCOLR_GREEN_Pos);
1081__STATIC_INLINE
void LL_DMA2D_FGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue)
1083 MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE, Blue);
1092__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetBlueColor(
const DMA2D_TypeDef *DMA2Dx)
1094 return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE));
1104__STATIC_INLINE
void LL_DMA2D_FGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress)
1106 LL_DMA2D_WriteReg(DMA2Dx, FGCMAR, CLUTMemoryAddress);
1115__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTMemAddr(
const DMA2D_TypeDef *DMA2Dx)
1117 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGCMAR));
1127__STATIC_INLINE
void LL_DMA2D_FGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize)
1129 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS, (CLUTSize << DMA2D_FGPFCCR_CS_Pos));
1138__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTSize(
const DMA2D_TypeDef *DMA2Dx)
1140 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS) >> DMA2D_FGPFCCR_CS_Pos);
1152__STATIC_INLINE
void LL_DMA2D_FGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode)
1154 MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM, CLUTColorMode);
1165__STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTColorMode(
const DMA2D_TypeDef *DMA2Dx)
1167 return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM));
1185__STATIC_INLINE
void LL_DMA2D_BGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress)
1187 LL_DMA2D_WriteReg(DMA2Dx, BGMAR, MemoryAddress);
1196__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetMemAddr(
const DMA2D_TypeDef *DMA2Dx)
1198 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGMAR));
1207__STATIC_INLINE
void LL_DMA2D_BGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx)
1209 SET_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START);
1218__STATIC_INLINE uint32_t LL_DMA2D_BGND_IsEnabledCLUTLoad(
const DMA2D_TypeDef *DMA2Dx)
1220 return ((READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START) == (DMA2D_BGPFCCR_START)) ? 1UL : 0UL);
1241__STATIC_INLINE
void LL_DMA2D_BGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
1243 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM, ColorMode);
1263__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetColorMode(
const DMA2D_TypeDef *DMA2Dx)
1265 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM));
1278__STATIC_INLINE
void LL_DMA2D_BGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode)
1280 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM, AphaMode);
1292__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlphaMode(
const DMA2D_TypeDef *DMA2Dx)
1294 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM));
1304__STATIC_INLINE
void LL_DMA2D_BGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha)
1306 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA, (Alpha << DMA2D_BGPFCCR_ALPHA_Pos));
1315__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetAlpha(
const DMA2D_TypeDef *DMA2Dx)
1317 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA) >> DMA2D_BGPFCCR_ALPHA_Pos);
1328__STATIC_INLINE
void LL_DMA2D_BGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
1330 MODIFY_REG(DMA2Dx->BGOR, DMA2D_BGOR_LO, LineOffset);
1339__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetLineOffset(
const DMA2D_TypeDef *DMA2Dx)
1341 return (uint32_t)(READ_BIT(DMA2Dx->BGOR, DMA2D_BGOR_LO));
1355__STATIC_INLINE
void LL_DMA2D_BGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue)
1357 MODIFY_REG(DMA2Dx->BGCOLR, (DMA2D_BGCOLR_RED | DMA2D_BGCOLR_GREEN | DMA2D_BGCOLR_BLUE), \
1358 ((Red << DMA2D_BGCOLR_RED_Pos) | (Green << DMA2D_BGCOLR_GREEN_Pos) | Blue));
1368__STATIC_INLINE
void LL_DMA2D_BGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red)
1370 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED, (Red << DMA2D_BGCOLR_RED_Pos));
1379__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetRedColor(
const DMA2D_TypeDef *DMA2Dx)
1381 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED) >> DMA2D_BGCOLR_RED_Pos);
1391__STATIC_INLINE
void LL_DMA2D_BGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green)
1393 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN, (Green << DMA2D_BGCOLR_GREEN_Pos));
1402__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetGreenColor(
const DMA2D_TypeDef *DMA2Dx)
1404 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN) >> DMA2D_BGCOLR_GREEN_Pos);
1414__STATIC_INLINE
void LL_DMA2D_BGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue)
1416 MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE, Blue);
1425__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetBlueColor(
const DMA2D_TypeDef *DMA2Dx)
1427 return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE));
1437__STATIC_INLINE
void LL_DMA2D_BGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress)
1439 LL_DMA2D_WriteReg(DMA2Dx, BGCMAR, CLUTMemoryAddress);
1448__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTMemAddr(
const DMA2D_TypeDef *DMA2Dx)
1450 return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGCMAR));
1460__STATIC_INLINE
void LL_DMA2D_BGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize)
1462 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS, (CLUTSize << DMA2D_BGPFCCR_CS_Pos));
1471__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTSize(
const DMA2D_TypeDef *DMA2Dx)
1473 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS) >> DMA2D_BGPFCCR_CS_Pos);
1485__STATIC_INLINE
void LL_DMA2D_BGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode)
1487 MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM, CLUTColorMode);
1498__STATIC_INLINE uint32_t LL_DMA2D_BGND_GetCLUTColorMode(
const DMA2D_TypeDef *DMA2Dx)
1500 return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM));
1522__STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CE(
const DMA2D_TypeDef *DMA2Dx)
1524 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CEIF) == (DMA2D_ISR_CEIF)) ? 1UL : 0UL);
1533__STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CTC(
const DMA2D_TypeDef *DMA2Dx)
1535 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CTCIF) == (DMA2D_ISR_CTCIF)) ? 1UL : 0UL);
1544__STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CAE(
const DMA2D_TypeDef *DMA2Dx)
1546 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CAEIF) == (DMA2D_ISR_CAEIF)) ? 1UL : 0UL);
1555__STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TW(
const DMA2D_TypeDef *DMA2Dx)
1557 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TWIF) == (DMA2D_ISR_TWIF)) ? 1UL : 0UL);
1566__STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TC(
const DMA2D_TypeDef *DMA2Dx)
1568 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TCIF) == (DMA2D_ISR_TCIF)) ? 1UL : 0UL);
1577__STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TE(
const DMA2D_TypeDef *DMA2Dx)
1579 return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TEIF) == (DMA2D_ISR_TEIF)) ? 1UL : 0UL);
1588__STATIC_INLINE
void LL_DMA2D_ClearFlag_CE(DMA2D_TypeDef *DMA2Dx)
1590 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCEIF);
1599__STATIC_INLINE
void LL_DMA2D_ClearFlag_CTC(DMA2D_TypeDef *DMA2Dx)
1601 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCTCIF);
1610__STATIC_INLINE
void LL_DMA2D_ClearFlag_CAE(DMA2D_TypeDef *DMA2Dx)
1612 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CAECIF);
1621__STATIC_INLINE
void LL_DMA2D_ClearFlag_TW(DMA2D_TypeDef *DMA2Dx)
1623 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTWIF);
1632__STATIC_INLINE
void LL_DMA2D_ClearFlag_TC(DMA2D_TypeDef *DMA2Dx)
1634 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTCIF);
1643__STATIC_INLINE
void LL_DMA2D_ClearFlag_TE(DMA2D_TypeDef *DMA2Dx)
1645 WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTEIF);
1662__STATIC_INLINE
void LL_DMA2D_EnableIT_CE(DMA2D_TypeDef *DMA2Dx)
1664 SET_BIT(DMA2Dx->CR, DMA2D_CR_CEIE);
1673__STATIC_INLINE
void LL_DMA2D_EnableIT_CTC(DMA2D_TypeDef *DMA2Dx)
1675 SET_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE);
1684__STATIC_INLINE
void LL_DMA2D_EnableIT_CAE(DMA2D_TypeDef *DMA2Dx)
1686 SET_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE);
1695__STATIC_INLINE
void LL_DMA2D_EnableIT_TW(DMA2D_TypeDef *DMA2Dx)
1697 SET_BIT(DMA2Dx->CR, DMA2D_CR_TWIE);
1706__STATIC_INLINE
void LL_DMA2D_EnableIT_TC(DMA2D_TypeDef *DMA2Dx)
1708 SET_BIT(DMA2Dx->CR, DMA2D_CR_TCIE);
1717__STATIC_INLINE
void LL_DMA2D_EnableIT_TE(DMA2D_TypeDef *DMA2Dx)
1719 SET_BIT(DMA2Dx->CR, DMA2D_CR_TEIE);
1728__STATIC_INLINE
void LL_DMA2D_DisableIT_CE(DMA2D_TypeDef *DMA2Dx)
1730 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CEIE);
1739__STATIC_INLINE
void LL_DMA2D_DisableIT_CTC(DMA2D_TypeDef *DMA2Dx)
1741 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE);
1750__STATIC_INLINE
void LL_DMA2D_DisableIT_CAE(DMA2D_TypeDef *DMA2Dx)
1752 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE);
1761__STATIC_INLINE
void LL_DMA2D_DisableIT_TW(DMA2D_TypeDef *DMA2Dx)
1763 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TWIE);
1772__STATIC_INLINE
void LL_DMA2D_DisableIT_TC(DMA2D_TypeDef *DMA2Dx)
1774 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TCIE);
1783__STATIC_INLINE
void LL_DMA2D_DisableIT_TE(DMA2D_TypeDef *DMA2Dx)
1785 CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TEIE);
1794__STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CE(
const DMA2D_TypeDef *DMA2Dx)
1796 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CEIE) == (DMA2D_CR_CEIE)) ? 1UL : 0UL);
1805__STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CTC(
const DMA2D_TypeDef *DMA2Dx)
1807 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE) == (DMA2D_CR_CTCIE)) ? 1UL : 0UL);
1816__STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CAE(
const DMA2D_TypeDef *DMA2Dx)
1818 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE) == (DMA2D_CR_CAEIE)) ? 1UL : 0UL);
1827__STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TW(
const DMA2D_TypeDef *DMA2Dx)
1829 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TWIE) == (DMA2D_CR_TWIE)) ? 1UL : 0UL);
1838__STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TC(
const DMA2D_TypeDef *DMA2Dx)
1840 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TCIE) == (DMA2D_CR_TCIE)) ? 1UL : 0UL);
1849__STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TE(
const DMA2D_TypeDef *DMA2Dx)
1851 return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TEIE) == (DMA2D_CR_TEIE)) ? 1UL : 0UL);
1860#if defined(USE_FULL_LL_DRIVER)
1865ErrorStatus LL_DMA2D_DeInit(
const DMA2D_TypeDef *DMA2Dx);
1866ErrorStatus LL_DMA2D_Init(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_InitTypeDef *DMA2D_InitStruct);
1867void LL_DMA2D_StructInit(LL_DMA2D_InitTypeDef *DMA2D_InitStruct);
1868void LL_DMA2D_ConfigLayer(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg, uint32_t LayerIdx);
1869void LL_DMA2D_LayerCfgStructInit(LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg);
1870void LL_DMA2D_ConfigOutputColor(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_ColorTypeDef *DMA2D_ColorStruct);
1871uint32_t LL_DMA2D_GetOutputBlueColor(
const DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
1872uint32_t LL_DMA2D_GetOutputGreenColor(
const DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
1873uint32_t LL_DMA2D_GetOutputRedColor(
const DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
1874uint32_t LL_DMA2D_GetOutputAlphaColor(
const DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
1875void LL_DMA2D_ConfigSize(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines, uint32_t NbrOfPixelsPerLines);