Hi Grant, On Saturday 08 March 2014 12:25:32 Grant Likely wrote: > On Sat, 8 Mar 2014 11:35:38 +0200, Tomi Valkeinen wrote: > > On 07/03/14 20:11, Grant Likely wrote: > > >>> 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. > > > > > > Why? We have established precedence for unused devices still being in > > > the tree. I really see no issue with it. > > > > I'm fine with having ports defined in the SoC dtsi. A port is a physical > > thing, a group of pins, for example. > > > > But an endpoint is a description of the other end of a link. To me, a > > single endpoint makes no sense, there has to be a pair of endpoints. The > > board may need 0 to n endpoints, and the SoC dtsi cannot know how many > > are needed. > > > > If the SoC dtsi defines a single endpoint for a port, and the board > > needs to use two endpoints for that port, it gets really messy: one > > endpoint is defined in the SoC dtsi, and used in the board dts. The > > second endpoint for the same port needs to be defined separately in the > > board file. I.e. something like: > > Sure. If endpoints are logical, then only create the ones actually hooked > up. No problem there. But nor do I see any issue with having empty > connections if the board author things it makes sense to have them in the > dtsi. I don't mind allowing board authors to add empty connections if they want to, but I think it's a good practice not to include them given that endpoint are logical. I would at least not include them in the of-graph DT bindings examples. > > /* the first ep */ > > &port1_ep { > > remote-endpoint = <&..>; > > }; > > > > &port1 { > > /* the second ep */ > > endpoint@2 { > > remote-endpoint = <&..>; > > }; > > }; > > > > Versus: > > > > &port1 { > > /* the first ep */ > > endpoint@1 { > > remote-endpoint = <&..>; > > }; > > > > /* the second ep */ > > endpoint@2 { > > remote-endpoint = <&..>; > > }; > > }; -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html