Messages in this thread | | | Date | Wed, 26 Feb 2014 16:50:52 +0200 | From | Tomi Valkeinen <> | Subject | Re: [PATCH v4 3/3] Documentation: of: Document graph bindings |
| |
On 26/02/14 16:57, Philipp Zabel wrote: > Hi Tomi, > > Am Mittwoch, den 26.02.2014, 15:14 +0200 schrieb Tomi Valkeinen: >> On 25/02/14 16:58, Philipp Zabel wrote: >> >>> +Optional endpoint properties >>> +---------------------------- >>> + >>> +- remote-endpoint: phandle to an 'endpoint' subnode of a remote device node. >> >> Why is that optional? What use is an endpoint, if it's not connected to >> something? > > This allows to include the an empty endpoint template in a SoC dtsi for > the convenience of board dts writers. Also, the same property is > currently listed as optional in video-interfaces.txt. > > soc.dtsi: > display-controller { > port { > disp0: endpoint { }; > }; > }; > > board.dts: > #include "soc.dtsi" > &disp0 { > remote-endpoint = <&panel_input>; > }; > panel { > port { > panel_in: endpoint { > remote-endpoint = <&disp0>; > }; > }; > }; > > Any board not using that port can just leave the endpoint disconnected.
Hmm I see. I'm against that.
I think the SoC dtsi should not contain endpoint node, or even port node (at least usually). It doesn't know how many endpoints, if any, a particular board has. That part should be up to the board dts.
I've done this with OMAP as (much simplified):
SoC.dtsi:
dss: dss@58000000 { status = "disabled"; };
Nothing else (relevant here). The binding documentation states that dss has one port, and information what data is needed for the port and endpoint.
board.dts:
&dss { status = "ok";
pinctrl-names = "default"; pinctrl-0 = <&dss_dpi_pins>;
dpi_out: endpoint {
remote-endpoint = <&tfp410_in>; data-lines = <24>; }; };
That's using the shortened version without port node.
Of course, it's up to the developer how his dts looks like. But to me it makes sense to require the remote-endpoint property, as the endpoint, or even the port, doesn't make much sense if there's nothing to connect to.
Tomi
[unhandled content-type:application/pgp-signature] | |