STM32H735xx HAL User Manual
stm32h7xx_ll_dma2d.h
Go to the documentation of this file.
00001 /**
00002   ******************************************************************************
00003   * @file    stm32h7xx_ll_dma2d.h
00004   * @author  MCD Application Team
00005   * @brief   Header file of DMA2D LL module.
00006   ******************************************************************************
00007   * @attention
00008   *
00009   * Copyright (c) 2017 STMicroelectronics.
00010   * All rights reserved.
00011   *
00012   * This software is licensed under terms that can be found in the LICENSE file
00013   * in the root directory of this software component.
00014   * If no LICENSE file comes with this software, it is provided AS-IS.
00015   *
00016   ******************************************************************************
00017   */
00018 
00019 /* Define to prevent recursive inclusion -------------------------------------*/
00020 #ifndef STM32H7xx_LL_DMA2D_H
00021 #define STM32H7xx_LL_DMA2D_H
00022 
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026 
00027 /* Includes ------------------------------------------------------------------*/
00028 #include "stm32h7xx.h"
00029 
00030 /** @addtogroup STM32H7xx_LL_Driver
00031   * @{
00032   */
00033 
00034 #if defined (DMA2D)
00035 
00036 /** @defgroup DMA2D_LL DMA2D
00037   * @{
00038   */
00039 
00040 /* Private types -------------------------------------------------------------*/
00041 /* Private variables ---------------------------------------------------------*/
00042 /* Private constants ---------------------------------------------------------*/
00043 /* Private macros ------------------------------------------------------------*/
00044 #if defined(USE_FULL_LL_DRIVER)
00045 /** @defgroup DMA2D_LL_Private_Macros DMA2D Private Macros
00046   * @{
00047   */
00048 
00049 /**
00050   * @}
00051   */
00052 #endif /*USE_FULL_LL_DRIVER*/
00053 
00054 /* Exported types ------------------------------------------------------------*/
00055 #if defined(USE_FULL_LL_DRIVER)
00056 /** @defgroup DMA2D_LL_ES_Init_Struct DMA2D Exported Init structures
00057   * @{
00058   */
00059 
00060 /**
00061   * @brief LL DMA2D Init Structure Definition
00062   */
00063 typedef struct
00064 {
00065   uint32_t Mode;                 /*!< Specifies the DMA2D transfer mode.
00066                                       - This parameter can be one value of @ref DMA2D_LL_EC_MODE.
00067 
00068                                       This parameter can be modified afterwards,
00069                                       using unitary function @ref LL_DMA2D_SetMode(). */
00070 
00071   uint32_t ColorMode;            /*!< Specifies the color format of the output image.
00072                                       - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_COLOR_MODE.
00073 
00074                                       This parameter can be modified afterwards using,
00075                                       unitary function @ref LL_DMA2D_SetOutputColorMode(). */
00076 
00077   uint32_t OutputBlue;           /*!< Specifies the Blue value of the output image.
00078                                       - This parameter must be a number between:
00079                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00080                                       - This parameter must be a number between:
00081                                         Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
00082                                       - This parameter must be a number between:
00083                                         Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
00084                                       - This parameter must be a number between:
00085                                         Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
00086                                       - This parameter must be a number between:
00087                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00088 
00089                                       This parameter can be modified afterwards,
00090                                       using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00091                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00092 
00093   uint32_t OutputGreen;          /*!< Specifies the Green value of the output image.
00094                                       - This parameter must be a number between:
00095                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00096                                       - This parameter must be a number between:
00097                                         Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
00098                                       - This parameter must be a number between:
00099                                         Min_Data = 0x00 and Max_Data = 0x3F if RGB565 color mode is selected.
00100                                       - This parameter must be a number between:
00101                                         Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
00102                                       - This parameter must be a number between:
00103                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00104 
00105                                       This parameter can be modified afterwards
00106                                       using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00107                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00108 
00109   uint32_t OutputRed;            /*!< Specifies the Red value of the output image.
00110                                       - This parameter must be a number between:
00111                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00112                                       - This parameter must be a number between:
00113                                         Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
00114                                       - This parameter must be a number between:
00115                                         Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
00116                                       - This parameter must be a number between:
00117                                         Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
00118                                       - This parameter must be a number between:
00119                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00120 
00121                                       This parameter can be modified afterwards
00122                                       using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00123                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00124 
00125   uint32_t OutputAlpha;          /*!< Specifies the Alpha channel of the output image.
00126                                       - This parameter must be a number between:
00127                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00128                                       - This parameter must be a number between:
00129                                         Min_Data = 0x00 and Max_Data = 0x01 if ARGB1555 color mode is selected.
00130                                       - This parameter must be a number between:
00131                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00132                                       - This parameter is not considered if RGB888 or RGB565 color mode is selected.
00133 
00134                                       This parameter can be modified afterwards using,
00135                                       unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00136                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00137 
00138   uint32_t OutputMemoryAddress;  /*!< Specifies the memory address.
00139                                       - This parameter must be a number between:
00140                                         Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF.
00141 
00142                                       This parameter can be modified afterwards,
00143                                       using unitary function @ref LL_DMA2D_SetOutputMemAddr(). */
00144 
00145   uint32_t OutputSwapMode;             /*!< Specifies the output swap mode color format of the output image.
00146                                       - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_SWAP_MODE.
00147 
00148                                       This parameter can be modified afterwards,
00149                                       using unitary function @ref LL_DMA2D_SetOutputSwapMode(). */
00150 
00151   uint32_t LineOffsetMode;       /*!< Specifies the output line offset mode.
00152                                       - This parameter can be one value of @ref DMA2D_LL_EC_LINE_OFFSET_MODE.
00153 
00154                                       This parameter can be modified afterwards,
00155                                       using unitary function @ref LL_DMA2D_SetLineOffsetMode(). */
00156 
00157   uint32_t LineOffset;           /*!< Specifies the output line offset value.
00158                                       - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0xFFFF.
00159 
00160                                       This parameter can be modified afterwards,
00161                                       using unitary function @ref LL_DMA2D_SetLineOffset(). */
00162 
00163   uint32_t NbrOfLines;           /*!< Specifies the number of lines of the area to be transferred.
00164                                       - This parameter must be a number between:
00165                                         Min_Data = 0x0000 and Max_Data = 0xFFFF.
00166 
00167                                       This parameter can be modified afterwards,
00168                                       using unitary function @ref LL_DMA2D_SetNbrOfLines(). */
00169 
00170   uint32_t NbrOfPixelsPerLines;  /*!< Specifies the number of pixels per lines of the area to be transferred.
00171                                       - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF.
00172 
00173                                       This parameter can be modified afterwards using,
00174                                       unitary function @ref LL_DMA2D_SetNbrOfPixelsPerLines(). */
00175 
00176   uint32_t AlphaInversionMode;   /*!< Specifies the output alpha inversion mode.
00177                                       - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_INVERSION.
00178 
00179                                       This parameter can be modified afterwards,
00180                                       using unitary function @ref LL_DMA2D_SetOutputAlphaInvMode(). */
00181 
00182   uint32_t RBSwapMode;           /*!< Specifies the output Red Blue swap mode.
00183                                       - This parameter can be one value of @ref DMA2D_LL_EC_RED_BLUE_SWAP.
00184 
00185                                       This parameter can be modified afterwards,
00186                                       using unitary function @ref LL_DMA2D_SetOutputRBSwapMode(). */
00187 
00188 } LL_DMA2D_InitTypeDef;
00189 
00190 /**
00191   * @brief LL DMA2D Layer Configuration Structure Definition
00192   */
00193 typedef struct
00194 {
00195   uint32_t MemoryAddress;        /*!< Specifies the foreground or background memory address.
00196                                       - This parameter must be a number between:
00197                                         Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF.
00198 
00199                                       This parameter can be modified afterwards using unitary functions
00200                                       - @ref LL_DMA2D_FGND_SetMemAddr() for foreground layer,
00201                                       - @ref LL_DMA2D_BGND_SetMemAddr() for background layer. */
00202 
00203   uint32_t LineOffset;           /*!< Specifies the foreground or background line offset value.
00204                                       - This parameter must be a number between Min_Data = 0x0000 and Max_Data = 0x3FFF.
00205 
00206                                       This parameter can be modified afterwards using unitary functions
00207                                       - @ref LL_DMA2D_FGND_SetLineOffset() for foreground layer,
00208                                       - @ref LL_DMA2D_BGND_SetLineOffset() for background layer. */
00209 
00210   uint32_t ColorMode;            /*!< Specifies the foreground or background color mode.
00211                                       - This parameter can be one value of @ref DMA2D_LL_EC_INPUT_COLOR_MODE.
00212 
00213                                       This parameter can be modified afterwards using unitary functions
00214                                       - @ref LL_DMA2D_FGND_SetColorMode() for foreground layer,
00215                                       - @ref LL_DMA2D_BGND_SetColorMode() for background layer. */
00216 
00217   uint32_t CLUTColorMode;        /*!< Specifies the foreground or background CLUT color mode.
00218                                        - This parameter can be one value of @ref DMA2D_LL_EC_CLUT_COLOR_MODE.
00219 
00220                                       This parameter can be modified afterwards using unitary functions
00221                                       - @ref LL_DMA2D_FGND_SetCLUTColorMode() for foreground layer,
00222                                       - @ref LL_DMA2D_BGND_SetCLUTColorMode() for background layer. */
00223 
00224   uint32_t CLUTSize;             /*!< Specifies the foreground or background CLUT size.
00225                                       - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
00226 
00227                                       This parameter can be modified afterwards using unitary functions
00228                                       - @ref LL_DMA2D_FGND_SetCLUTSize() for foreground layer,
00229                                       - @ref LL_DMA2D_BGND_SetCLUTSize() for background layer. */
00230 
00231   uint32_t AlphaMode;            /*!< Specifies the foreground or background alpha mode.
00232                                        - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_MODE.
00233 
00234                                       This parameter can be modified afterwards using unitary functions
00235                                       - @ref LL_DMA2D_FGND_SetAlphaMode() for foreground layer,
00236                                       - @ref LL_DMA2D_BGND_SetAlphaMode() for background layer. */
00237 
00238   uint32_t Alpha;                /*!< Specifies the foreground or background Alpha value.
00239                                       - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
00240 
00241                                       This parameter can be modified afterwards using unitary functions
00242                                       - @ref LL_DMA2D_FGND_SetAlpha() for foreground layer,
00243                                       - @ref LL_DMA2D_BGND_SetAlpha() for background layer. */
00244 
00245   uint32_t Blue;                 /*!< Specifies the foreground or background Blue color value.
00246                                       - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
00247 
00248                                       This parameter can be modified afterwards using unitary functions
00249                                       - @ref LL_DMA2D_FGND_SetBlueColor() for foreground layer,
00250                                       - @ref LL_DMA2D_BGND_SetBlueColor() for background layer. */
00251 
00252   uint32_t Green;                /*!< Specifies the foreground or background Green color value.
00253                                       - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
00254 
00255                                       This parameter can be modified afterwards using unitary functions
00256                                       - @ref LL_DMA2D_FGND_SetGreenColor() for foreground layer,
00257                                       - @ref LL_DMA2D_BGND_SetGreenColor() for background layer. */
00258 
00259   uint32_t Red;                  /*!< Specifies the foreground or background Red color value.
00260                                       - This parameter must be a number between Min_Data = 0x00 and Max_Data = 0xFF.
00261 
00262                                       This parameter can be modified afterwards using unitary functions
00263                                       - @ref LL_DMA2D_FGND_SetRedColor() for foreground layer,
00264                                       - @ref LL_DMA2D_BGND_SetRedColor() for background layer. */
00265 
00266   uint32_t CLUTMemoryAddress;    /*!< Specifies the foreground or background CLUT memory address.
00267                                       - This parameter must be a number between:
00268                                         Min_Data = 0x0000 and Max_Data = 0xFFFFFFFF.
00269 
00270                                       This parameter can be modified afterwards using unitary functions
00271                                       - @ref LL_DMA2D_FGND_SetCLUTMemAddr() for foreground layer,
00272                                       - @ref LL_DMA2D_BGND_SetCLUTMemAddr() for background layer. */
00273 
00274   uint32_t AlphaInversionMode;   /*!< Specifies the foreground or background alpha inversion mode.
00275                                       - This parameter can be one value of @ref DMA2D_LL_EC_ALPHA_INVERSION.
00276 
00277                                       This parameter can be modified afterwards using unitary functions
00278                                       - @ref LL_DMA2D_FGND_SetAlphaInvMode() for foreground layer,
00279                                       - @ref LL_DMA2D_BGND_SetAlphaInvMode() for background layer. */
00280 
00281   uint32_t RBSwapMode;           /*!< Specifies the foreground or background Red Blue swap mode.
00282                                       This parameter can be one value of @ref DMA2D_LL_EC_RED_BLUE_SWAP .
00283 
00284                                       This parameter can be modified afterwards using unitary functions
00285                                       - @ref LL_DMA2D_FGND_SetRBSwapMode() for foreground layer,
00286                                       - @ref LL_DMA2D_BGND_SetRBSwapMode() for background layer. */
00287 
00288   uint32_t ChromaSubSampling;   /*!< Configure the chroma sub-sampling mode for the YCbCr color mode
00289                                      This parameter is applicable for foreground layer only.
00290                                      This parameter can be one value of @ref DMA2D_LL_CHROMA_SUB_SAMPLING
00291 
00292                                      This parameter can be modified afterwards using unitary functions
00293                                      - @ref LL_DMA2D_FGND_SetChrSubSampling() for foreground layer. */
00294 
00295 } LL_DMA2D_LayerCfgTypeDef;
00296 
00297 /**
00298   * @brief LL DMA2D Output Color Structure Definition
00299   */
00300 typedef struct
00301 {
00302   uint32_t ColorMode;            /*!< Specifies the color format of the output image.
00303                                       - This parameter can be one value of @ref DMA2D_LL_EC_OUTPUT_COLOR_MODE.
00304 
00305                                       This parameter can be modified afterwards using
00306                     unitary function @ref LL_DMA2D_SetOutputColorMode(). */
00307 
00308   uint32_t OutputBlue;           /*!< Specifies the Blue value of the output image.
00309                                       - This parameter must be a number between:
00310                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00311                                       - This parameter must be a number between:
00312                                         Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
00313                                       - This parameter must be a number between:
00314                                         Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
00315                                       - This parameter must be a number between:
00316                                         Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
00317                                       - This parameter must be a number between:
00318                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00319 
00320                                       This parameter can be modified afterwards using,
00321                                       unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00322                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00323 
00324   uint32_t OutputGreen;          /*!< Specifies the Green value of the output image.
00325                                       - This parameter must be a number between:
00326                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00327                                       - This parameter must be a number between
00328                                         Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
00329                                       - This parameter must be a number between:
00330                                         Min_Data = 0x00 and Max_Data = 0x3F if RGB565 color mode is selected.
00331                                       - This parameter must be a number between:
00332                                         Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
00333                                       - This parameter must be a number between:
00334                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00335 
00336                                       This parameter can be modified afterwards,
00337                                       using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00338                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00339 
00340   uint32_t OutputRed;            /*!< Specifies the Red value of the output image.
00341                                       - This parameter must be a number between:
00342                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00343                                       - This parameter must be a number between:
00344                                         Min_Data = 0x00 and Max_Data = 0xFF if RGB888 color mode is selected.
00345                                       - This parameter must be a number between:
00346                                         Min_Data = 0x00 and Max_Data = 0x1F if RGB565 color mode is selected.
00347                                       - This parameter must be a number between:
00348                                         Min_Data = 0x00 and Max_Data = 0x1F if ARGB1555 color mode is selected.
00349                                       - This parameter must be a number between:
00350                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00351 
00352                                       This parameter can be modified afterwards,
00353                                       using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00354                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00355 
00356   uint32_t OutputAlpha;          /*!< Specifies the Alpha channel of the output image.
00357                                       - This parameter must be a number between:
00358                                         Min_Data = 0x00 and Max_Data = 0xFF if ARGB8888 color mode is selected.
00359                                       - This parameter must be a number between:
00360                                         Min_Data = 0x00 and Max_Data = 0x01 if ARGB1555 color mode is selected.
00361                                       - This parameter must be a number between:
00362                                         Min_Data = 0x00 and Max_Data = 0x0F if ARGB4444 color mode is selected.
00363                                       - This parameter is not considered if RGB888 or RGB565 color mode is selected.
00364 
00365                                       This parameter can be modified afterwards,
00366                                       using unitary function @ref LL_DMA2D_SetOutputColor() or configuration
00367                                       function @ref LL_DMA2D_ConfigOutputColor(). */
00368 
00369 } LL_DMA2D_ColorTypeDef;
00370 
00371 /**
00372   * @}
00373   */
00374 #endif /* USE_FULL_LL_DRIVER */
00375 
00376 /* Exported constants --------------------------------------------------------*/
00377 /** @defgroup DMA2D_LL_Exported_Constants DMA2D Exported Constants
00378   * @{
00379   */
00380 
00381 /** @defgroup DMA2D_LL_EC_GET_FLAG Get Flags Defines
00382   * @brief    Flags defines which can be used with LL_DMA2D_ReadReg function
00383   * @{
00384   */
00385 #define LL_DMA2D_FLAG_CEIF          DMA2D_ISR_CEIF     /*!< Configuration Error Interrupt Flag */
00386 #define LL_DMA2D_FLAG_CTCIF         DMA2D_ISR_CTCIF    /*!< CLUT Transfer Complete Interrupt Flag */
00387 #define LL_DMA2D_FLAG_CAEIF         DMA2D_ISR_CAEIF    /*!< CLUT Access Error Interrupt Flag */
00388 #define LL_DMA2D_FLAG_TWIF          DMA2D_ISR_TWIF     /*!< Transfer Watermark Interrupt Flag */
00389 #define LL_DMA2D_FLAG_TCIF          DMA2D_ISR_TCIF     /*!< Transfer Complete Interrupt Flag */
00390 #define LL_DMA2D_FLAG_TEIF          DMA2D_ISR_TEIF     /*!< Transfer Error Interrupt Flag */
00391 /**
00392   * @}
00393   */
00394 
00395 /** @defgroup DMA2D_LL_EC_IT IT Defines
00396   * @brief    IT defines which can be used with LL_DMA2D_ReadReg and  LL_DMA2D_WriteReg functions
00397   * @{
00398   */
00399 #define LL_DMA2D_IT_CEIE             DMA2D_CR_CEIE    /*!< Configuration Error Interrupt */
00400 #define LL_DMA2D_IT_CTCIE            DMA2D_CR_CTCIE   /*!< CLUT Transfer Complete Interrupt */
00401 #define LL_DMA2D_IT_CAEIE            DMA2D_CR_CAEIE   /*!< CLUT Access Error Interrupt */
00402 #define LL_DMA2D_IT_TWIE             DMA2D_CR_TWIE    /*!< Transfer Watermark Interrupt */
00403 #define LL_DMA2D_IT_TCIE             DMA2D_CR_TCIE    /*!< Transfer Complete Interrupt */
00404 #define LL_DMA2D_IT_TEIE             DMA2D_CR_TEIE    /*!< Transfer Error Interrupt */
00405 /**
00406   * @}
00407   */
00408 
00409 /** @defgroup DMA2D_LL_EC_MODE Mode
00410   * @{
00411   */
00412 #define LL_DMA2D_MODE_M2M                       0x00000000U                       /*!< DMA2D memory to memory transfer mode */
00413 #define LL_DMA2D_MODE_M2M_PFC                   DMA2D_CR_MODE_0                   /*!< DMA2D memory to memory with pixel format conversion transfer mode */
00414 #define LL_DMA2D_MODE_M2M_BLEND                 DMA2D_CR_MODE_1                   /*!< DMA2D memory to memory with blending transfer mode */
00415 #define LL_DMA2D_MODE_R2M                       (DMA2D_CR_MODE_0|DMA2D_CR_MODE_1) /*!< DMA2D register to memory transfer mode */
00416 #define LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG  DMA2D_CR_MODE_2                   /*!< DMA2D memory to memory with blending transfer mode and fixed color foreground */
00417 #define LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG  (DMA2D_CR_MODE_0|DMA2D_CR_MODE_2) /*!< DMA2D memory to memory with blending transfer mode and fixed color background */
00418 /**
00419   * @}
00420   */
00421 
00422 /** @defgroup DMA2D_LL_EC_OUTPUT_COLOR_MODE Output Color Mode
00423   * @{
00424   */
00425 #define LL_DMA2D_OUTPUT_MODE_ARGB8888     0x00000000U                           /*!< ARGB8888 */
00426 #define LL_DMA2D_OUTPUT_MODE_RGB888       DMA2D_OPFCCR_CM_0                     /*!< RGB888   */
00427 #define LL_DMA2D_OUTPUT_MODE_RGB565       DMA2D_OPFCCR_CM_1                     /*!< RGB565   */
00428 #define LL_DMA2D_OUTPUT_MODE_ARGB1555     (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1) /*!< ARGB1555 */
00429 #define LL_DMA2D_OUTPUT_MODE_ARGB4444     DMA2D_OPFCCR_CM_2                     /*!< ARGB4444 */
00430 /**
00431   * @}
00432   */
00433 
00434 /** @defgroup DMA2D_LL_EC_INPUT_COLOR_MODE Input Color Mode
00435   * @{
00436   */
00437 #define LL_DMA2D_INPUT_MODE_ARGB8888      0x00000000U                                                /*!< ARGB8888 */
00438 #define LL_DMA2D_INPUT_MODE_RGB888        DMA2D_FGPFCCR_CM_0                                         /*!< RGB888   */
00439 #define LL_DMA2D_INPUT_MODE_RGB565        DMA2D_FGPFCCR_CM_1                                         /*!< RGB565   */
00440 #define LL_DMA2D_INPUT_MODE_ARGB1555      (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1)                    /*!< ARGB1555 */
00441 #define LL_DMA2D_INPUT_MODE_ARGB4444      DMA2D_FGPFCCR_CM_2                                         /*!< ARGB4444 */
00442 #define LL_DMA2D_INPUT_MODE_L8            (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_2)                    /*!< L8       */
00443 #define LL_DMA2D_INPUT_MODE_AL44          (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2)                    /*!< AL44     */
00444 #define LL_DMA2D_INPUT_MODE_AL88          (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_2) /*!< AL88     */
00445 #define LL_DMA2D_INPUT_MODE_L4            DMA2D_FGPFCCR_CM_3                                         /*!< L4       */
00446 #define LL_DMA2D_INPUT_MODE_A8            (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_3)                    /*!< A8       */
00447 #define LL_DMA2D_INPUT_MODE_A4            (DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_3)                    /*!< A4       */
00448 #define LL_DMA2D_INPUT_MODE_YCBCR         (DMA2D_FGPFCCR_CM_0|DMA2D_FGPFCCR_CM_1|DMA2D_FGPFCCR_CM_3) /*!< YCbCr    */
00449 /**
00450   * @}
00451   */
00452 
00453 /** @defgroup DMA2D_LL_EC_ALPHA_MODE Alpha Mode
00454   * @{
00455   */
00456 #define LL_DMA2D_ALPHA_MODE_NO_MODIF       0x00000000U             /*!< No modification of the alpha channel value */
00457 #define LL_DMA2D_ALPHA_MODE_REPLACE        DMA2D_FGPFCCR_AM_0      /*!< Replace original alpha channel value by
00458                                                                         programmed alpha value                     */
00459 #define LL_DMA2D_ALPHA_MODE_COMBINE        DMA2D_FGPFCCR_AM_1      /*!< Replace original alpha channel value by
00460                                                                         programmed alpha value with,
00461                                                                         original alpha channel value               */
00462 /**
00463   * @}
00464   */
00465 
00466 /** @defgroup DMA2D_LL_EC_OUTPUT_SWAP_MODE Swap Mode
00467   * @{
00468   */
00469 #define LL_DMA2D_SWAP_MODE_REGULAR        0x00000000U                      /*!< Regular order */
00470 #define LL_DMA2D_SWAP_MODE_TWO_BY_TWO     DMA2D_OPFCCR_SB                  /*!< Bytes swapped two by two */
00471 /**
00472   * @}
00473   */
00474 
00475 /** @defgroup DMA2D_LL_EC_RED_BLUE_SWAP Red Blue Swap
00476   * @{
00477   */
00478 #define LL_DMA2D_RB_MODE_REGULAR          0x00000000U                      /*!< RGB or ARGB */
00479 #define LL_DMA2D_RB_MODE_SWAP             DMA2D_FGPFCCR_RBS                /*!< BGR or ABGR */
00480 /**
00481   * @}
00482   */
00483 
00484 /** @defgroup DMA2D_LL_EC_ALPHA_INVERSION Alpha Inversion
00485   * @{
00486   */
00487 #define LL_DMA2D_ALPHA_REGULAR          0x00000000U                     /*!< Regular alpha  */
00488 #define LL_DMA2D_ALPHA_INVERTED         DMA2D_FGPFCCR_AI                /*!< Inverted alpha */
00489 /**
00490   * @}
00491   */
00492 
00493 
00494 /** @defgroup DMA2D_LL_EC_LINE_OFFSET_MODE Line Offset Mode
00495   * @{
00496   */
00497 #define LL_DMA2D_LINE_OFFSET_PIXELS     0x00000000U                     /*!< Line offsets are expressed in pixels  */
00498 #define LL_DMA2D_LINE_OFFSET_BYTES      DMA2D_CR_LOM                    /*!< Line offsets are expressed in bytes   */
00499 /**
00500   * @}
00501   */
00502 
00503 /** @defgroup DMA2D_LL_EC_CLUT_COLOR_MODE CLUT Color Mode
00504   * @{
00505   */
00506 #define LL_DMA2D_CLUT_COLOR_MODE_ARGB8888          0x00000000U                     /*!< ARGB8888 */
00507 #define LL_DMA2D_CLUT_COLOR_MODE_RGB888            DMA2D_FGPFCCR_CCM               /*!< RGB888   */
00508 /**
00509   * @}
00510   */
00511 
00512 /** @defgroup DMA2D_LL_CHROMA_SUB_SAMPLING Chroma Sub Sampling
00513   * @{
00514   */
00515 #define LL_DMA2D_CSS_444              0x00000000U             /*!< No chroma sub-sampling 4:4:4 */
00516 #define LL_DMA2D_CSS_422              DMA2D_FGPFCCR_CSS_0     /*!< chroma sub-sampling 4:2:2 */
00517 #define LL_DMA2D_CSS_420              DMA2D_FGPFCCR_CSS_1     /*!< chroma sub-sampling 4:2:0 */
00518 /**
00519   * @}
00520   */
00521 
00522 /**
00523   * @}
00524   */
00525 
00526 /* Exported macro ------------------------------------------------------------*/
00527 /** @defgroup DMA2D_LL_Exported_Macros DMA2D Exported Macros
00528   * @{
00529   */
00530 
00531 /** @defgroup DMA2D_LL_EM_WRITE_READ Common Write and read registers Macros
00532   * @{
00533   */
00534 
00535 /**
00536   * @brief  Write a value in DMA2D register.
00537   * @param  __INSTANCE__ DMA2D Instance
00538   * @param  __REG__ Register to be written
00539   * @param  __VALUE__ Value to be written in the register
00540   * @retval None
00541   */
00542 #define LL_DMA2D_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG((__INSTANCE__)->__REG__, (__VALUE__))
00543 
00544 /**
00545   * @brief  Read a value in DMA2D register.
00546   * @param  __INSTANCE__ DMA2D Instance
00547   * @param  __REG__ Register to be read
00548   * @retval Register value
00549   */
00550 #define LL_DMA2D_ReadReg(__INSTANCE__, __REG__) READ_REG((__INSTANCE__)->__REG__)
00551 /**
00552   * @}
00553   */
00554 
00555 /**
00556   * @}
00557   */
00558 
00559 /* Exported functions --------------------------------------------------------*/
00560 /** @defgroup DMA2D_LL_Exported_Functions DMA2D Exported Functions
00561   * @{
00562   */
00563 
00564 /** @defgroup DMA2D_LL_EF_Configuration Configuration Functions
00565   * @{
00566   */
00567 
00568 /**
00569   * @brief  Start a DMA2D transfer.
00570   * @rmtoll CR          START            LL_DMA2D_Start
00571   * @param  DMA2Dx DMA2D Instance
00572   * @retval None
00573   */
00574 __STATIC_INLINE void LL_DMA2D_Start(DMA2D_TypeDef *DMA2Dx)
00575 {
00576   SET_BIT(DMA2Dx->CR, DMA2D_CR_START);
00577 }
00578 
00579 /**
00580   * @brief  Indicate if a DMA2D transfer is ongoing.
00581   * @rmtoll CR          START            LL_DMA2D_IsTransferOngoing
00582   * @param  DMA2Dx DMA2D Instance
00583   * @retval State of bit (1 or 0).
00584   */
00585 __STATIC_INLINE uint32_t LL_DMA2D_IsTransferOngoing(DMA2D_TypeDef *DMA2Dx)
00586 {
00587   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_START) == (DMA2D_CR_START)) ? 1UL : 0UL);
00588 }
00589 
00590 /**
00591   * @brief  Suspend DMA2D transfer.
00592   * @note   This API can be used to suspend automatic foreground or background CLUT loading.
00593   * @rmtoll CR          SUSP            LL_DMA2D_Suspend
00594   * @param  DMA2Dx DMA2D Instance
00595   * @retval None
00596   */
00597 __STATIC_INLINE void LL_DMA2D_Suspend(DMA2D_TypeDef *DMA2Dx)
00598 {
00599   MODIFY_REG(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START, DMA2D_CR_SUSP);
00600 }
00601 
00602 /**
00603   * @brief  Resume DMA2D transfer.
00604   * @note   This API can be used to resume automatic foreground or background CLUT loading.
00605   * @rmtoll CR          SUSP            LL_DMA2D_Resume
00606   * @param  DMA2Dx DMA2D Instance
00607   * @retval None
00608   */
00609 __STATIC_INLINE void LL_DMA2D_Resume(DMA2D_TypeDef *DMA2Dx)
00610 {
00611   CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_SUSP | DMA2D_CR_START);
00612 }
00613 
00614 /**
00615   * @brief  Indicate if DMA2D transfer is suspended.
00616   * @note   This API can be used to indicate whether or not automatic foreground or
00617   *         background CLUT loading is suspended.
00618   * @rmtoll CR          SUSP            LL_DMA2D_IsSuspended
00619   * @param  DMA2Dx DMA2D Instance
00620   * @retval State of bit (1 or 0).
00621   */
00622 __STATIC_INLINE uint32_t LL_DMA2D_IsSuspended(DMA2D_TypeDef *DMA2Dx)
00623 {
00624   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_SUSP) == (DMA2D_CR_SUSP)) ? 1UL : 0UL);
00625 }
00626 
00627 /**
00628   * @brief  Abort DMA2D transfer.
00629   * @note   This API can be used to abort automatic foreground or background CLUT loading.
00630   * @rmtoll CR          ABORT            LL_DMA2D_Abort
00631   * @param  DMA2Dx DMA2D Instance
00632   * @retval None
00633   */
00634 __STATIC_INLINE void LL_DMA2D_Abort(DMA2D_TypeDef *DMA2Dx)
00635 {
00636   MODIFY_REG(DMA2Dx->CR, DMA2D_CR_ABORT | DMA2D_CR_START, DMA2D_CR_ABORT);
00637 }
00638 
00639 /**
00640   * @brief  Indicate if DMA2D transfer is aborted.
00641   * @note   This API can be used to indicate whether or not automatic foreground or
00642   *         background CLUT loading is aborted.
00643   * @rmtoll CR          ABORT            LL_DMA2D_IsAborted
00644   * @param  DMA2Dx DMA2D Instance
00645   * @retval State of bit (1 or 0).
00646   */
00647 __STATIC_INLINE uint32_t LL_DMA2D_IsAborted(DMA2D_TypeDef *DMA2Dx)
00648 {
00649   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_ABORT) == (DMA2D_CR_ABORT)) ? 1UL : 0UL);
00650 }
00651 
00652 /**
00653   * @brief  Set DMA2D mode.
00654   * @rmtoll CR          MODE          LL_DMA2D_SetMode
00655   * @param  DMA2Dx DMA2D Instance
00656   * @param  Mode This parameter can be one of the following values:
00657   *         @arg @ref LL_DMA2D_MODE_M2M
00658   *         @arg @ref LL_DMA2D_MODE_M2M_PFC
00659   *         @arg @ref LL_DMA2D_MODE_M2M_BLEND
00660   *         @arg @ref LL_DMA2D_MODE_R2M
00661   *         @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG
00662   *         @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG
00663   * @retval None
00664   */
00665 __STATIC_INLINE void LL_DMA2D_SetMode(DMA2D_TypeDef *DMA2Dx, uint32_t Mode)
00666 {
00667   MODIFY_REG(DMA2Dx->CR, DMA2D_CR_MODE, Mode);
00668 }
00669 
00670 /**
00671   * @brief  Return DMA2D mode
00672   * @rmtoll CR          MODE         LL_DMA2D_GetMode
00673   * @param  DMA2Dx DMA2D Instance
00674   * @retval Returned value can be one of the following values:
00675   *         @arg @ref LL_DMA2D_MODE_M2M
00676   *         @arg @ref LL_DMA2D_MODE_M2M_PFC
00677   *         @arg @ref LL_DMA2D_MODE_M2M_BLEND
00678   *         @arg @ref LL_DMA2D_MODE_R2M
00679   *         @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_FG
00680   *         @arg @ref LL_DMA2D_MODE_M2M_BLEND_FIXED_COLOR_BG
00681   */
00682 __STATIC_INLINE uint32_t LL_DMA2D_GetMode(DMA2D_TypeDef *DMA2Dx)
00683 {
00684   return (uint32_t)(READ_BIT(DMA2Dx->CR, DMA2D_CR_MODE));
00685 }
00686 
00687 /**
00688   * @brief  Set DMA2D output color mode.
00689   * @rmtoll OPFCCR          CM          LL_DMA2D_SetOutputColorMode
00690   * @param  DMA2Dx DMA2D Instance
00691   * @param  ColorMode This parameter can be one of the following values:
00692   *         @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB8888
00693   *         @arg @ref LL_DMA2D_OUTPUT_MODE_RGB888
00694   *         @arg @ref LL_DMA2D_OUTPUT_MODE_RGB565
00695   *         @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB1555
00696   *         @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB4444
00697   * @retval None
00698   */
00699 __STATIC_INLINE void LL_DMA2D_SetOutputColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
00700 {
00701   MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM, ColorMode);
00702 }
00703 
00704 /**
00705   * @brief  Return DMA2D output color mode.
00706   * @rmtoll OPFCCR          CM         LL_DMA2D_GetOutputColorMode
00707   * @param  DMA2Dx DMA2D Instance
00708   * @retval Returned value can be one of the following values:
00709   *         @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB8888
00710   *         @arg @ref LL_DMA2D_OUTPUT_MODE_RGB888
00711   *         @arg @ref LL_DMA2D_OUTPUT_MODE_RGB565
00712   *         @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB1555
00713   *         @arg @ref LL_DMA2D_OUTPUT_MODE_ARGB4444
00714   */
00715 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputColorMode(DMA2D_TypeDef *DMA2Dx)
00716 {
00717   return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_CM));
00718 }
00719 
00720 /**
00721   * @brief  Set DMA2D output Red Blue swap mode.
00722   * @rmtoll OPFCCR          RBS          LL_DMA2D_SetOutputRBSwapMode
00723   * @param  DMA2Dx DMA2D Instance
00724   * @param  RBSwapMode This parameter can be one of the following values:
00725   *         @arg @ref LL_DMA2D_RB_MODE_REGULAR
00726   *         @arg @ref LL_DMA2D_RB_MODE_SWAP
00727   * @retval None
00728   */
00729 __STATIC_INLINE void LL_DMA2D_SetOutputRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode)
00730 {
00731   MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_RBS, RBSwapMode);
00732 }
00733 
00734 /**
00735   * @brief  Return DMA2D output Red Blue swap mode.
00736   * @rmtoll OPFCCR          RBS         LL_DMA2D_GetOutputRBSwapMode
00737   * @param  DMA2Dx DMA2D Instance
00738   * @retval Returned value can be one of the following values:
00739   *         @arg @ref LL_DMA2D_RB_MODE_REGULAR
00740   *         @arg @ref LL_DMA2D_RB_MODE_SWAP
00741   */
00742 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputRBSwapMode(DMA2D_TypeDef *DMA2Dx)
00743 {
00744   return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_RBS));
00745 }
00746 
00747 /**
00748   * @brief  Set DMA2D output alpha inversion mode.
00749   * @rmtoll OPFCCR          AI          LL_DMA2D_SetOutputAlphaInvMode
00750   * @param  DMA2Dx DMA2D Instance
00751   * @param  AlphaInversionMode This parameter can be one of the following values:
00752   *         @arg @ref LL_DMA2D_ALPHA_REGULAR
00753   *         @arg @ref LL_DMA2D_ALPHA_INVERTED
00754   * @retval None
00755   */
00756 __STATIC_INLINE void LL_DMA2D_SetOutputAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode)
00757 {
00758   MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_AI, AlphaInversionMode);
00759 }
00760 
00761 /**
00762   * @brief  Return DMA2D output alpha inversion mode.
00763   * @rmtoll OPFCCR          AI         LL_DMA2D_GetOutputAlphaInvMode
00764   * @param  DMA2Dx DMA2D Instance
00765   * @retval Returned value can be one of the following values:
00766   *         @arg @ref LL_DMA2D_ALPHA_REGULAR
00767   *         @arg @ref LL_DMA2D_ALPHA_INVERTED
00768   */
00769 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputAlphaInvMode(DMA2D_TypeDef *DMA2Dx)
00770 {
00771   return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_AI));
00772 }
00773 
00774 
00775 /**
00776   * @brief  Set DMA2D output swap mode.
00777   * @rmtoll OPFCCR          SB          LL_DMA2D_SetOutputSwapMode
00778   * @param  DMA2Dx DMA2D Instance
00779   * @param  OutputSwapMode This parameter can be one of the following values:
00780   *         @arg @ref LL_DMA2D_SWAP_MODE_REGULAR
00781   *         @arg @ref LL_DMA2D_SWAP_MODE_TWO_BY_TWO
00782   * @retval None
00783   */
00784 __STATIC_INLINE void LL_DMA2D_SetOutputSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t OutputSwapMode)
00785 {
00786   MODIFY_REG(DMA2Dx->OPFCCR, DMA2D_OPFCCR_SB, OutputSwapMode);
00787 }
00788 
00789 /**
00790   * @brief  Return DMA2D output swap mode.
00791   * @rmtoll OPFCCR          SB         LL_DMA2D_GetOutputSwapMode
00792   * @param  DMA2Dx DMA2D Instance
00793   * @retval Returned value can be one of the following values:
00794   *         @arg @ref LL_DMA2D_SWAP_MODE_REGULAR
00795   *         @arg @ref LL_DMA2D_SWAP_MODE_TWO_BY_TWO
00796   */
00797 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputSwapMode(DMA2D_TypeDef *DMA2Dx)
00798 {
00799   return (uint32_t)(READ_BIT(DMA2Dx->OPFCCR, DMA2D_OPFCCR_SB));
00800 }
00801 
00802 /**
00803   * @brief  Set DMA2D line offset mode.
00804   * @rmtoll CR          LOM          LL_DMA2D_SetLineOffsetMode
00805   * @param  DMA2Dx DMA2D Instance
00806   * @param  LineOffsetMode This parameter can be one of the following values:
00807   *         @arg @ref LL_DMA2D_LINE_OFFSET_PIXELS
00808   *         @arg @ref LL_DMA2D_LINE_OFFSET_BYTES
00809   * @retval None
00810   */
00811 __STATIC_INLINE void LL_DMA2D_SetLineOffsetMode(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffsetMode)
00812 {
00813   MODIFY_REG(DMA2Dx->CR, DMA2D_CR_LOM, LineOffsetMode);
00814 }
00815 
00816 /**
00817   * @brief  Return DMA2D line offset mode.
00818   * @rmtoll CR          LOM         LL_DMA2D_GetLineOffsetMode
00819   * @param  DMA2Dx DMA2D Instance
00820   * @retval Returned value can be one of the following values:
00821   *         @arg @ref LL_DMA2D_LINE_OFFSET_PIXELS
00822   *         @arg @ref LL_DMA2D_LINE_OFFSET_BYTES
00823   */
00824 __STATIC_INLINE uint32_t LL_DMA2D_GetLineOffsetMode(DMA2D_TypeDef *DMA2Dx)
00825 {
00826   return (uint32_t)(READ_BIT(DMA2Dx->CR, DMA2D_CR_LOM));
00827 }
00828 
00829 /**
00830   * @brief  Set DMA2D line offset, expressed on 14 bits ([13:0] bits).
00831   * @rmtoll OOR          LO          LL_DMA2D_SetLineOffset
00832   * @param  DMA2Dx DMA2D Instance
00833   * @param  LineOffset Value between Min_Data=0 and Max_Data=0xFFFF
00834   * @retval None
00835   */
00836 __STATIC_INLINE void LL_DMA2D_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
00837 {
00838   MODIFY_REG(DMA2Dx->OOR, DMA2D_OOR_LO, LineOffset);
00839 }
00840 
00841 /**
00842   * @brief  Return DMA2D line offset, expressed on 14 bits ([13:0] bits).
00843   * @rmtoll OOR          LO         LL_DMA2D_GetLineOffset
00844   * @param  DMA2Dx DMA2D Instance
00845   * @retval Line offset value between Min_Data=0 and Max_Data=0xFFFF
00846   */
00847 __STATIC_INLINE uint32_t LL_DMA2D_GetLineOffset(DMA2D_TypeDef *DMA2Dx)
00848 {
00849   return (uint32_t)(READ_BIT(DMA2Dx->OOR, DMA2D_OOR_LO));
00850 }
00851 
00852 /**
00853   * @brief  Set DMA2D number of pixels per lines, expressed on 14 bits ([13:0] bits).
00854   * @rmtoll NLR          PL          LL_DMA2D_SetNbrOfPixelsPerLines
00855   * @param  DMA2Dx DMA2D Instance
00856   * @param  NbrOfPixelsPerLines Value between Min_Data=0 and Max_Data=0x3FFF
00857   * @retval None
00858   */
00859 __STATIC_INLINE void LL_DMA2D_SetNbrOfPixelsPerLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfPixelsPerLines)
00860 {
00861   MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_PL, (NbrOfPixelsPerLines << DMA2D_NLR_PL_Pos));
00862 }
00863 
00864 /**
00865   * @brief  Return DMA2D number of pixels per lines, expressed on 14 bits ([13:0] bits)
00866   * @rmtoll NLR          PL          LL_DMA2D_GetNbrOfPixelsPerLines
00867   * @param  DMA2Dx DMA2D Instance
00868   * @retval Number of pixels per lines value between Min_Data=0 and Max_Data=0x3FFF
00869   */
00870 __STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfPixelsPerLines(DMA2D_TypeDef *DMA2Dx)
00871 {
00872   return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_PL) >> DMA2D_NLR_PL_Pos);
00873 }
00874 
00875 /**
00876   * @brief  Set DMA2D number of lines, expressed on 16 bits ([15:0] bits).
00877   * @rmtoll NLR          NL          LL_DMA2D_SetNbrOfLines
00878   * @param  DMA2Dx DMA2D Instance
00879   * @param  NbrOfLines Value between Min_Data=0 and Max_Data=0xFFFF
00880   * @retval None
00881   */
00882 __STATIC_INLINE void LL_DMA2D_SetNbrOfLines(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines)
00883 {
00884   MODIFY_REG(DMA2Dx->NLR, DMA2D_NLR_NL, NbrOfLines);
00885 }
00886 
00887 /**
00888   * @brief  Return DMA2D number of lines, expressed on 16 bits ([15:0] bits).
00889   * @rmtoll NLR          NL          LL_DMA2D_GetNbrOfLines
00890   * @param  DMA2Dx DMA2D Instance
00891   * @retval Number of lines value between Min_Data=0 and Max_Data=0xFFFF
00892   */
00893 __STATIC_INLINE uint32_t LL_DMA2D_GetNbrOfLines(DMA2D_TypeDef *DMA2Dx)
00894 {
00895   return (uint32_t)(READ_BIT(DMA2Dx->NLR, DMA2D_NLR_NL));
00896 }
00897 
00898 /**
00899   * @brief  Set DMA2D output memory address, expressed on 32 bits ([31:0] bits).
00900   * @rmtoll OMAR          MA          LL_DMA2D_SetOutputMemAddr
00901   * @param  DMA2Dx DMA2D Instance
00902   * @param  OutputMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
00903   * @retval None
00904   */
00905 __STATIC_INLINE void LL_DMA2D_SetOutputMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t OutputMemoryAddress)
00906 {
00907   LL_DMA2D_WriteReg(DMA2Dx, OMAR, OutputMemoryAddress);
00908 }
00909 
00910 /**
00911   * @brief  Get DMA2D output memory address, expressed on 32 bits ([31:0] bits).
00912   * @rmtoll OMAR          MA          LL_DMA2D_GetOutputMemAddr
00913   * @param  DMA2Dx DMA2D Instance
00914   * @retval Output memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
00915   */
00916 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputMemAddr(DMA2D_TypeDef *DMA2Dx)
00917 {
00918   return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, OMAR));
00919 }
00920 
00921 /**
00922   * @brief  Set DMA2D output color, expressed on 32 bits ([31:0] bits).
00923   * @note   Output color format depends on output color mode, ARGB8888, RGB888,
00924   *         RGB565, ARGB1555 or ARGB4444.
00925   * @note LL_DMA2D_ConfigOutputColor() API may be used instead if colors values formatting
00926   *       with respect to color mode is not done by the user code.
00927   * @rmtoll OCOLR        BLUE        LL_DMA2D_SetOutputColor\n
00928   *         OCOLR        GREEN       LL_DMA2D_SetOutputColor\n
00929   *         OCOLR        RED         LL_DMA2D_SetOutputColor\n
00930   *         OCOLR        ALPHA       LL_DMA2D_SetOutputColor
00931   * @param  DMA2Dx DMA2D Instance
00932   * @param  OutputColor Value between Min_Data=0 and Max_Data=0xFFFFFFFF
00933   * @retval None
00934   */
00935 __STATIC_INLINE void LL_DMA2D_SetOutputColor(DMA2D_TypeDef *DMA2Dx, uint32_t OutputColor)
00936 {
00937   MODIFY_REG(DMA2Dx->OCOLR, (DMA2D_OCOLR_BLUE_1 | DMA2D_OCOLR_GREEN_1 | DMA2D_OCOLR_RED_1 | DMA2D_OCOLR_ALPHA_1), \
00938              OutputColor);
00939 }
00940 
00941 /**
00942   * @brief  Get DMA2D output color, expressed on 32 bits ([31:0] bits).
00943   * @note   Alpha channel and red, green, blue color values must be retrieved from the returned
00944   *         value based on the output color mode (ARGB8888, RGB888,  RGB565, ARGB1555 or ARGB4444)
00945   *         as set by @ref LL_DMA2D_SetOutputColorMode.
00946   * @rmtoll OCOLR        BLUE        LL_DMA2D_GetOutputColor\n
00947   *         OCOLR        GREEN       LL_DMA2D_GetOutputColor\n
00948   *         OCOLR        RED         LL_DMA2D_GetOutputColor\n
00949   *         OCOLR        ALPHA       LL_DMA2D_GetOutputColor
00950   * @param  DMA2Dx DMA2D Instance
00951   * @retval Output color value between Min_Data=0 and Max_Data=0xFFFFFFFF
00952   */
00953 __STATIC_INLINE uint32_t LL_DMA2D_GetOutputColor(DMA2D_TypeDef *DMA2Dx)
00954 {
00955   return (uint32_t)(READ_BIT(DMA2Dx->OCOLR, \
00956                              (DMA2D_OCOLR_BLUE_1 | DMA2D_OCOLR_GREEN_1 | DMA2D_OCOLR_RED_1 | DMA2D_OCOLR_ALPHA_1)));
00957 }
00958 
00959 /**
00960   * @brief  Set DMA2D line watermark, expressed on 16 bits ([15:0] bits).
00961   * @rmtoll LWR          LW          LL_DMA2D_SetLineWatermark
00962   * @param  DMA2Dx DMA2D Instance
00963   * @param  LineWatermark Value between Min_Data=0 and Max_Data=0xFFFF
00964   * @retval None
00965   */
00966 __STATIC_INLINE void LL_DMA2D_SetLineWatermark(DMA2D_TypeDef *DMA2Dx, uint32_t LineWatermark)
00967 {
00968   MODIFY_REG(DMA2Dx->LWR, DMA2D_LWR_LW, LineWatermark);
00969 }
00970 
00971 /**
00972   * @brief  Return DMA2D line watermark, expressed on 16 bits ([15:0] bits).
00973   * @rmtoll LWR          LW          LL_DMA2D_GetLineWatermark
00974   * @param  DMA2Dx DMA2D Instance
00975   * @retval Line watermark value between Min_Data=0 and Max_Data=0xFFFF
00976   */
00977 __STATIC_INLINE uint32_t LL_DMA2D_GetLineWatermark(DMA2D_TypeDef *DMA2Dx)
00978 {
00979   return (uint32_t)(READ_BIT(DMA2Dx->LWR, DMA2D_LWR_LW));
00980 }
00981 
00982 /**
00983   * @brief  Set DMA2D dead time, expressed on 8 bits ([7:0] bits).
00984   * @rmtoll AMTCR          DT          LL_DMA2D_SetDeadTime
00985   * @param  DMA2Dx DMA2D Instance
00986   * @param  DeadTime Value between Min_Data=0 and Max_Data=0xFF
00987   * @retval None
00988   */
00989 __STATIC_INLINE void LL_DMA2D_SetDeadTime(DMA2D_TypeDef *DMA2Dx, uint32_t DeadTime)
00990 {
00991   MODIFY_REG(DMA2Dx->AMTCR, DMA2D_AMTCR_DT, (DeadTime << DMA2D_AMTCR_DT_Pos));
00992 }
00993 
00994 /**
00995   * @brief  Return DMA2D dead time, expressed on 8 bits ([7:0] bits).
00996   * @rmtoll AMTCR          DT          LL_DMA2D_GetDeadTime
00997   * @param  DMA2Dx DMA2D Instance
00998   * @retval Dead time value between Min_Data=0 and Max_Data=0xFF
00999   */
01000 __STATIC_INLINE uint32_t LL_DMA2D_GetDeadTime(DMA2D_TypeDef *DMA2Dx)
01001 {
01002   return (uint32_t)(READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_DT) >> DMA2D_AMTCR_DT_Pos);
01003 }
01004 
01005 /**
01006   * @brief  Enable DMA2D dead time functionality.
01007   * @rmtoll AMTCR          EN            LL_DMA2D_EnableDeadTime
01008   * @param  DMA2Dx DMA2D Instance
01009   * @retval None
01010   */
01011 __STATIC_INLINE void LL_DMA2D_EnableDeadTime(DMA2D_TypeDef *DMA2Dx)
01012 {
01013   SET_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN);
01014 }
01015 
01016 /**
01017   * @brief  Disable DMA2D dead time functionality.
01018   * @rmtoll AMTCR          EN            LL_DMA2D_DisableDeadTime
01019   * @param  DMA2Dx DMA2D Instance
01020   * @retval None
01021   */
01022 __STATIC_INLINE void LL_DMA2D_DisableDeadTime(DMA2D_TypeDef *DMA2Dx)
01023 {
01024   CLEAR_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN);
01025 }
01026 
01027 /**
01028   * @brief  Indicate if DMA2D dead time functionality is enabled.
01029   * @rmtoll AMTCR          EN            LL_DMA2D_IsEnabledDeadTime
01030   * @param  DMA2Dx DMA2D Instance
01031   * @retval State of bit (1 or 0).
01032   */
01033 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledDeadTime(DMA2D_TypeDef *DMA2Dx)
01034 {
01035   return ((READ_BIT(DMA2Dx->AMTCR, DMA2D_AMTCR_EN) == (DMA2D_AMTCR_EN)) ? 1UL : 0UL);
01036 }
01037 
01038 /** @defgroup DMA2D_LL_EF_FGND_Configuration Foreground Configuration Functions
01039   * @{
01040   */
01041 
01042 /**
01043   * @brief  Set DMA2D foreground memory address, expressed on 32 bits ([31:0] bits).
01044   * @rmtoll FGMAR          MA          LL_DMA2D_FGND_SetMemAddr
01045   * @param  DMA2Dx DMA2D Instance
01046   * @param  MemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
01047   * @retval None
01048   */
01049 __STATIC_INLINE void LL_DMA2D_FGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress)
01050 {
01051   LL_DMA2D_WriteReg(DMA2Dx, FGMAR, MemoryAddress);
01052 }
01053 
01054 /**
01055   * @brief  Get DMA2D foreground memory address, expressed on 32 bits ([31:0] bits).
01056   * @rmtoll FGMAR          MA          LL_DMA2D_FGND_GetMemAddr
01057   * @param  DMA2Dx DMA2D Instance
01058   * @retval Foreground memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
01059   */
01060 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetMemAddr(DMA2D_TypeDef *DMA2Dx)
01061 {
01062   return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGMAR));
01063 }
01064 
01065 /**
01066   * @brief  Enable DMA2D foreground CLUT loading.
01067   * @rmtoll FGPFCCR          START            LL_DMA2D_FGND_EnableCLUTLoad
01068   * @param  DMA2Dx DMA2D Instance
01069   * @retval None
01070   */
01071 __STATIC_INLINE void LL_DMA2D_FGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx)
01072 {
01073   SET_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START);
01074 }
01075 
01076 /**
01077   * @brief  Indicate if DMA2D foreground CLUT loading is enabled.
01078   * @rmtoll FGPFCCR          START            LL_DMA2D_FGND_IsEnabledCLUTLoad
01079   * @param  DMA2Dx DMA2D Instance
01080   * @retval State of bit (1 or 0).
01081   */
01082 __STATIC_INLINE uint32_t LL_DMA2D_FGND_IsEnabledCLUTLoad(DMA2D_TypeDef *DMA2Dx)
01083 {
01084   return ((READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_START) == (DMA2D_FGPFCCR_START)) ? 1UL : 0UL);
01085 }
01086 
01087 /**
01088   * @brief  Set DMA2D foreground color mode.
01089   * @rmtoll FGPFCCR          CM          LL_DMA2D_FGND_SetColorMode
01090   * @param  DMA2Dx DMA2D Instance
01091   * @param  ColorMode This parameter can be one of the following values:
01092   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
01093   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB888
01094   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB565
01095   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
01096   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
01097   *         @arg @ref LL_DMA2D_INPUT_MODE_L8
01098   *         @arg @ref LL_DMA2D_INPUT_MODE_AL44
01099   *         @arg @ref LL_DMA2D_INPUT_MODE_AL88
01100   *         @arg @ref LL_DMA2D_INPUT_MODE_L4
01101   *         @arg @ref LL_DMA2D_INPUT_MODE_A8
01102   *         @arg @ref LL_DMA2D_INPUT_MODE_A4
01103   * @retval None
01104   */
01105 __STATIC_INLINE void LL_DMA2D_FGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
01106 {
01107   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM, ColorMode);
01108 }
01109 
01110 /**
01111   * @brief  Return DMA2D foreground color mode.
01112   * @rmtoll FGPFCCR          CM         LL_DMA2D_FGND_GetColorMode
01113   * @param  DMA2Dx DMA2D Instance
01114   * @retval Returned value can be one of the following values:
01115   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
01116   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB888
01117   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB565
01118   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
01119   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
01120   *         @arg @ref LL_DMA2D_INPUT_MODE_L8
01121   *         @arg @ref LL_DMA2D_INPUT_MODE_AL44
01122   *         @arg @ref LL_DMA2D_INPUT_MODE_AL88
01123   *         @arg @ref LL_DMA2D_INPUT_MODE_L4
01124   *         @arg @ref LL_DMA2D_INPUT_MODE_A8
01125   *         @arg @ref LL_DMA2D_INPUT_MODE_A4
01126   */
01127 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetColorMode(DMA2D_TypeDef *DMA2Dx)
01128 {
01129   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CM));
01130 }
01131 
01132 /**
01133   * @brief  Set DMA2D foreground alpha mode.
01134   * @rmtoll FGPFCCR          AM          LL_DMA2D_FGND_SetAlphaMode
01135   * @param  DMA2Dx DMA2D Instance
01136   * @param  AphaMode This parameter can be one of the following values:
01137   *         @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
01138   *         @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
01139   *         @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
01140   * @retval None
01141   */
01142 __STATIC_INLINE void LL_DMA2D_FGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode)
01143 {
01144   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM, AphaMode);
01145 }
01146 
01147 /**
01148   * @brief  Return DMA2D foreground alpha mode.
01149   * @rmtoll FGPFCCR          AM         LL_DMA2D_FGND_GetAlphaMode
01150   * @param  DMA2Dx DMA2D Instance
01151   * @retval Returned value can be one of the following values:
01152   *         @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
01153   *         @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
01154   *         @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
01155   */
01156 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlphaMode(DMA2D_TypeDef *DMA2Dx)
01157 {
01158   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AM));
01159 }
01160 
01161 /**
01162   * @brief  Set DMA2D foreground alpha value, expressed on 8 bits ([7:0] bits).
01163   * @rmtoll FGPFCCR          ALPHA          LL_DMA2D_FGND_SetAlpha
01164   * @param  DMA2Dx DMA2D Instance
01165   * @param  Alpha Value between Min_Data=0 and Max_Data=0xFF
01166   * @retval None
01167   */
01168 __STATIC_INLINE void LL_DMA2D_FGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha)
01169 {
01170   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA, (Alpha << DMA2D_FGPFCCR_ALPHA_Pos));
01171 }
01172 
01173 /**
01174   * @brief  Return DMA2D foreground alpha value, expressed on 8 bits ([7:0] bits).
01175   * @rmtoll FGPFCCR          ALPHA         LL_DMA2D_FGND_GetAlpha
01176   * @param  DMA2Dx DMA2D Instance
01177   * @retval Alpha value between Min_Data=0 and Max_Data=0xFF
01178   */
01179 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlpha(DMA2D_TypeDef *DMA2Dx)
01180 {
01181   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_ALPHA) >> DMA2D_FGPFCCR_ALPHA_Pos);
01182 }
01183 
01184 /**
01185   * @brief  Set DMA2D foreground Red Blue swap mode.
01186   * @rmtoll FGPFCCR          RBS          LL_DMA2D_FGND_SetRBSwapMode
01187   * @param  DMA2Dx DMA2D Instance
01188   * @param  RBSwapMode This parameter can be one of the following values:
01189   *         @arg @ref LL_DMA2D_RB_MODE_REGULAR
01190   *         @arg @ref LL_DMA2D_RB_MODE_SWAP
01191   * @retval None
01192   */
01193 __STATIC_INLINE void LL_DMA2D_FGND_SetRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode)
01194 {
01195   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_RBS, RBSwapMode);
01196 }
01197 
01198 /**
01199   * @brief  Return DMA2D foreground Red Blue swap mode.
01200   * @rmtoll FGPFCCR          RBS         LL_DMA2D_FGND_GetRBSwapMode
01201   * @param  DMA2Dx DMA2D Instance
01202   * @retval Returned value can be one of the following values:
01203   *         @arg @ref LL_DMA2D_RB_MODE_REGULAR
01204   *         @arg @ref LL_DMA2D_RB_MODE_SWAP
01205   */
01206 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetRBSwapMode(DMA2D_TypeDef *DMA2Dx)
01207 {
01208   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_RBS));
01209 }
01210 
01211 /**
01212   * @brief  Set DMA2D foreground alpha inversion mode.
01213   * @rmtoll FGPFCCR          AI          LL_DMA2D_FGND_SetAlphaInvMode
01214   * @param  DMA2Dx DMA2D Instance
01215   * @param  AlphaInversionMode This parameter can be one of the following values:
01216   *         @arg @ref LL_DMA2D_ALPHA_REGULAR
01217   *         @arg @ref LL_DMA2D_ALPHA_INVERTED
01218   * @retval None
01219   */
01220 __STATIC_INLINE void LL_DMA2D_FGND_SetAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode)
01221 {
01222   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AI, AlphaInversionMode);
01223 }
01224 
01225 /**
01226   * @brief  Return DMA2D foreground alpha inversion mode.
01227   * @rmtoll FGPFCCR          AI         LL_DMA2D_FGND_GetAlphaInvMode
01228   * @param  DMA2Dx DMA2D Instance
01229   * @retval Returned value can be one of the following values:
01230   *         @arg @ref LL_DMA2D_ALPHA_REGULAR
01231   *         @arg @ref LL_DMA2D_ALPHA_INVERTED
01232   */
01233 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetAlphaInvMode(DMA2D_TypeDef *DMA2Dx)
01234 {
01235   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_AI));
01236 }
01237 
01238 /**
01239   * @brief  Set DMA2D foreground line offset, expressed on 14 bits ([13:0] bits).
01240   * @rmtoll FGOR          LO          LL_DMA2D_FGND_SetLineOffset
01241   * @param  DMA2Dx DMA2D Instance
01242   * @param  LineOffset Value between Min_Data=0 and Max_Data=0x3FF
01243   * @retval None
01244   */
01245 __STATIC_INLINE void LL_DMA2D_FGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
01246 {
01247   MODIFY_REG(DMA2Dx->FGOR, DMA2D_FGOR_LO, LineOffset);
01248 }
01249 
01250 /**
01251   * @brief  Return DMA2D foreground line offset, expressed on 14 bits ([13:0] bits).
01252   * @rmtoll FGOR          LO         LL_DMA2D_FGND_GetLineOffset
01253   * @param  DMA2Dx DMA2D Instance
01254   * @retval Foreground line offset value between Min_Data=0 and Max_Data=0x3FF
01255   */
01256 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetLineOffset(DMA2D_TypeDef *DMA2Dx)
01257 {
01258   return (uint32_t)(READ_BIT(DMA2Dx->FGOR, DMA2D_FGOR_LO));
01259 }
01260 
01261 /**
01262   * @brief  Set DMA2D foreground color values, expressed on 24 bits ([23:0] bits).
01263   * @rmtoll FGCOLR          RED          LL_DMA2D_FGND_SetColor
01264   * @rmtoll FGCOLR          GREEN        LL_DMA2D_FGND_SetColor
01265   * @rmtoll FGCOLR          BLUE         LL_DMA2D_FGND_SetColor
01266   * @param  DMA2Dx DMA2D Instance
01267   * @param  Red   Value between Min_Data=0 and Max_Data=0xFF
01268   * @param  Green Value between Min_Data=0 and Max_Data=0xFF
01269   * @param  Blue  Value between Min_Data=0 and Max_Data=0xFF
01270   * @retval None
01271   */
01272 __STATIC_INLINE void LL_DMA2D_FGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue)
01273 {
01274   MODIFY_REG(DMA2Dx->FGCOLR, (DMA2D_FGCOLR_RED | DMA2D_FGCOLR_GREEN | DMA2D_FGCOLR_BLUE), \
01275              ((Red << DMA2D_FGCOLR_RED_Pos) | (Green << DMA2D_FGCOLR_GREEN_Pos) | Blue));
01276 }
01277 
01278 /**
01279   * @brief  Set DMA2D foreground red color value, expressed on 8 bits ([7:0] bits).
01280   * @rmtoll FGCOLR          RED          LL_DMA2D_FGND_SetRedColor
01281   * @param  DMA2Dx DMA2D Instance
01282   * @param  Red Value between Min_Data=0 and Max_Data=0xFF
01283   * @retval None
01284   */
01285 __STATIC_INLINE void LL_DMA2D_FGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red)
01286 {
01287   MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED, (Red << DMA2D_FGCOLR_RED_Pos));
01288 }
01289 
01290 /**
01291   * @brief  Return DMA2D foreground red color value, expressed on 8 bits ([7:0] bits).
01292   * @rmtoll FGCOLR          RED         LL_DMA2D_FGND_GetRedColor
01293   * @param  DMA2Dx DMA2D Instance
01294   * @retval Red color value between Min_Data=0 and Max_Data=0xFF
01295   */
01296 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetRedColor(DMA2D_TypeDef *DMA2Dx)
01297 {
01298   return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_RED) >> DMA2D_FGCOLR_RED_Pos);
01299 }
01300 
01301 /**
01302   * @brief  Set DMA2D foreground green color value, expressed on 8 bits ([7:0] bits).
01303   * @rmtoll FGCOLR          GREEN          LL_DMA2D_FGND_SetGreenColor
01304   * @param  DMA2Dx DMA2D Instance
01305   * @param  Green Value between Min_Data=0 and Max_Data=0xFF
01306   * @retval None
01307   */
01308 __STATIC_INLINE void LL_DMA2D_FGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green)
01309 {
01310   MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN, (Green << DMA2D_FGCOLR_GREEN_Pos));
01311 }
01312 
01313 /**
01314   * @brief  Return DMA2D foreground green color value, expressed on 8 bits ([7:0] bits).
01315   * @rmtoll FGCOLR          GREEN         LL_DMA2D_FGND_GetGreenColor
01316   * @param  DMA2Dx DMA2D Instance
01317   * @retval Green color value between Min_Data=0 and Max_Data=0xFF
01318   */
01319 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetGreenColor(DMA2D_TypeDef *DMA2Dx)
01320 {
01321   return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_GREEN) >> DMA2D_FGCOLR_GREEN_Pos);
01322 }
01323 
01324 /**
01325   * @brief  Set DMA2D foreground blue color value, expressed on 8 bits ([7:0] bits).
01326   * @rmtoll FGCOLR          BLUE          LL_DMA2D_FGND_SetBlueColor
01327   * @param  DMA2Dx DMA2D Instance
01328   * @param  Blue Value between Min_Data=0 and Max_Data=0xFF
01329   * @retval None
01330   */
01331 __STATIC_INLINE void LL_DMA2D_FGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue)
01332 {
01333   MODIFY_REG(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE, Blue);
01334 }
01335 
01336 /**
01337   * @brief  Return DMA2D foreground blue color value, expressed on 8 bits ([7:0] bits).
01338   * @rmtoll FGCOLR          BLUE         LL_DMA2D_FGND_GetBlueColor
01339   * @param  DMA2Dx DMA2D Instance
01340   * @retval Blue color value between Min_Data=0 and Max_Data=0xFF
01341   */
01342 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetBlueColor(DMA2D_TypeDef *DMA2Dx)
01343 {
01344   return (uint32_t)(READ_BIT(DMA2Dx->FGCOLR, DMA2D_FGCOLR_BLUE));
01345 }
01346 
01347 /**
01348   * @brief  Set DMA2D foreground CLUT memory address, expressed on 32 bits ([31:0] bits).
01349   * @rmtoll FGCMAR          MA          LL_DMA2D_FGND_SetCLUTMemAddr
01350   * @param  DMA2Dx DMA2D Instance
01351   * @param  CLUTMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
01352   * @retval None
01353   */
01354 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress)
01355 {
01356   LL_DMA2D_WriteReg(DMA2Dx, FGCMAR, CLUTMemoryAddress);
01357 }
01358 
01359 /**
01360   * @brief  Get DMA2D foreground CLUT memory address, expressed on 32 bits ([31:0] bits).
01361   * @rmtoll FGCMAR          MA          LL_DMA2D_FGND_GetCLUTMemAddr
01362   * @param  DMA2Dx DMA2D Instance
01363   * @retval Foreground CLUT memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
01364   */
01365 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx)
01366 {
01367   return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, FGCMAR));
01368 }
01369 
01370 /**
01371   * @brief  Set DMA2D foreground CLUT size, expressed on 8 bits ([7:0] bits).
01372   * @rmtoll FGPFCCR          CS          LL_DMA2D_FGND_SetCLUTSize
01373   * @param  DMA2Dx DMA2D Instance
01374   * @param  CLUTSize Value between Min_Data=0 and Max_Data=0xFF
01375   * @retval None
01376   */
01377 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize)
01378 {
01379   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS, (CLUTSize << DMA2D_FGPFCCR_CS_Pos));
01380 }
01381 
01382 /**
01383   * @brief  Get DMA2D foreground CLUT size, expressed on 8 bits ([7:0] bits).
01384   * @rmtoll FGPFCCR          CS          LL_DMA2D_FGND_GetCLUTSize
01385   * @param  DMA2Dx DMA2D Instance
01386   * @retval Foreground CLUT size value between Min_Data=0 and Max_Data=0xFF
01387   */
01388 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTSize(DMA2D_TypeDef *DMA2Dx)
01389 {
01390   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CS) >> DMA2D_FGPFCCR_CS_Pos);
01391 }
01392 
01393 /**
01394   * @brief  Set DMA2D foreground CLUT color mode.
01395   * @rmtoll FGPFCCR          CCM          LL_DMA2D_FGND_SetCLUTColorMode
01396   * @param  DMA2Dx DMA2D Instance
01397   * @param  CLUTColorMode This parameter can be one of the following values:
01398   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
01399   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
01400   * @retval None
01401   */
01402 __STATIC_INLINE void LL_DMA2D_FGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode)
01403 {
01404   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM, CLUTColorMode);
01405 }
01406 
01407 /**
01408   * @brief  Return DMA2D foreground CLUT color mode.
01409   * @rmtoll FGPFCCR          CCM         LL_DMA2D_FGND_GetCLUTColorMode
01410   * @param  DMA2Dx DMA2D Instance
01411   * @retval Returned value can be one of the following values:
01412   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
01413   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
01414   */
01415 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetCLUTColorMode(DMA2D_TypeDef *DMA2Dx)
01416 {
01417   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CCM));
01418 }
01419 
01420 /**
01421   * @brief  Set DMA2D foreground Chroma Sub Sampling (for YCbCr input color mode).
01422   * @rmtoll FGPFCCR          CSS          LL_DMA2D_FGND_SetChrSubSampling
01423   * @param  DMA2Dx DMA2D Instance
01424   * @param  ChromaSubSampling This parameter can be one of the following values:
01425   *         @arg @ref LL_DMA2D_CSS_444
01426   *         @arg @ref LL_DMA2D_CSS_422
01427   *         @arg @ref LL_DMA2D_CSS_420
01428   * @retval None
01429   */
01430 __STATIC_INLINE void LL_DMA2D_FGND_SetChrSubSampling(DMA2D_TypeDef *DMA2Dx, uint32_t ChromaSubSampling)
01431 {
01432   MODIFY_REG(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CSS, ChromaSubSampling);
01433 }
01434 
01435 /**
01436   * @brief  Return DMA2D foreground Chroma Sub Sampling (for YCbCr input color mode).
01437   * @rmtoll FGPFCCR          CSS         LL_DMA2D_FGND_GetChrSubSampling
01438   * @param  DMA2Dx DMA2D Instance
01439   * @retval Returned value can be one of the following values:
01440   *         @arg @ref LL_DMA2D_CSS_444
01441   *         @arg @ref LL_DMA2D_CSS_422
01442   *         @arg @ref LL_DMA2D_CSS_420
01443   */
01444 __STATIC_INLINE uint32_t LL_DMA2D_FGND_GetChrSubSampling(DMA2D_TypeDef *DMA2Dx)
01445 {
01446   return (uint32_t)(READ_BIT(DMA2Dx->FGPFCCR, DMA2D_FGPFCCR_CSS));
01447 }
01448 /**
01449   * @}
01450   */
01451 
01452 /** @defgroup DMA2D_LL_EF_BGND_Configuration Background Configuration Functions
01453   * @{
01454   */
01455 
01456 /**
01457   * @brief  Set DMA2D background memory address, expressed on 32 bits ([31:0] bits).
01458   * @rmtoll BGMAR          MA          LL_DMA2D_BGND_SetMemAddr
01459   * @param  DMA2Dx DMA2D Instance
01460   * @param  MemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
01461   * @retval None
01462   */
01463 __STATIC_INLINE void LL_DMA2D_BGND_SetMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t MemoryAddress)
01464 {
01465   LL_DMA2D_WriteReg(DMA2Dx, BGMAR, MemoryAddress);
01466 }
01467 
01468 /**
01469   * @brief  Get DMA2D background memory address, expressed on 32 bits ([31:0] bits).
01470   * @rmtoll BGMAR          MA          LL_DMA2D_BGND_GetMemAddr
01471   * @param  DMA2Dx DMA2D Instance
01472   * @retval Background memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
01473   */
01474 __STATIC_INLINE uint32_t LL_DMA2D_BGND_GetMemAddr(DMA2D_TypeDef *DMA2Dx)
01475 {
01476   return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGMAR));
01477 }
01478 
01479 /**
01480   * @brief  Enable DMA2D background CLUT loading.
01481   * @rmtoll BGPFCCR          START            LL_DMA2D_BGND_EnableCLUTLoad
01482   * @param  DMA2Dx DMA2D Instance
01483   * @retval None
01484   */
01485 __STATIC_INLINE void LL_DMA2D_BGND_EnableCLUTLoad(DMA2D_TypeDef *DMA2Dx)
01486 {
01487   SET_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START);
01488 }
01489 
01490 /**
01491   * @brief  Indicate if DMA2D background CLUT loading is enabled.
01492   * @rmtoll BGPFCCR          START            LL_DMA2D_BGND_IsEnabledCLUTLoad
01493   * @param  DMA2Dx DMA2D Instance
01494   * @retval State of bit (1 or 0).
01495   */
01496 __STATIC_INLINE uint32_t LL_DMA2D_BGND_IsEnabledCLUTLoad(DMA2D_TypeDef *DMA2Dx)
01497 {
01498   return ((READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_START) == (DMA2D_BGPFCCR_START)) ? 1UL : 0UL);
01499 }
01500 
01501 /**
01502   * @brief  Set DMA2D background color mode.
01503   * @rmtoll BGPFCCR          CM          LL_DMA2D_BGND_SetColorMode
01504   * @param  DMA2Dx DMA2D Instance
01505   * @param  ColorMode This parameter can be one of the following values:
01506   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
01507   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB888
01508   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB565
01509   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
01510   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
01511   *         @arg @ref LL_DMA2D_INPUT_MODE_L8
01512   *         @arg @ref LL_DMA2D_INPUT_MODE_AL44
01513   *         @arg @ref LL_DMA2D_INPUT_MODE_AL88
01514   *         @arg @ref LL_DMA2D_INPUT_MODE_L4
01515   *         @arg @ref LL_DMA2D_INPUT_MODE_A8
01516   *         @arg @ref LL_DMA2D_INPUT_MODE_A4
01517   * @retval None
01518   */
01519 __STATIC_INLINE void LL_DMA2D_BGND_SetColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode)
01520 {
01521   MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM, ColorMode);
01522 }
01523 
01524 /**
01525   * @brief  Return DMA2D background color mode.
01526   * @rmtoll BGPFCCR          CM          LL_DMA2D_BGND_GetColorMode
01527   * @param  DMA2Dx DMA2D Instance
01528   * @retval Returned value can be one of the following values:
01529   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB8888
01530   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB888
01531   *         @arg @ref LL_DMA2D_INPUT_MODE_RGB565
01532   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB1555
01533   *         @arg @ref LL_DMA2D_INPUT_MODE_ARGB4444
01534   *         @arg @ref LL_DMA2D_INPUT_MODE_L8
01535   *         @arg @ref LL_DMA2D_INPUT_MODE_AL44
01536   *         @arg @ref LL_DMA2D_INPUT_MODE_AL88
01537   *         @arg @ref LL_DMA2D_INPUT_MODE_L4
01538   *         @arg @ref LL_DMA2D_INPUT_MODE_A8
01539   *         @arg @ref LL_DMA2D_INPUT_MODE_A4
01540   */
01541 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetColorMode(DMA2D_TypeDef *DMA2Dx)
01542 {
01543   return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CM));
01544 }
01545 
01546 /**
01547   * @brief  Set DMA2D background alpha mode.
01548   * @rmtoll BGPFCCR          AM         LL_DMA2D_BGND_SetAlphaMode
01549   * @param  DMA2Dx DMA2D Instance
01550   * @param  AphaMode This parameter can be one of the following values:
01551   *         @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
01552   *         @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
01553   *         @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
01554   * @retval None
01555   */
01556 __STATIC_INLINE void LL_DMA2D_BGND_SetAlphaMode(DMA2D_TypeDef *DMA2Dx, uint32_t AphaMode)
01557 {
01558   MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM, AphaMode);
01559 }
01560 
01561 /**
01562   * @brief  Return DMA2D background alpha mode.
01563   * @rmtoll BGPFCCR          AM          LL_DMA2D_BGND_GetAlphaMode
01564   * @param  DMA2Dx DMA2D Instance
01565   * @retval Returned value can be one of the following values:
01566   *         @arg @ref LL_DMA2D_ALPHA_MODE_NO_MODIF
01567   *         @arg @ref LL_DMA2D_ALPHA_MODE_REPLACE
01568   *         @arg @ref LL_DMA2D_ALPHA_MODE_COMBINE
01569   */
01570 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetAlphaMode(DMA2D_TypeDef *DMA2Dx)
01571 {
01572   return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AM));
01573 }
01574 
01575 /**
01576   * @brief  Set DMA2D background alpha value, expressed on 8 bits ([7:0] bits).
01577   * @rmtoll BGPFCCR          ALPHA         LL_DMA2D_BGND_SetAlpha
01578   * @param  DMA2Dx DMA2D Instance
01579   * @param  Alpha Value between Min_Data=0 and Max_Data=0xFF
01580   * @retval None
01581   */
01582 __STATIC_INLINE void LL_DMA2D_BGND_SetAlpha(DMA2D_TypeDef *DMA2Dx, uint32_t Alpha)
01583 {
01584   MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA, (Alpha << DMA2D_BGPFCCR_ALPHA_Pos));
01585 }
01586 
01587 /**
01588   * @brief  Return DMA2D background alpha value, expressed on 8 bits ([7:0] bits).
01589   * @rmtoll BGPFCCR          ALPHA          LL_DMA2D_BGND_GetAlpha
01590   * @param  DMA2Dx DMA2D Instance
01591   * @retval Alpha value between Min_Data=0 and Max_Data=0xFF
01592   */
01593 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetAlpha(DMA2D_TypeDef *DMA2Dx)
01594 {
01595   return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_ALPHA) >> DMA2D_BGPFCCR_ALPHA_Pos);
01596 }
01597 
01598 /**
01599   * @brief  Set DMA2D background Red Blue swap mode.
01600   * @rmtoll BGPFCCR          RBS         LL_DMA2D_BGND_SetRBSwapMode
01601   * @param  DMA2Dx DMA2D Instance
01602   * @param  RBSwapMode This parameter can be one of the following values:
01603   *         @arg @ref LL_DMA2D_RB_MODE_REGULAR
01604   *         @arg @ref LL_DMA2D_RB_MODE_SWAP
01605   * @retval None
01606   */
01607 __STATIC_INLINE void LL_DMA2D_BGND_SetRBSwapMode(DMA2D_TypeDef *DMA2Dx, uint32_t RBSwapMode)
01608 {
01609   MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_RBS, RBSwapMode);
01610 }
01611 
01612 /**
01613   * @brief  Return DMA2D background Red Blue swap mode.
01614   * @rmtoll BGPFCCR          RBS          LL_DMA2D_BGND_GetRBSwapMode
01615   * @param  DMA2Dx DMA2D Instance
01616   * @retval Returned value can be one of the following values:
01617   *         @arg @ref LL_DMA2D_RB_MODE_REGULAR
01618   *         @arg @ref LL_DMA2D_RB_MODE_SWAP
01619   */
01620 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetRBSwapMode(DMA2D_TypeDef *DMA2Dx)
01621 {
01622   return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_RBS));
01623 }
01624 
01625 /**
01626   * @brief  Set DMA2D background alpha inversion mode.
01627   * @rmtoll BGPFCCR          AI         LL_DMA2D_BGND_SetAlphaInvMode
01628   * @param  DMA2Dx DMA2D Instance
01629   * @param  AlphaInversionMode This parameter can be one of the following values:
01630   *         @arg @ref LL_DMA2D_ALPHA_REGULAR
01631   *         @arg @ref LL_DMA2D_ALPHA_INVERTED
01632   * @retval None
01633   */
01634 __STATIC_INLINE void LL_DMA2D_BGND_SetAlphaInvMode(DMA2D_TypeDef *DMA2Dx, uint32_t AlphaInversionMode)
01635 {
01636   MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AI, AlphaInversionMode);
01637 }
01638 
01639 /**
01640   * @brief  Return DMA2D background alpha inversion mode.
01641   * @rmtoll BGPFCCR          AI          LL_DMA2D_BGND_GetAlphaInvMode
01642   * @param  DMA2Dx DMA2D Instance
01643   * @retval Returned value can be one of the following values:
01644   *         @arg @ref LL_DMA2D_ALPHA_REGULAR
01645   *         @arg @ref LL_DMA2D_ALPHA_INVERTED
01646   */
01647 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetAlphaInvMode(DMA2D_TypeDef *DMA2Dx)
01648 {
01649   return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_AI));
01650 }
01651 
01652 /**
01653   * @brief  Set DMA2D background line offset, expressed on 14 bits ([13:0] bits).
01654   * @rmtoll BGOR          LO         LL_DMA2D_BGND_SetLineOffset
01655   * @param  DMA2Dx DMA2D Instance
01656   * @param  LineOffset Value between Min_Data=0 and Max_Data=0x3FF
01657   * @retval None
01658   */
01659 __STATIC_INLINE void LL_DMA2D_BGND_SetLineOffset(DMA2D_TypeDef *DMA2Dx, uint32_t LineOffset)
01660 {
01661   MODIFY_REG(DMA2Dx->BGOR, DMA2D_BGOR_LO, LineOffset);
01662 }
01663 
01664 /**
01665   * @brief  Return DMA2D background line offset, expressed on 14 bits ([13:0] bits).
01666   * @rmtoll BGOR          LO          LL_DMA2D_BGND_GetLineOffset
01667   * @param  DMA2Dx DMA2D Instance
01668   * @retval Background line offset value between Min_Data=0 and Max_Data=0x3FF
01669   */
01670 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetLineOffset(DMA2D_TypeDef *DMA2Dx)
01671 {
01672   return (uint32_t)(READ_BIT(DMA2Dx->BGOR, DMA2D_BGOR_LO));
01673 }
01674 
01675 /**
01676   * @brief  Set DMA2D background color values, expressed on 24 bits ([23:0] bits).
01677   * @rmtoll BGCOLR          RED          LL_DMA2D_BGND_SetColor
01678   * @rmtoll BGCOLR          GREEN        LL_DMA2D_BGND_SetColor
01679   * @rmtoll BGCOLR          BLUE         LL_DMA2D_BGND_SetColor
01680   * @param  DMA2Dx DMA2D Instance
01681   * @param  Red   Value between Min_Data=0 and Max_Data=0xFF
01682   * @param  Green Value between Min_Data=0 and Max_Data=0xFF
01683   * @param  Blue  Value between Min_Data=0 and Max_Data=0xFF
01684   * @retval None
01685   */
01686 __STATIC_INLINE void LL_DMA2D_BGND_SetColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red, uint32_t Green, uint32_t Blue)
01687 {
01688   MODIFY_REG(DMA2Dx->BGCOLR, (DMA2D_BGCOLR_RED | DMA2D_BGCOLR_GREEN | DMA2D_BGCOLR_BLUE), \
01689              ((Red << DMA2D_BGCOLR_RED_Pos) | (Green << DMA2D_BGCOLR_GREEN_Pos) | Blue));
01690 }
01691 
01692 /**
01693   * @brief  Set DMA2D background red color value, expressed on 8 bits ([7:0] bits).
01694   * @rmtoll BGCOLR          RED         LL_DMA2D_BGND_SetRedColor
01695   * @param  DMA2Dx DMA2D Instance
01696   * @param  Red Value between Min_Data=0 and Max_Data=0xFF
01697   * @retval None
01698   */
01699 __STATIC_INLINE void LL_DMA2D_BGND_SetRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t Red)
01700 {
01701   MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED, (Red << DMA2D_BGCOLR_RED_Pos));
01702 }
01703 
01704 /**
01705   * @brief  Return DMA2D background red color value, expressed on 8 bits ([7:0] bits).
01706   * @rmtoll BGCOLR          RED          LL_DMA2D_BGND_GetRedColor
01707   * @param  DMA2Dx DMA2D Instance
01708   * @retval Red color value between Min_Data=0 and Max_Data=0xFF
01709   */
01710 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetRedColor(DMA2D_TypeDef *DMA2Dx)
01711 {
01712   return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_RED) >> DMA2D_BGCOLR_RED_Pos);
01713 }
01714 
01715 /**
01716   * @brief  Set DMA2D background green color value, expressed on 8 bits ([7:0] bits).
01717   * @rmtoll BGCOLR          GREEN         LL_DMA2D_BGND_SetGreenColor
01718   * @param  DMA2Dx DMA2D Instance
01719   * @param  Green Value between Min_Data=0 and Max_Data=0xFF
01720   * @retval None
01721   */
01722 __STATIC_INLINE void LL_DMA2D_BGND_SetGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t Green)
01723 {
01724   MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN, (Green << DMA2D_BGCOLR_GREEN_Pos));
01725 }
01726 
01727 /**
01728   * @brief  Return DMA2D background green color value, expressed on 8 bits ([7:0] bits).
01729   * @rmtoll BGCOLR          GREEN          LL_DMA2D_BGND_GetGreenColor
01730   * @param  DMA2Dx DMA2D Instance
01731   * @retval Green color value between Min_Data=0 and Max_Data=0xFF
01732   */
01733 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetGreenColor(DMA2D_TypeDef *DMA2Dx)
01734 {
01735   return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_GREEN) >> DMA2D_BGCOLR_GREEN_Pos);
01736 }
01737 
01738 /**
01739   * @brief  Set DMA2D background blue color value, expressed on 8 bits ([7:0] bits).
01740   * @rmtoll BGCOLR          BLUE         LL_DMA2D_BGND_SetBlueColor
01741   * @param  DMA2Dx DMA2D Instance
01742   * @param  Blue Value between Min_Data=0 and Max_Data=0xFF
01743   * @retval None
01744   */
01745 __STATIC_INLINE void LL_DMA2D_BGND_SetBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t Blue)
01746 {
01747   MODIFY_REG(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE, Blue);
01748 }
01749 
01750 /**
01751   * @brief  Return DMA2D background blue color value, expressed on 8 bits ([7:0] bits).
01752   * @rmtoll BGCOLR          BLUE          LL_DMA2D_BGND_GetBlueColor
01753   * @param  DMA2Dx DMA2D Instance
01754   * @retval Blue color value between Min_Data=0 and Max_Data=0xFF
01755   */
01756 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetBlueColor(DMA2D_TypeDef *DMA2Dx)
01757 {
01758   return (uint32_t)(READ_BIT(DMA2Dx->BGCOLR, DMA2D_BGCOLR_BLUE));
01759 }
01760 
01761 /**
01762   * @brief  Set DMA2D background CLUT memory address, expressed on 32 bits ([31:0] bits).
01763   * @rmtoll BGCMAR          MA         LL_DMA2D_BGND_SetCLUTMemAddr
01764   * @param  DMA2Dx DMA2D Instance
01765   * @param  CLUTMemoryAddress Value between Min_Data=0 and Max_Data=0xFFFFFFFF
01766   * @retval None
01767   */
01768 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTMemoryAddress)
01769 {
01770   LL_DMA2D_WriteReg(DMA2Dx, BGCMAR, CLUTMemoryAddress);
01771 }
01772 
01773 /**
01774   * @brief  Get DMA2D background CLUT memory address, expressed on 32 bits ([31:0] bits).
01775   * @rmtoll BGCMAR          MA           LL_DMA2D_BGND_GetCLUTMemAddr
01776   * @param  DMA2Dx DMA2D Instance
01777   * @retval Background CLUT memory address value between Min_Data=0 and Max_Data=0xFFFFFFFF
01778   */
01779 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetCLUTMemAddr(DMA2D_TypeDef *DMA2Dx)
01780 {
01781   return (uint32_t)(LL_DMA2D_ReadReg(DMA2Dx, BGCMAR));
01782 }
01783 
01784 /**
01785   * @brief  Set DMA2D background CLUT size, expressed on 8 bits ([7:0] bits).
01786   * @rmtoll BGPFCCR          CS         LL_DMA2D_BGND_SetCLUTSize
01787   * @param  DMA2Dx DMA2D Instance
01788   * @param  CLUTSize Value between Min_Data=0 and Max_Data=0xFF
01789   * @retval None
01790   */
01791 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTSize(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTSize)
01792 {
01793   MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS, (CLUTSize << DMA2D_BGPFCCR_CS_Pos));
01794 }
01795 
01796 /**
01797   * @brief  Get DMA2D background CLUT size, expressed on 8 bits ([7:0] bits).
01798   * @rmtoll BGPFCCR          CS           LL_DMA2D_BGND_GetCLUTSize
01799   * @param  DMA2Dx DMA2D Instance
01800   * @retval Background CLUT size value between Min_Data=0 and Max_Data=0xFF
01801   */
01802 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetCLUTSize(DMA2D_TypeDef *DMA2Dx)
01803 {
01804   return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CS) >> DMA2D_BGPFCCR_CS_Pos);
01805 }
01806 
01807 /**
01808   * @brief  Set DMA2D background CLUT color mode.
01809   * @rmtoll BGPFCCR          CCM         LL_DMA2D_BGND_SetCLUTColorMode
01810   * @param  DMA2Dx DMA2D Instance
01811   * @param  CLUTColorMode This parameter can be one of the following values:
01812   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
01813   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
01814   * @retval None
01815   */
01816 __STATIC_INLINE void LL_DMA2D_BGND_SetCLUTColorMode(DMA2D_TypeDef *DMA2Dx, uint32_t CLUTColorMode)
01817 {
01818   MODIFY_REG(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM, CLUTColorMode);
01819 }
01820 
01821 /**
01822   * @brief  Return DMA2D background CLUT color mode.
01823   * @rmtoll BGPFCCR          CCM          LL_DMA2D_BGND_GetCLUTColorMode
01824   * @param  DMA2Dx DMA2D Instance
01825   * @retval Returned value can be one of the following values:
01826   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_ARGB8888
01827   *         @arg @ref LL_DMA2D_CLUT_COLOR_MODE_RGB888
01828   */
01829 __STATIC_INLINE uint32_t  LL_DMA2D_BGND_GetCLUTColorMode(DMA2D_TypeDef *DMA2Dx)
01830 {
01831   return (uint32_t)(READ_BIT(DMA2Dx->BGPFCCR, DMA2D_BGPFCCR_CCM));
01832 }
01833 
01834 /**
01835   * @}
01836   */
01837 
01838 /**
01839   * @}
01840   */
01841 
01842 
01843 /** @defgroup DMA2D_LL_EF_FLAG_MANAGEMENT Flag Management
01844   * @{
01845   */
01846 
01847 /**
01848   * @brief  Check if the DMA2D Configuration Error Interrupt Flag is set or not
01849   * @rmtoll ISR          CEIF            LL_DMA2D_IsActiveFlag_CE
01850   * @param  DMA2Dx DMA2D Instance
01851   * @retval State of bit (1 or 0).
01852   */
01853 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CE(DMA2D_TypeDef *DMA2Dx)
01854 {
01855   return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CEIF) == (DMA2D_ISR_CEIF)) ? 1UL : 0UL);
01856 }
01857 
01858 /**
01859   * @brief  Check if the DMA2D CLUT Transfer Complete Interrupt Flag is set or not
01860   * @rmtoll ISR          CTCIF            LL_DMA2D_IsActiveFlag_CTC
01861   * @param  DMA2Dx DMA2D Instance
01862   * @retval State of bit (1 or 0).
01863   */
01864 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CTC(DMA2D_TypeDef *DMA2Dx)
01865 {
01866   return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CTCIF) == (DMA2D_ISR_CTCIF)) ? 1UL : 0UL);
01867 }
01868 
01869 /**
01870   * @brief  Check if the DMA2D CLUT Access Error Interrupt Flag is set or not
01871   * @rmtoll ISR          CAEIF            LL_DMA2D_IsActiveFlag_CAE
01872   * @param  DMA2Dx DMA2D Instance
01873   * @retval State of bit (1 or 0).
01874   */
01875 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_CAE(DMA2D_TypeDef *DMA2Dx)
01876 {
01877   return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_CAEIF) == (DMA2D_ISR_CAEIF)) ? 1UL : 0UL);
01878 }
01879 
01880 /**
01881   * @brief  Check if the DMA2D Transfer Watermark Interrupt Flag is set or not
01882   * @rmtoll ISR          TWIF            LL_DMA2D_IsActiveFlag_TW
01883   * @param  DMA2Dx DMA2D Instance
01884   * @retval State of bit (1 or 0).
01885   */
01886 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TW(DMA2D_TypeDef *DMA2Dx)
01887 {
01888   return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TWIF) == (DMA2D_ISR_TWIF)) ? 1UL : 0UL);
01889 }
01890 
01891 /**
01892   * @brief  Check if the DMA2D Transfer Complete Interrupt Flag is set or not
01893   * @rmtoll ISR          TCIF            LL_DMA2D_IsActiveFlag_TC
01894   * @param  DMA2Dx DMA2D Instance
01895   * @retval State of bit (1 or 0).
01896   */
01897 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TC(DMA2D_TypeDef *DMA2Dx)
01898 {
01899   return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TCIF) == (DMA2D_ISR_TCIF)) ? 1UL : 0UL);
01900 }
01901 
01902 /**
01903   * @brief  Check if the DMA2D Transfer Error Interrupt Flag is set or not
01904   * @rmtoll ISR          TEIF            LL_DMA2D_IsActiveFlag_TE
01905   * @param  DMA2Dx DMA2D Instance
01906   * @retval State of bit (1 or 0).
01907   */
01908 __STATIC_INLINE uint32_t LL_DMA2D_IsActiveFlag_TE(DMA2D_TypeDef *DMA2Dx)
01909 {
01910   return ((READ_BIT(DMA2Dx->ISR, DMA2D_ISR_TEIF) == (DMA2D_ISR_TEIF)) ? 1UL : 0UL);
01911 }
01912 
01913 /**
01914   * @brief  Clear DMA2D Configuration Error Interrupt Flag
01915   * @rmtoll IFCR          CCEIF          LL_DMA2D_ClearFlag_CE
01916   * @param  DMA2Dx DMA2D Instance
01917   * @retval None
01918   */
01919 __STATIC_INLINE void LL_DMA2D_ClearFlag_CE(DMA2D_TypeDef *DMA2Dx)
01920 {
01921   WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCEIF);
01922 }
01923 
01924 /**
01925   * @brief  Clear DMA2D CLUT Transfer Complete Interrupt Flag
01926   * @rmtoll IFCR          CCTCIF          LL_DMA2D_ClearFlag_CTC
01927   * @param  DMA2Dx DMA2D Instance
01928   * @retval None
01929   */
01930 __STATIC_INLINE void LL_DMA2D_ClearFlag_CTC(DMA2D_TypeDef *DMA2Dx)
01931 {
01932   WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CCTCIF);
01933 }
01934 
01935 /**
01936   * @brief  Clear DMA2D CLUT Access Error Interrupt Flag
01937   * @rmtoll IFCR          CAECIF          LL_DMA2D_ClearFlag_CAE
01938   * @param  DMA2Dx DMA2D Instance
01939   * @retval None
01940   */
01941 __STATIC_INLINE void LL_DMA2D_ClearFlag_CAE(DMA2D_TypeDef *DMA2Dx)
01942 {
01943   WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CAECIF);
01944 }
01945 
01946 /**
01947   * @brief  Clear DMA2D Transfer Watermark Interrupt Flag
01948   * @rmtoll IFCR          CTWIF          LL_DMA2D_ClearFlag_TW
01949   * @param  DMA2Dx DMA2D Instance
01950   * @retval None
01951   */
01952 __STATIC_INLINE void LL_DMA2D_ClearFlag_TW(DMA2D_TypeDef *DMA2Dx)
01953 {
01954   WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTWIF);
01955 }
01956 
01957 /**
01958   * @brief  Clear DMA2D Transfer Complete Interrupt Flag
01959   * @rmtoll IFCR          CTCIF          LL_DMA2D_ClearFlag_TC
01960   * @param  DMA2Dx DMA2D Instance
01961   * @retval None
01962   */
01963 __STATIC_INLINE void LL_DMA2D_ClearFlag_TC(DMA2D_TypeDef *DMA2Dx)
01964 {
01965   WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTCIF);
01966 }
01967 
01968 /**
01969   * @brief  Clear DMA2D Transfer Error Interrupt Flag
01970   * @rmtoll IFCR          CTEIF          LL_DMA2D_ClearFlag_TE
01971   * @param  DMA2Dx DMA2D Instance
01972   * @retval None
01973   */
01974 __STATIC_INLINE void LL_DMA2D_ClearFlag_TE(DMA2D_TypeDef *DMA2Dx)
01975 {
01976   WRITE_REG(DMA2Dx->IFCR, DMA2D_IFCR_CTEIF);
01977 }
01978 
01979 /**
01980   * @}
01981   */
01982 
01983 /** @defgroup DMA2D_LL_EF_IT_MANAGEMENT Interruption Management
01984   * @{
01985   */
01986 
01987 /**
01988   * @brief  Enable Configuration Error Interrupt
01989   * @rmtoll CR          CEIE        LL_DMA2D_EnableIT_CE
01990   * @param  DMA2Dx DMA2D Instance
01991   * @retval None
01992   */
01993 __STATIC_INLINE void LL_DMA2D_EnableIT_CE(DMA2D_TypeDef *DMA2Dx)
01994 {
01995   SET_BIT(DMA2Dx->CR, DMA2D_CR_CEIE);
01996 }
01997 
01998 /**
01999   * @brief  Enable CLUT Transfer Complete Interrupt
02000   * @rmtoll CR          CTCIE        LL_DMA2D_EnableIT_CTC
02001   * @param  DMA2Dx DMA2D Instance
02002   * @retval None
02003   */
02004 __STATIC_INLINE void LL_DMA2D_EnableIT_CTC(DMA2D_TypeDef *DMA2Dx)
02005 {
02006   SET_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE);
02007 }
02008 
02009 /**
02010   * @brief  Enable CLUT Access Error Interrupt
02011   * @rmtoll CR          CAEIE        LL_DMA2D_EnableIT_CAE
02012   * @param  DMA2Dx DMA2D Instance
02013   * @retval None
02014   */
02015 __STATIC_INLINE void LL_DMA2D_EnableIT_CAE(DMA2D_TypeDef *DMA2Dx)
02016 {
02017   SET_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE);
02018 }
02019 
02020 /**
02021   * @brief  Enable Transfer Watermark Interrupt
02022   * @rmtoll CR          TWIE        LL_DMA2D_EnableIT_TW
02023   * @param  DMA2Dx DMA2D Instance
02024   * @retval None
02025   */
02026 __STATIC_INLINE void LL_DMA2D_EnableIT_TW(DMA2D_TypeDef *DMA2Dx)
02027 {
02028   SET_BIT(DMA2Dx->CR, DMA2D_CR_TWIE);
02029 }
02030 
02031 /**
02032   * @brief  Enable Transfer Complete Interrupt
02033   * @rmtoll CR          TCIE        LL_DMA2D_EnableIT_TC
02034   * @param  DMA2Dx DMA2D Instance
02035   * @retval None
02036   */
02037 __STATIC_INLINE void LL_DMA2D_EnableIT_TC(DMA2D_TypeDef *DMA2Dx)
02038 {
02039   SET_BIT(DMA2Dx->CR, DMA2D_CR_TCIE);
02040 }
02041 
02042 /**
02043   * @brief  Enable Transfer Error Interrupt
02044   * @rmtoll CR          TEIE        LL_DMA2D_EnableIT_TE
02045   * @param  DMA2Dx DMA2D Instance
02046   * @retval None
02047   */
02048 __STATIC_INLINE void LL_DMA2D_EnableIT_TE(DMA2D_TypeDef *DMA2Dx)
02049 {
02050   SET_BIT(DMA2Dx->CR, DMA2D_CR_TEIE);
02051 }
02052 
02053 /**
02054   * @brief  Disable Configuration Error Interrupt
02055   * @rmtoll CR          CEIE        LL_DMA2D_DisableIT_CE
02056   * @param  DMA2Dx DMA2D Instance
02057   * @retval None
02058   */
02059 __STATIC_INLINE void LL_DMA2D_DisableIT_CE(DMA2D_TypeDef *DMA2Dx)
02060 {
02061   CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CEIE);
02062 }
02063 
02064 /**
02065   * @brief  Disable CLUT Transfer Complete Interrupt
02066   * @rmtoll CR          CTCIE        LL_DMA2D_DisableIT_CTC
02067   * @param  DMA2Dx DMA2D Instance
02068   * @retval None
02069   */
02070 __STATIC_INLINE void LL_DMA2D_DisableIT_CTC(DMA2D_TypeDef *DMA2Dx)
02071 {
02072   CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE);
02073 }
02074 
02075 /**
02076   * @brief  Disable CLUT Access Error Interrupt
02077   * @rmtoll CR          CAEIE        LL_DMA2D_DisableIT_CAE
02078   * @param  DMA2Dx DMA2D Instance
02079   * @retval None
02080   */
02081 __STATIC_INLINE void LL_DMA2D_DisableIT_CAE(DMA2D_TypeDef *DMA2Dx)
02082 {
02083   CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE);
02084 }
02085 
02086 /**
02087   * @brief  Disable Transfer Watermark Interrupt
02088   * @rmtoll CR          TWIE        LL_DMA2D_DisableIT_TW
02089   * @param  DMA2Dx DMA2D Instance
02090   * @retval None
02091   */
02092 __STATIC_INLINE void LL_DMA2D_DisableIT_TW(DMA2D_TypeDef *DMA2Dx)
02093 {
02094   CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TWIE);
02095 }
02096 
02097 /**
02098   * @brief  Disable Transfer Complete Interrupt
02099   * @rmtoll CR          TCIE        LL_DMA2D_DisableIT_TC
02100   * @param  DMA2Dx DMA2D Instance
02101   * @retval None
02102   */
02103 __STATIC_INLINE void LL_DMA2D_DisableIT_TC(DMA2D_TypeDef *DMA2Dx)
02104 {
02105   CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TCIE);
02106 }
02107 
02108 /**
02109   * @brief  Disable Transfer Error Interrupt
02110   * @rmtoll CR          TEIE        LL_DMA2D_DisableIT_TE
02111   * @param  DMA2Dx DMA2D Instance
02112   * @retval None
02113   */
02114 __STATIC_INLINE void LL_DMA2D_DisableIT_TE(DMA2D_TypeDef *DMA2Dx)
02115 {
02116   CLEAR_BIT(DMA2Dx->CR, DMA2D_CR_TEIE);
02117 }
02118 
02119 /**
02120   * @brief  Check if the DMA2D Configuration Error interrupt source is enabled or disabled.
02121   * @rmtoll CR          CEIE        LL_DMA2D_IsEnabledIT_CE
02122   * @param  DMA2Dx DMA2D Instance
02123   * @retval State of bit (1 or 0).
02124   */
02125 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CE(DMA2D_TypeDef *DMA2Dx)
02126 {
02127   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CEIE) == (DMA2D_CR_CEIE)) ? 1UL : 0UL);
02128 }
02129 
02130 /**
02131   * @brief  Check if the DMA2D CLUT Transfer Complete interrupt source is enabled or disabled.
02132   * @rmtoll CR          CTCIE        LL_DMA2D_IsEnabledIT_CTC
02133   * @param  DMA2Dx DMA2D Instance
02134   * @retval State of bit (1 or 0).
02135   */
02136 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CTC(DMA2D_TypeDef *DMA2Dx)
02137 {
02138   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CTCIE) == (DMA2D_CR_CTCIE)) ? 1UL : 0UL);
02139 }
02140 
02141 /**
02142   * @brief  Check if the DMA2D CLUT Access Error interrupt source is enabled or disabled.
02143   * @rmtoll CR          CAEIE        LL_DMA2D_IsEnabledIT_CAE
02144   * @param  DMA2Dx DMA2D Instance
02145   * @retval State of bit (1 or 0).
02146   */
02147 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_CAE(DMA2D_TypeDef *DMA2Dx)
02148 {
02149   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_CAEIE) == (DMA2D_CR_CAEIE)) ? 1UL : 0UL);
02150 }
02151 
02152 /**
02153   * @brief  Check if the DMA2D Transfer Watermark interrupt source is enabled or disabled.
02154   * @rmtoll CR          TWIE        LL_DMA2D_IsEnabledIT_TW
02155   * @param  DMA2Dx DMA2D Instance
02156   * @retval State of bit (1 or 0).
02157   */
02158 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TW(DMA2D_TypeDef *DMA2Dx)
02159 {
02160   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TWIE) == (DMA2D_CR_TWIE)) ? 1UL : 0UL);
02161 }
02162 
02163 /**
02164   * @brief  Check if the DMA2D Transfer Complete interrupt source is enabled or disabled.
02165   * @rmtoll CR          TCIE        LL_DMA2D_IsEnabledIT_TC
02166   * @param  DMA2Dx DMA2D Instance
02167   * @retval State of bit (1 or 0).
02168   */
02169 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TC(DMA2D_TypeDef *DMA2Dx)
02170 {
02171   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TCIE) == (DMA2D_CR_TCIE)) ? 1UL : 0UL);
02172 }
02173 
02174 /**
02175   * @brief  Check if the DMA2D Transfer Error interrupt source is enabled or disabled.
02176   * @rmtoll CR          TEIE        LL_DMA2D_IsEnabledIT_TE
02177   * @param  DMA2Dx DMA2D Instance
02178   * @retval State of bit (1 or 0).
02179   */
02180 __STATIC_INLINE uint32_t LL_DMA2D_IsEnabledIT_TE(DMA2D_TypeDef *DMA2Dx)
02181 {
02182   return ((READ_BIT(DMA2Dx->CR, DMA2D_CR_TEIE) == (DMA2D_CR_TEIE)) ? 1UL : 0UL);
02183 }
02184 
02185 
02186 
02187 /**
02188   * @}
02189   */
02190 
02191 #if defined(USE_FULL_LL_DRIVER)
02192 /** @defgroup DMA2D_LL_EF_Init_Functions Initialization and De-initialization Functions
02193   * @{
02194   */
02195 
02196 ErrorStatus LL_DMA2D_DeInit(DMA2D_TypeDef *DMA2Dx);
02197 ErrorStatus LL_DMA2D_Init(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_InitTypeDef *DMA2D_InitStruct);
02198 void LL_DMA2D_StructInit(LL_DMA2D_InitTypeDef *DMA2D_InitStruct);
02199 void LL_DMA2D_ConfigLayer(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg, uint32_t LayerIdx);
02200 void LL_DMA2D_LayerCfgStructInit(LL_DMA2D_LayerCfgTypeDef *DMA2D_LayerCfg);
02201 void LL_DMA2D_ConfigOutputColor(DMA2D_TypeDef *DMA2Dx, LL_DMA2D_ColorTypeDef *DMA2D_ColorStruct);
02202 uint32_t LL_DMA2D_GetOutputBlueColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
02203 uint32_t LL_DMA2D_GetOutputGreenColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
02204 uint32_t LL_DMA2D_GetOutputRedColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
02205 uint32_t LL_DMA2D_GetOutputAlphaColor(DMA2D_TypeDef *DMA2Dx, uint32_t ColorMode);
02206 void LL_DMA2D_ConfigSize(DMA2D_TypeDef *DMA2Dx, uint32_t NbrOfLines, uint32_t NbrOfPixelsPerLines);
02207 
02208 /**
02209   * @}
02210   */
02211 #endif /* USE_FULL_LL_DRIVER */
02212 
02213 /**
02214   * @}
02215   */
02216 
02217 /**
02218   * @}
02219   */
02220 
02221 #endif /* defined (DMA2D) */
02222 
02223 /**
02224   * @}
02225   */
02226 
02227 #ifdef __cplusplus
02228 }
02229 #endif
02230 
02231 #endif /* STM32H7xx_LL_DMA2D_H */