On Fri, May 10, 2024 at 11:16 PM Rob Herring <robh@xxxxxxxxxx> wrote: > > On Tue, May 07, 2024 at 03:54:08PM +0000, Paweł Anikiel wrote: > > Add a DisplayPort bus type and a multi-stream-support property > > indicating whether the interface supports MST. > > > > Signed-off-by: Paweł Anikiel <panikiel@xxxxxxxxxx> > > --- > > .../devicetree/bindings/media/video-interfaces.yaml | 7 +++++++ > > include/dt-bindings/media/video-interfaces.h | 2 ++ > > 2 files changed, 9 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/media/video-interfaces.yaml b/Documentation/devicetree/bindings/media/video-interfaces.yaml > > index 26e3e7d7c67b..7bf3a2c09a5b 100644 > > --- a/Documentation/devicetree/bindings/media/video-interfaces.yaml > > +++ b/Documentation/devicetree/bindings/media/video-interfaces.yaml > > @@ -94,6 +94,7 @@ properties: > > - 5 # Parallel > > - 6 # BT.656 > > - 7 # DPI > > + - 8 # DisplayPort > > description: > > Data bus type. > > > > @@ -217,4 +218,10 @@ properties: > > Whether the clock signal is used as clock (0) or strobe (1). Used with > > CCP2, for instance. > > > > + multi-stream-support: > > If MST is a known term for DP, then perhaps "dp-mst-support" for the > name. In any case, 'dp' should be in there somewhere. I tried to keep the name generic, for the use case of some other bus with a similar feature, e.g. CSI-2 and virtual channels. > > > + type: boolean > > + description: > > + Support transport of multiple independent streams. Used for > > + DisplayPort MST-capable interfaces. > > Wouldn't this be implied by the devices at each end of the link? For the case of the Intel DP receiver, MST support is an IP configuration option which cannot be determined at probe time, so it needs to be read from DT. Having learned that the receiver should use properties from video-interfaces, I decided to put this property here. Do you think that's a good idea? > The drivers for each device should really list out features supported for > the link. The mode used is then the union of those 2 lists with DT > properties only used when the union is not definitive. The mode that actually gets used (MST vs non-MST) is negotiated during link setup as part of the DP protocol - the sink reports to the source if it supports MST, and it's up to the source's ability to enable MST or not. The property I'm adding here is only useful for the driver to know if the hw supports MST or not (in the case it can't determine it itself). > > > > + > > additionalProperties: true > > diff --git a/include/dt-bindings/media/video-interfaces.h b/include/dt-bindings/media/video-interfaces.h > > index 68ac4e05e37f..b236806f4482 100644 > > --- a/include/dt-bindings/media/video-interfaces.h > > +++ b/include/dt-bindings/media/video-interfaces.h > > @@ -12,5 +12,7 @@ > > #define MEDIA_BUS_TYPE_CSI2_DPHY 4 > > #define MEDIA_BUS_TYPE_PARALLEL 5 > > #define MEDIA_BUS_TYPE_BT656 6 > > +#define MEDIA_BUS_TYPE_DPI 7 > > +#define MEDIA_BUS_TYPE_DISPLAYPORT 8 > > > > #endif /* __DT_BINDINGS_MEDIA_VIDEO_INTERFACES_H__ */ > > -- > > 2.45.0.rc1.225.g2a3ae87e7f-goog > >