03-28-2011 09:37 AM
I have a ML605 board, it is able to handle an external display through a DVI port.
The DVI port is driven by a chip called Chrontel CH7301C, this chip is connected directly to the FPGA but also connected to a IIC bus driven by the FPGA too.
The DVI output can also drive a VGA display using an adaptor (VGA is sufficient for my application).
That's for the Hardware.
Now I wonder how I can handle it (more or less) easily from an embedded linux on microblaze.
I want to use this display with linux framebuffer.
First I don't really understand how the DVI output is connected to the FPGA. According datasheet it is connected through IIC and also through the Chrontel chip to the FPGA.
Which way do I need to use (both ?).
Then what about Linux.
On xilinx.wikidot.com (osl-drivers) the IIC bus is supported (even if it is not in the kernel mainline).
So I think I will not have issues with IIC bus. However I wonder how I can drive the IIC bus correctly to be able to display simple things on the DVI port. I don't see any driver for the Chrontel chip in the kernel from xilinx Git (maybe I missed it in the menuconfig)
An other thread on the Xilinx forum Other thread says that the XPS TFT bloc is able to communicate with the Chrontel chip through IIC. But it seems that it is not supported at all in the current kernel drivers (osl-drivers)
Does someone has ideas ?
Thank you for help
03-28-2011 10:14 AM
The I2C interface is used to configure the Chrontel chip - Video data is driven to it over a dedicated DVI bus that hooks up the the TFT controller (clock, sync, RGB data I think).
I don't think you'll find a linux driver for that chip - you'll need to configure it from user space or write your own I suppose.
It takes a bit of work to get it working, but it's doable (I've done it on the ML507). Others have as well, search the forums and you'll probably find some more hints.
03-29-2011 05:00 AM
Thank you for your answer.
If I understand well :
I will maybe start this work, and I agree to share my code.
However I'm not a specialist of video under Linux, so I'm really interested in any kind of input. Maybe you (or someone else on the forum) can share a driver compatible with ML507 (or an other board).
I think it can be good for Xilinx ecosystem to have a driver for the TFT bloc.
I will look also on this forum, maybe I will find some hints as you suggest
03-29-2011 07:31 AM
Take a look here first:
This may help you get started, but I have no idea how complete it is.. It was a few years ago that I worked on a video design, and I remember doing a lot of hacking of the virtual framebuffer driver (vfb.c) to get it working. But that was before the work at the link above - so it may be a lot easier now.. I was working under very tight time constraints - it was more important at the time to get something working than to get it done "correctly".
03-29-2011 08:04 AM
It's been a long time since anything was done with that so I suspect it take some effort. The reason we don't support it normally is that it's a pain to build the h/w design. If BSB supported it that would help, but I doubt there's enough demand.
Since we have to test everything we support with every version of Xilinx tools, the effort is quite large.