News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

where to find the 16 hdmi data pins (te0726-03m)

Started by lyding, August 21, 2018, 05:47:09 PM

Previous topic - Next topic

lyding

Hi,
currently i am trying to change the target board of a project from the zed board to the te0726-03m board.
This project builds up a video stream from a raspberry pi camera module to a hdmi monitor and allows the
user to apply an arbitrary 3x3 fir filter on the stream.
Now i want the project to run on a te0726-03m board but i have problems changing the constraint files.
For instance on the zed board the sixteen data pins plus vsync and hsync are specified but i can only find
nine hdmi_tx_* pins. How do I find the other pins?

I hope you can help me,
lyding


lyding

Hi,
thank you for your answer.
I see I have to rebuild the video_out sub-design from the zynqberry projects.
But as I am developing a bare metal application I have to initialize the video_out
sub-design from within my c code. Did someone made this before?
The video_out sub-design contains three ip cores with an axi-lite interface
but i suppose the clock wizard an the video timing controller can be fully configured
in the diagram editor and I just have to configure the axi vdma in c code.
Is this right?

lyding


Oleksandr Kiyenko

Hello,

actually, all code is already included in Zynqberry demo FSBL. As you can see video interface start working
before Linux start, because of all configuration is done in FSBL.
You need to take vdma.c and vdma.h from te0726_m_demo1\sw_lib\sw_apps\zynq_fsbl\src
and add to your application code from fsbl_hooks.c

#include "vdma.h"
#include "xparameters.h"
#include "xil_hal.h"
#include "sleep.h"
#include "xuartps.h"
#include "xvtc.h"
...
    xil_printf("FSBL: Enabling VTC..\n\r");
XVtc_Config *Config;
Config = XVtc_LookupConfig(XPAR_VTC_0_DEVICE_ID);
if (NULL == Config) {
xil_printf("XVtc_LookupConfig failure\r\n");
return XST_FAILURE;
}

Status = XVtc_CfgInitialize(&Vtc, Config, Config->BaseAddress);
if (Status != XST_SUCCESS) {
xil_printf("XVtc_CfgInitialize failure\r\n");
return XST_FAILURE;
}

XVtc_DisableSync(&Vtc);
XVtc_EnableGenerator(&Vtc);

    xil_printf("FSBL: Enabling Out VDMA at 0x%08x..\n\r",HDMI_FB_ADDR);
    vdma_out_init(XPAR_VIDEO_OUT_AXI_VDMA_0_DEVICE_ID, HDMI_FB_ADDR, 1280, 720, 4);
#ifdef ENABLE_CAMERA
    xil_printf("FSBL: Enabling In  VDMA at 0x%08x..\n\r",CAMERA_FB_ADDR);
    vdma_in_init(XPAR_VIDEO_IN_AXI_VDMA_0_DEVICE_ID, CAMERA_FB_ADDR, 1280, 720, 4);
#endif


Best regards
Oleksandr Kiyenko

lyding

Thank you so much!
I am going to test it tomorrow!

lyding