306 uint32_t unitIntervalx4;
319 assert_param(IS_DSI_AUTO_CLKLANE_CONTROL(hdsi->Init.AutomaticClockLaneControl));
320 assert_param(IS_DSI_NUMBER_OF_LANES(hdsi->Init.NumberOfLanes));
322 #if (USE_HAL_DSI_REGISTER_CALLBACKS == 1) 330 if (hdsi->MspInitCallback == NULL)
335 hdsi->MspInitCallback(hdsi);
351 __HAL_DSI_REG_ENABLE(hdsi);
357 while (__HAL_DSI_GET_FLAG(hdsi, DSI_FLAG_RRS) == 0U)
360 if ((
HAL_GetTick() - tickstart) > DSI_TIMEOUT_VALUE)
367 hdsi->Instance->WRPCR &= ~(DSI_WRPCR_PLL_NDIV | DSI_WRPCR_PLL_IDF | DSI_WRPCR_PLL_ODF);
368 hdsi->Instance->WRPCR |= (((PLLInit->
PLLNDIV) << 2U) | ((PLLInit->
PLLIDF) << 11U) | ((PLLInit->
PLLODF) << 16U));
371 __HAL_DSI_PLL_ENABLE(hdsi);
377 while (__HAL_DSI_GET_FLAG(hdsi, DSI_FLAG_PLLLS) == 0U)
380 if ((
HAL_GetTick() - tickstart) > DSI_TIMEOUT_VALUE)
389 hdsi->Instance->PCTLR |= (DSI_PCTLR_CKE | DSI_PCTLR_DEN);
392 hdsi->Instance->CLCR &= ~(DSI_CLCR_DPCC | DSI_CLCR_ACR);
393 hdsi->Instance->CLCR |= (DSI_CLCR_DPCC | hdsi->Init.AutomaticClockLaneControl);
396 hdsi->Instance->PCONFR &= ~DSI_PCONFR_NL;
397 hdsi->Instance->PCONFR |= hdsi->Init.NumberOfLanes;
402 hdsi->Instance->CCR &= ~DSI_CCR_TXECKDIV;
403 hdsi->Instance->CCR |= hdsi->Init.TXEscapeCkdiv;
408 tempIDF = (PLLInit->
PLLIDF > 0U) ? PLLInit->
PLLIDF : 1U;
409 unitIntervalx4 = (4000000U * tempIDF * ((1UL << (0x3U & PLLInit->
PLLODF)))) / ((HSE_VALUE / 1000U) * PLLInit->
PLLNDIV);
412 hdsi->Instance->WPCR[0U] &= ~DSI_WPCR0_UIX4;
413 hdsi->Instance->WPCR[0U] |= unitIntervalx4;
418 hdsi->Instance->IER[0U] = 0U;
419 hdsi->Instance->IER[1U] = 0U;
423 hdsi->ErrorCode = HAL_DSI_ERROR_NONE;
uint32_t HAL_GetTick(void)
Provide a tick value in millisecond.
__weak void HAL_DSI_MspInit(DSI_HandleTypeDef *hdsi)
Initializes the DSI MSP.
__weak void HAL_DSI_EndOfRefreshCallback(DSI_HandleTypeDef *hdsi)
End of Refresh DSI callback.
__weak void HAL_DSI_TearingEffectCallback(DSI_HandleTypeDef *hdsi)
Tearing Effect DSI callback.
assert_param(IS_RTC_WAKEUP_CLOCK(WakeUpClock))
__weak void HAL_DSI_ErrorCallback(DSI_HandleTypeDef *hdsi)
Operation Error DSI callback.