02-13-2018 07:45 AM - edited 02-13-2018 08:10 AM
I'm trying to use xilinx DRM graphics stack through the live output/PL. There will be no physical display port connection (and thus no EDID to read as well).
How do you accomplish this in the device tree (and/or with kernel edits)?
/dev/fb0 is created, and I can start the X11 server, with what should be 3 xterms. I am able to start the window manager 'openbox' as well.
All of the AV_CHBUF<x> channels are disabled (0xB010 through 0xB024), and I'm fairly sure this is due to a lack of a physical display port connection and/or an EDID to read. I can see that the CRTC is established correctly, and DP subsystem appears to be probed correctly.
Interestingly, I can see our live input coming out the live output, but no graphics stack/dpdma obviously. Messing with AV_BUF_OUTPUT_AUDIO_VIDEO_SELECT (0xFD4AB070) does not affect the output at all, no matter what values I place in.
02-14-2018 02:30 AM
By default, I am quite sure you need to have the link up on the PS (so with a physical interface) to be able to use the live output in the PL (this is required to know the timing signals at least).
You might need to modify the drivers to have this working
02-15-2018 01:06 AM
Unfortunately, I am not working on the linux driver.
However, you might need to first manage the timing controller to get the timing signal (I would use an external vtc feeding the live input).
02-15-2018 08:38 AM
We already have the live input matched to our desired live output (resolution, clock, etc). And in fact, the live input is seen on the live output.
Is that different from what you described?
02-21-2018 05:33 AM
If you have the timing signals correct, I would then check what in the driver enable the output
02-21-2018 05:38 AM - edited 02-21-2018 05:39 AM
So one thing I've noticed is the "xilinx_drm_dp_sub_enable" function in "xilinx_drm_dp_sub.c" seems to be the function responsible for setting up all those AV_CHBUF<x> registers... but this ONLY gets called when dpms is set (i.e. monitor goes to sleep, clear the registers, monitor wakes up re-establish the registers). It never gets called in any kind of initial setup phase.
This would lead me to believe the hardware is capable of setting up those registers itself when a physical connection is present. Is that the case?
07-11-2018 01:17 PM
Any progress on this?
I believe I did hit same problem - but in my case I'm still on dev board, so I have display port connector and when I plug monitor everything start to work. Unplug - LiveVideo dies (clock, but no data coming)