Trenz Electronic GmbH Support Forum

Trenz Electronic Products => Trenz Electronic FPGA Modules => Topic started by: lyding on August 21, 2018, 05:47:09 PM

Title: where to find the 16 hdmi data pins (te0726-03m)
Post by: lyding on August 21, 2018, 05:47:09 PM
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
Title: Re: where to find the 16 hdmi data pins (te0726-03m)
Post by: JH on August 22, 2018, 11:20:54 AM
Hi,
ZED board use ADV7511KSTZ, see page 5:
ZynqBerry is direct connected to connector, see page 11 and 2:
So you can't connect pin by pin.

We have a Vivado 2017.1 demo with HDMI example:
br
John
Title: Re: where to find the 16 hdmi data pins (te0726-03m)
Post by: lyding on August 22, 2018, 01:44:10 PM
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

Title: Re: where to find the 16 hdmi data pins (te0726-03m)
Post by: Oleksandr Kiyenko on August 22, 2018, 03:35:12 PM
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
Title: Re: where to find the 16 hdmi data pins (te0726-03m)
Post by: lyding on August 22, 2018, 04:16:37 PM
Thank you so much!
I am going to test it tomorrow!

lyding