@@ -79,10 +79,14 @@ typedef struct
7979 */
8080typedef struct
8181{
82- uint32_t PixelPerLines ; /*!< The number of pixel per lines of the Scaler */
83- uint32_t NumberOfLines ; /*!< The number of lines of the Scaler */
82+ uint32_t PixelPerLines ; /*!< Source width, in pixels, to be processed by the scaler */
83+ uint32_t NumberOfLines ; /*!< Source height, in lines, to be processed by the scaler */
8484 uint16_t VRatio ; /*!< The Vertical scaling Ratio */
85+ uint16_t VRatioDiv ; /*!< The Vertical scaling Ratio divider: The output height is computed
86+ from NumberOfLines * VRatio / VRatioDiv */
8587 uint16_t HRatio ; /*!< Horizontal scaling Ratio */
88+ uint16_t HRatioDiv ; /*!< Horizontal scaling Ratio divider: The output width is computed
89+ from PixelPerLines * HRatio / HRatioDiv */
8690 uint32_t VPhase ; /*!< Vertical Phase (This allows partial redrawing of scaled images) */
8791 uint32_t HPhase ; /*!< Horizontal Phase (This allows partial redrawing of scaled images) */
8892} DMA2D_DownscalingCfgTypeDef ;
@@ -344,8 +348,8 @@ typedef void (*pDMA2D_CL_GeneralPurposeEventCallbackTypeDef)(DMA2D_CL_HandleType
344348#define DMA2D_OUTPUT_RGB565 DMA2D_OPFCCR_CM_1 /*!< RGB565 DMA2D color mode */
345349#define DMA2D_OUTPUT_ARGB1555 (DMA2D_OPFCCR_CM_0|DMA2D_OPFCCR_CM_1) /*!< ARGB1555 DMA2D color mode */
346350#define DMA2D_OUTPUT_ARGB4444 DMA2D_OPFCCR_CM_2 /*!< ARGB4444 DMA2D color mode */
347- #define DMA2D_OUTPUT_ARGB2222 (DMA2D_OPFCCR_CM_1 | DMA2D_OPFCCR_CM_2 | DMA2D_OPFCCR_CM_3)
348- /*!< ARGB2222 DMA2D color mode */
351+ #define DMA2D_OUTPUT_ARGB2222 (DMA2D_OPFCCR_CM_1 | DMA2D_OPFCCR_CM_2 | DMA2D_OPFCCR_CM_3) /*!< ARGB2222
352+ DMA2D color mode */
349353/**
350354 * @}
351355 */
@@ -899,7 +903,30 @@ HAL_DMA2D_StateTypeDef HAL_DMA2D_GetState(const DMA2D_HandleTypeDef *hdma2d);
899903uint32_t HAL_DMA2D_GetError (const DMA2D_HandleTypeDef * hdma2d );
900904#endif /* USE_DMA2D_COMMAND_LIST_MODE == 0 */
901905#if (USE_DMA2D_COMMAND_LIST_MODE == 1 )
902- /** @addtogroup DMA2D_Exported_Functions_Group5 IO operation functions
906+ /** @addtogroup DMA2D_Exported_Functions_Group5 DMA2D Command List (CL) functions
907+ * @brief DMA2D Command List mode exported functions
908+ *
909+ @verbatim
910+ ===============================================================================
911+ ##### Command List (CL) mode functions #####
912+ ===============================================================================
913+ [..] This section provides functions allowing to:
914+ (+) Initialize and de-initialize the DMA2D in Command List mode
915+ using HAL_DMA2D_CL_Init() and HAL_DMA2D_CL_DeInit().
916+ (+) Build command lists using APIs such as
917+ HAL_DMA2D_CL_Init_CommandList(), HAL_DMA2D_CL_AddConfigLayerCMD(),
918+ HAL_DMA2D_CL_AddConfigRotationCMD(), HAL_DMA2D_CL_AddConfigStencilCMD(),
919+ HAL_DMA2D_CL_AddConfigDownscalingCMD(),
920+ HAL_DMA2D_CL_AddProgramLineEventCMD(), HAL_DMA2D_CL_AddCopyCMD(),
921+ HAL_DMA2D_CL_AddBlendingCMD(), HAL_DMA2D_CL_AddCLUTStartLoadCMD().
922+ (+) Insert prepared command lists into the ring buffer and start
923+ execution using HAL_DMA2D_CL_InsertCommandList(), HAL_DMA2D_CL_Start()
924+ and HAL_DMA2D_CL_StartOpt().
925+ (+) Handle DMA2D CL interrupts through HAL_DMA2D_CL_IRQHandler() and
926+ related callbacks, and control execution using
927+ HAL_DMA2D_CL_Suspend(), HAL_DMA2D_CL_Resume() and HAL_DMA2D_CL_Abort().
928+
929+ @endverbatim
903930 * @{
904931 */
905932HAL_StatusTypeDef HAL_DMA2D_CL_Init (DMA2D_CL_HandleTypeDef * hdma2d );
@@ -914,9 +941,13 @@ HAL_StatusTypeDef HAL_DMA2D_CL_RegisterCallback(DMA2D_CL_HandleTypeDef *hdma2d,
914941 pDMA2D_CL_CallbackTypeDef pCallback );
915942HAL_StatusTypeDef HAL_DMA2D_CL_UnRegisterCallback (DMA2D_CL_HandleTypeDef * hdma2d ,
916943 HAL_DMA2D_CL_CallbackIDTypeDef CallbackID );
917- HAL_StatusTypeDef HAL_DMA2D_CL_Register_GeneralPurposeEvent_Callback (DMA2D_CL_HandleTypeDef * hdma2d , HAL_DMA2D_CL_CallbackIDTypeDef CallbackID ,
918- pDMA2D_CL_GeneralPurposeEventCallbackTypeDef pCallback );
919- HAL_StatusTypeDef HAL_DMA2D_CL_UnRegister_GeneralPurposeEvent_Callback (DMA2D_CL_HandleTypeDef * hdma2d , HAL_DMA2D_CL_CallbackIDTypeDef CallbackID );
944+ HAL_StatusTypeDef HAL_DMA2D_CL_Register_GeneralPurposeEvent_Callback (DMA2D_CL_HandleTypeDef * hdma2d ,
945+ HAL_DMA2D_CL_CallbackIDTypeDef
946+ CallbackID ,
947+ pDMA2D_CL_GeneralPurposeEventCallbackTypeDef
948+ pCallback );
949+ HAL_StatusTypeDef HAL_DMA2D_CL_UnRegister_GeneralPurposeEvent_Callback (DMA2D_CL_HandleTypeDef * hdma2d ,
950+ HAL_DMA2D_CL_CallbackIDTypeDef CallbackID );
920951#endif /* USE_HAL_DMA2D_REGISTER_CALLBACKS */
921952
922953
@@ -936,18 +967,19 @@ HAL_StatusTypeDef HAL_DMA2D_CL_AddConfigLayerCMD(DMA2D_CL_HandleTypeDef *hdma2d,
936967HAL_StatusTypeDef HAL_DMA2D_CL_AddConfigRotationCMD (DMA2D_CL_HandleTypeDef * hdma2d , uint32_t Source ,
937968 uint32_t Mirroring_Type );
938969HAL_StatusTypeDef HAL_DMA2D_CL_AddConfigStencilCMD (DMA2D_CL_HandleTypeDef * hdma2d , uint32_t Source ,
939- DMA2D_StencilCfgTypeDef * pStencilCfg );
970+ DMA2D_StencilCfgTypeDef * pStencilCfg );
940971HAL_StatusTypeDef HAL_DMA2D_CL_AddConfigDownscalingCMD (DMA2D_CL_HandleTypeDef * hdma2d , uint32_t Source ,
941972 DMA2D_DownscalingCfgTypeDef * pDownscalingCfg );
942973HAL_StatusTypeDef HAL_DMA2D_CL_AddProgramLineEventCMD (DMA2D_CL_HandleTypeDef * hdma2d , uint32_t Line );
943- HAL_StatusTypeDef HAL_DMA2D_CL_AddCLUTStartLoadCMD (DMA2D_CL_HandleTypeDef * hdma2d ,uint32_t LayerIdx ,
944- const DMA2D_CLUTCfgTypeDef * CLUTCfg ,
945- DMA2D_CL_CommandListTypeDef * pCommandList );
974+ HAL_StatusTypeDef HAL_DMA2D_CL_AddCLUTStartLoadCMD (DMA2D_CL_HandleTypeDef * hdma2d , uint32_t LayerIdx ,
975+ const DMA2D_CLUTCfgTypeDef * CLUTCfg ,
976+ DMA2D_CL_CommandListTypeDef * pCommandList );
946977HAL_StatusTypeDef HAL_DMA2D_CL_AddCopyCMD (DMA2D_CL_HandleTypeDef * hdma2d , uint32_t pdata , uint32_t DstAddress ,
947- uint32_t Width , uint32_t Height , DMA2D_CL_CommandListTypeDef * pCommandList );
978+ uint32_t Width , uint32_t Height ,
979+ DMA2D_CL_CommandListTypeDef * pCommandList );
948980HAL_StatusTypeDef HAL_DMA2D_CL_AddBlendingCMD (DMA2D_CL_HandleTypeDef * hdma2d , uint32_t SrcAddress1 ,
949981 uint32_t SrcAddress2 , uint32_t DstAddress , uint32_t Width ,
950- uint32_t Height ,DMA2D_CL_CommandListTypeDef * pCommandList );
982+ uint32_t Height ,DMA2D_CL_CommandListTypeDef * pCommandList );
951983HAL_StatusTypeDef HAL_DMA2D_CL_Init_CommandList (uint32_t * Address , uint32_t Size ,
952984 DMA2D_CL_CommandListTypeDef * pCommandList );
953985HAL_StatusTypeDef HAL_DMA2D_CL_ResetIndex (DMA2D_CL_CommandListTypeDef * pCommandList );
0 commit comments