void DemoInitialize() { int Status; XAxiVdma_Config *vdmaConfig; int i; /* * Initialize an array of pointers to the 3 frame buffers */ for (i = 0; i < DISPLAY_NUM_FRAMES; i++) { pFrames[i] = frameBuf[i]; } /* * Initialize a timer used for a simple delay */ TimerInitialize(SCU_TIMER_ID); /* * Initialize VDMA driver */ vdmaConfig = XAxiVdma_LookupConfig(VGA_VDMA_ID); if (!vdmaConfig) { xil_printf("No video DMA found for ID %d\r\n", VGA_VDMA_ID); return; } Status = XAxiVdma_CfgInitialize(&vdma, vdmaConfig, vdmaConfig->BaseAddress); if (Status != XST_SUCCESS) { xil_printf("VDMA Configuration Initialization failed %d\r\n", Status); return; } /* * Initialize the Display controller and start it */ Status = DisplayInitialize(&dispCtrl, &vdma, DISP_VTC_ID, DYNCLK_BASEADDR, pFrames, DEMO_STRIDE); if (Status != XST_SUCCESS) { xil_printf("Display Ctrl initialization failed during demo initialization%d\r\n", Status); return; } Status = DisplayStart(&dispCtrl); if (Status != XST_SUCCESS) { xil_printf("Couldn't start display during demo initialization%d\r\n", Status); return; } DemoPrintTest(dispCtrl.framePtr[dispCtrl.curFrame], dispCtrl.vMode.width, dispCtrl.vMode.height, dispCtrl.stride, DEMO_PATTERN_1); return; }
int PongDisplayInitialize(DisplayCtrl *dispPtr, u16 vdmaId, u16 timerId, u32 dispCtrlAddr, int fHdmi, u32 *framePtr[DISPLAY_NUM_FRAMES]) { int Status; TimerInitialize(timerId); Status = DisplayInitialize(dispPtr, vdmaId, dispCtrlAddr, fHdmi, framePtr, DISPLAY_STRIDE); if (Status != XST_SUCCESS) { xil_printf("Display Ctrl initialization failed during demo initialization%d\r\n", Status); return XST_FAILURE; } Status = DisplayStart(dispPtr); if (Status != XST_SUCCESS) { xil_printf("Couldn't start display during demo initialization%d\r\n", Status); return XST_FAILURE; } return XST_SUCCESS; }
int DisplayDemoInitialize(DisplayCtrl *dispPtr, u16 vdmaId, u32 dispCtrlAddr, int fHdmi, u32 *vframePtr[DISPLAY_NUM_FRAMES], u32 *pframePtr[DISPLAY_NUM_FRAMES]) { int Status; Status = DisplayInitialize(dispPtr, vdmaId, dispCtrlAddr, fHdmi, vframePtr, pframePtr, DISPLAYDEMO_STRIDE); if (Status != XST_SUCCESS) { xil_printf("Display Ctrl initialization failed during demo initialization%d\r\n", Status); return XST_FAILURE; } Status = DisplayStart(dispPtr); if (Status != XST_SUCCESS) { xil_printf("Couldn't start display during demo initialization%d\r\n", Status); return XST_FAILURE; } DisplayDemoPrintTest(dispPtr->vframePtr[dispPtr->curFrame], dispPtr->vMode.width, dispPtr->vMode.height, dispPtr->stride, DISPLAYDEMO_PATTERN_1); return XST_SUCCESS; }
void DemoInitialize() { int Status; XAxiVdma_Config *vdmaConfig; int i; /* * Initialize an array of pointers to the 3 frame buffers */ for (i = 0; i < DISPLAY_NUM_FRAMES; i++) { pFrames[i] = frameBuf[i]; } /* * Initialize VDMA driver */ vdmaConfig = XAxiVdma_LookupConfig(VGA_VDMA_ID); if (!vdmaConfig) { xil_printf("No video DMA found for ID %d\r\n", VGA_VDMA_ID); return; } Status = XAxiVdma_CfgInitialize(&vdma, vdmaConfig, vdmaConfig->BaseAddress); if (Status != XST_SUCCESS) { xil_printf("VDMA Configuration Initialization failed %d\r\n", Status); return; } /* * Initialize the Display controller and start it */ Status = DisplayInitialize(&dispCtrl, &vdma, DISP_VTC_ID, DYNCLK_BASEADDR, pFrames, DEMO_STRIDE); if (Status != XST_SUCCESS) { xil_printf("Display Ctrl initialization failed during demo initialization%d\r\n", Status); return; } Status = DisplayStart(&dispCtrl); if (Status != XST_SUCCESS) { xil_printf("Couldn't start display during demo initialization%d\r\n", Status); return; } /* * Initialize the Interrupt controller and start it. */ Status = fnInitInterruptController(&intc); if(Status != XST_SUCCESS) { xil_printf("Error initializing interrupts"); return; } fnEnableInterrupts(&intc, &ivt[0], sizeof(ivt)/sizeof(ivt[0])); /* * Initialize the Video Capture device */ Status = VideoInitialize(&videoCapt, &intc, &vdma, VID_GPIO_ID, VID_VTC_ID, VID_VTC_IRPT_ID, pFrames, DEMO_STRIDE, DEMO_START_ON_DET); if (Status != XST_SUCCESS) { xil_printf("Video Ctrl initialization failed during demo initialization%d\r\n", Status); return; } /* * Set the Video Detect callback to trigger the menu to reset, displaying the new detected resolution */ VideoSetCallback(&videoCapt, DemoISR, &fRefresh); DemoPrintTest(dispCtrl.framePtr[dispCtrl.curFrame], dispCtrl.vMode.width, dispCtrl.vMode.height, dispCtrl.stride, DEMO_PATTERN_1); return; }