XilinxProcessorIPLib/drivers/vprocss/src/xvprocss.c
void XVprocSs_Reset(XVprocSs *InstancePtr)
{
  /* Verify arguments */
  Xil_AssertVoid(InstancePtr != NULL);

  /* Soft Reset */
  XVprocSs_VdmaReset(InstancePtr);

  /* Reset All IP Blocks on AXIS interface and wait before doing the aximm reset*/
  XVprocSs_ResetBlock(InstancePtr->RstAxisPtr,  GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_ALL_BLOCKS);
  WaitUs(InstancePtr, 100); /* hold reset line for 100us before resetting Aximm */

  /* Reset All IP Blocks on AXI-MM interface*/
  XVprocSs_ResetBlock(InstancePtr->RstAximmPtr, GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_IP_AXIMM);

   WaitUs(InstancePtr, 100); /* hold reset line for 100us */
  /*
   * Make sure the video IP's are out of reset - IP's cannot be programmed when held
   * in reset. Will cause Axi-Lite bus to lock.
   * Release IP reset - but hold vid_in in reset
   */
  XVprocSs_EnableBlock(InstancePtr->RstAximmPtr, GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_IP_AXIMM);
  WaitUs(InstancePtr, 1000); /* wait 1ms for AXI-MM to stabilize */
  XVprocSs_EnableBlock(InstancePtr->RstAxisPtr,  GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_IP_AXIS);
  WaitUs(InstancePtr, 1000); /* wait 1ms for AXIS to stabilize */

  /* Reset start core flags */
  memset(InstancePtr->CtxtData.StartCore, 0, sizeof(InstancePtr->CtxtData.StartCore));

  XVprocSs_LogWrite(InstancePtr, XVPROCSS_EVT_RESET_VPSS, XVPROCSS_EDAT_SUCCESS);
}
/*****************************************************************************/
/**
* This function resets the video subsystem sub-cores. There are 2 reset
* networks within the subsystem
*  - For cores that are on AXIS interface
*  - For cores that are on AXI-MM interface
*
* @param  InstancePtr is a pointer to the Subsystem instance to be worked on.
*
* @return None
*
*   XVprocSs_Reset,_Start controls vpss resets as shown
*    axis_int ----_______________________--------------------------------
*    axis_ext ----________________________________________________-------
*    aximm    -----------_______-----------------------------------------
*                 | 100us| 100us| 1000us | 1000us |               |
*            _Reset...............................|               |
*                                                  Program VSPP IP|
*                                                            _Start
*
******************************************************************************/
This function resets the video subsystem sub-cores. There are 2 reset
networks within the subsystem
For cores that are on AXIS interface
For cores that are on AXI-MM interface
This function resets the video subsystem sub - cores . There are 2 reset networks within the subsystem For cores that are on AXIS interface For cores that are on AXI - MM interface
void XVprocSs_Reset(XVprocSs *InstancePtr)
{
  Xil_AssertVoid(InstancePtr != NULL);
  XVprocSs_VdmaReset(InstancePtr);
  XVprocSs_ResetBlock(InstancePtr->RstAxisPtr,  GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_ALL_BLOCKS);
  WaitUs(InstancePtr, 100); 
  XVprocSs_ResetBlock(InstancePtr->RstAximmPtr, GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_IP_AXIMM);
   WaitUs(InstancePtr, 100); 
  XVprocSs_EnableBlock(InstancePtr->RstAximmPtr, GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_IP_AXIMM);
  WaitUs(InstancePtr, 1000); 
  XVprocSs_EnableBlock(InstancePtr->RstAxisPtr,  GPIO_CH_RESET_SEL, XVPROCSS_RSTMASK_IP_AXIS);
  WaitUs(InstancePtr, 1000); 
  memset(InstancePtr->CtxtData.StartCore, 0, sizeof(InstancePtr->CtxtData.StartCore));
  XVprocSs_LogWrite(InstancePtr, XVPROCSS_EVT_RESET_VPSS, XVPROCSS_EDAT_SUCCESS);
}
void XVprocSs_Reset ( XVprocSs * InstancePtr ) { Xil_AssertVoid ( InstancePtr != NULL ) ; XVprocSs_VdmaReset ( InstancePtr ) ; XVprocSs_ResetBlock ( InstancePtr -> RstAxisPtr , GPIO_CH_RESET_SEL , XVPROCSS_RSTMASK_ALL_BLOCKS ) ; WaitUs ( InstancePtr , 100 ) ; XVprocSs_ResetBlock ( InstancePtr -> RstAximmPtr , GPIO_CH_RESET_SEL , XVPROCSS_RSTMASK_IP_AXIMM ) ; WaitUs ( InstancePtr , 100 ) ; XVprocSs_EnableBlock ( InstancePtr -> RstAximmPtr , GPIO_CH_RESET_SEL , XVPROCSS_RSTMASK_IP_AXIMM ) ; WaitUs ( InstancePtr , 1000 ) ; XVprocSs_EnableBlock ( InstancePtr -> RstAxisPtr , GPIO_CH_RESET_SEL , XVPROCSS_RSTMASK_IP_AXIS ) ; WaitUs ( InstancePtr , 1000 ) ; memset ( InstancePtr -> CtxtData . StartCore , 0 , sizeof ( InstancePtr -> CtxtData . StartCore ) ) ; XVprocSs_LogWrite ( InstancePtr , XVPROCSS_EVT_RESET_VPSS , XVPROCSS_EDAT_SUCCESS ) ; }
This function resets the video subsystem sub-cores.
This function resets the video subsystem sub - cores .
/* Verify arguments */ /* Soft Reset */ /* Reset All IP Blocks on AXIS interface and wait before doing the aximm reset*/ /* hold reset line for 100us before resetting Aximm */ /* Reset All IP Blocks on AXI-MM interface*/ /* hold reset line for 100us */ /*
   * Make sure the video IP's are out of reset - IP's cannot be programmed when held
   * in reset. Will cause Axi-Lite bus to lock.
   * Release IP reset - but hold vid_in in reset
   */ /* wait 1ms for AXI-MM to stabilize */ /* wait 1ms for AXIS to stabilize */ /* Reset start core flags */