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.
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.
Tomi