Common Primary Timing Generator (CMTG)

The CMTG is a timing generator that runs in parallel to transcoders timing generators (TG) to provide a synchronization mechanism where CMTG acts as primary and transcoders TGs act as secondary to the CMTG. The CMTG outputs its TG start and frame sync signals to the transcoders that are configured as secondary, which use those signals to synchronize their own timing with the CMTG’s.

The CMTG can be used only with eDP or MIPI command mode and supports the following use cases:

  • Dual eDP: The CMTG can be used to keep two eDP TGs in sync when on a dual eDP configuration (with or without PSR/PSR2 enabled).

  • Single eDP as secondary: It is also possible to use a single eDP configuration with the transcoder TG as secondary to the CMTG. That would allow a flow that would not require a modeset on the existing eDP when a new eDP is added for a dual eDP configuration with CMTG.

  • DC6v: In DC6v, the transcoder might be off but the CMTG keeps running to maintain frame timings. When exiting DC6v, the transcoder TG then is synced back the CMTG.

Currently, the driver does not use the CMTG, but we need to make sure that we disable it in case we inherit a display configuration with it enabled.