Hi Rob, Laurent
+Each ports / port / endpoint can have its type if needed.
I think type should only apply to a port. ports is only a grouping for multiple ports. endpoints are just the connection. A port is a single data flow, so 2 endpoints on a port reflect 2 possible connections for that data flow.
+child node can take over parent node type. below example indicates +device0 type is "typeA" && "typeB", +device1 type is "typeA" && "typeB" && "typeC".
This does not make sense to me. A concrete example perhaps using HDMI audio would be helpful.
"type" on "port" only is OK. I will fix that.
Multi type feature (= take over from parent) and type on "endpoint" is not urgent at this point, so I will drop these in v2. I just thought that it will be necessary in the future.
In HDMI case, which one is better DT ?
port@0 { type = "video"; endpoint { remote-endpoint = <&xxx>; }; }; port@1 { type = "sound"; endpoint { remote-endpoint = <&xxx>; }; };
or
port { endpoint { type = "video"; remote-endpoint = <&xxx>; }; endpoint { type = "sound"; remote-endpoint = <&xxx>; }; };
If 2nd one is better, type on endpoint is needed.