On Thu, Jul 04, 2013 at 11:40:17AM +0200, Sebastian Hesselbarth wrote:
On 07/04/13 11:23, Sascha Hauer wrote:
With this you can describe the whole graph of devices you have in the devicetree. The examples in this file have a path from a camera sensor via a MIPI converter to a capture interface.
The difference to a supernode is that this approach describes the data flow in the devicetree so that we can iterate over it to find links between source and sink rather than relying on a list of subdevices to be completed.
Agree. But that is not that different from linux,video-external-encoder property I made up, except that the name is different.
And, I still see no way with that source/sink linking _alone_ how to tell that either lcd0 and lcd1 act as a _single_ video card or lcd0 and lcd1 are used in a _two_ video card setup.
There is no single device node on Dove that would sufficiently act as the top node for a working video card on all boards. And there is no framebuffer node to link each of the lcd0/1 nodes to.
That is what the super-node is for, form a virtual device called video card to act as a container for all those SoC devices that are not sufficient for a working video setup on their own.
If lcd0 needs that hdmi-transmitter you link it to the lcd0 node - not the super-node. If lcd0 needs some pll clock you link it to the lcd0 node - again not the super-node.
The super-node(s) just connects all SoC devices that shall be part of your board-specific video card(s) - for Dove that is any combination of lcd0, lcd0, dcon and video memory allocation.
So with the supernode approach you would have one/two supernodes and with a v4l2 approach you would have either one graph containing lcd0 and lcd1 or to graphs (without a connection in between).
Sascha