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


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to