Hi Tomi,
On Thursday 17 October 2013 14:35:49 Tomi Valkeinen wrote:
On 17/10/13 14:02, Laurent Pinchart wrote:
Okay, so if I understand correctly, translating those bindings to panel
nodes would look somewhat like this: dc: display-controller { ports { port@0 { remote-endpoint = <&panel>; }; }; };
panel: panel { ports { port@0 { remote-endpoint = <&dc>; }; }; };
The above leaves out any of the other, non-relevant properties. Does that sound about right?
Yes it does.
It does?
Shouldn't it be something like:
panel { ports { port@0 { endpoint@0 { remote = <&dc>; }; }; }; };
And simplified:
panel { port { endpoint@0 { remote = <&dc>; }; }; };
You do need a node for the endpoint, a remote-endpoint property is not enough.
My bad, you'r absolutely right. More sleep is needed.
(And while we're at it, the remote-endpoint properties must point to an endpoint, not the device DT node.
Please note that, when a device has as single port, the ports node can be omitted, and the port doesn't need to be numbered. You would then end up with> dc: display-controller { port { remote-endpoint = <&panel>; }; };
panel: panel { port { remote-endpoint = <&dc>; }; };
I don't think there's a way to simplify it further.
I'm not sure if there's a specific need for the port or endpoint nodes in cases like the above. Even if we have common properties describing the endpoint, I guess they could just be in the parent node.
panel { remote = <&dc>; common-video-property = <asd>; };
The above would imply one port and one endpoint. Would that work? If we had a function like parse_endpoint(node), we could just point it to either a real endpoint node, or to the device's node.
You reference the display controller here, not a specific display controller output. Don't most display controllers have several outputs ?