On Sun, 09 Feb 2025 21:39:24 +0530, Aradhya Bhatia wrote: > From: Aradhya Bhatia <a-bhatia1@xxxxxx> > > The OLDI transmitters (TXes) do not have registers of their own, and are > dependent on the source video-ports (VPs) from the DSS to provide > configuration data. This hardware doesn't directly sit on the internal > bus of the SoC, but does so via the DSS. Hence, the OLDI TXes are > supposed to be child nodes under the DSS, and not independent devices. > > Two of the OLDI TXes can function in tandem to output dual-link OLDI > output, or cloned single-link outputs. In these cases, one OLDI will be > the primary OLDI, and the other one, a companion. The following diagram > represents such a configuration. > > +-----+-----+ +-------+ > | | | | | > | | VP1 +----+--->+ OLDI0 | (Primary - may need companion) > | | | | | | > | DSS +-----+ | +-------+ > | | | | > | | VP2 | | +-------+ > | | | | | | > +-----+-----+ +--->+ OLDI1 | (Companion OLDI) > | | > +-------+ > > The DSS in AM625 SoC has a configuration like the one above. The AM625 > DSS VP1 (port@0) can connect and control 2 OLDI TXes, to use them in > dual-link or cloned single-link OLDI modes. It is only the VP1 that can > connect to either OLDI TXes for the AM625 DSS, and not the VP2. > > Alternatively, on some future TI SoCs, along with the above > configuration, the OLDI TX can _also_ connect to separate video sources, > making them work entirely independent of each other. In this case, > neither of the OLDIs are "companion" or "secondary" OLDIs, and nor do > they require one. They both are independent and primary OLDIs. The > following diagram represents such a configuration. > > +-----+-----+ +-------+ > | | | | | > | | VP1 +--+----------->+ OLDI0 | (Primary - may need companion) > | | | | | | > | +-----+ | +-------+ > | | | | > | | VP2 | | > | | | | > | DSS +-----+ | +---+ +-------+ > | | | +-->+ M | | | > | | VP3 +----->+ U +--->+ OLDI1 | (Companion or Primary) > | | | | X | | | > | +-----+ +---+ +-------+ > | | | > | | VP4 | > | | | > +-----+-----+ > > Note that depending on the mux configuration, the OLDIs can either be > working together in tandem - sourced by VP1, OR, they could be working > independently sourced by VP1 and VP3 respectively. > The idea is to support all the configurations with this OLDI TX schema. > > The OLDI functionality is further supported by a system-control module, > which contains a few registers to control OLDI IO power and other > electrical characteristics of the IO lanes. > > Add devicetree binding schema for the OLDI TXes to support various > configurations, and extend their support to the AM625 DSS. > > Signed-off-by: Aradhya Bhatia <a-bhatia1@xxxxxx> > Signed-off-by: Aradhya Bhatia <aradhya.bhatia@xxxxxxxxx> > --- > .../bindings/display/ti/ti,am625-oldi.yaml | 88 ++++++++++ > .../bindings/display/ti/ti,am65x-dss.yaml | 154 ++++++++++++++++++ > MAINTAINERS | 1 + > 3 files changed, 243 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/ti/ti,am625-oldi.yaml > Reviewed-by: Rob Herring (Arm) <robh@xxxxxxxxxx>