SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
Display panels will use command mode sequencing when an on-board frame buffer is used to store the video image rather than using the video streaming and synchronisation packets to control the update of the image information. This means that the host display driver must know when the panel is processing the image and avoid changing pixel information before it is updated. The mechanism is known as the tearing effect. The DSITX controller can support two schemes as outlined in the MIPI DSI specification.
TE control using the Polling Method
For polling to the display module, the host processor shall detect the current scan line information with a DCS command such as get_scan_line to avoid Tearing Effects. DSITX controller will issue a READ using this command until it gets to the expected value for the last line.
DCS Command - get_scanline (45h)
Command
Direction H->D
Hex Code 0 1 0 0 0 1 0 1 45h
Parameter 1
Direction D->H
Hex Code N15 N14 N13 N12 N11 N10 N9 N8 XXh
Parameter 2
Direction D->H
Hex Code N7 N6 N5 N4 N3 N2 N1 N0 XXh
Description
The display module returns the current scanline, N, used to update the display device. The total number of scanlines on a display device is defined as VSYNC + VBP + VACT + VFP. The first scanline is defined as the first line of V Sync and is denoted as Line 0.
In Sleep Mode, the value returned by get_scanline is undefined. See [MIPI-DPI] for definitions of VSYNC, VBP, VACT, and VFP.
Restrictions
None
TE control using the Automatic Method
For TE-reporting from the display module, the TE-reporting function is enabled and disabled by three DCS commands to the display module controller: set_tear_on, set_tear_scanline, and set_tear_off. See [MIPI-DCS] for details.
set_tear_on and set_tear_scanline are sent to the display module as DSI Data Type 0x15 (DCS Short Write, one parameter) and DSI Data Type 0x39 (DCS Long Write/write_LUT), respectively. The host processor ends the transmission with Bus Turn-Around asserted, giving bus possession to the display module.
Since the display module DSI Protocol layer does not interpret DCS commands, but only passes them through to the display controller, it responds with a normal Acknowledge and returns bus possession to the host processor. In this state, the display module cannot report TE events to the host processor since it does not have bus possession.
To enable TE-reporting, the host processor shall give bus possession to the display module without an accompanying DSI command transmission after TE reporting has been enabled. This is accomplished by the host processor protocol logic asserting (internal) Bus Turn-Around signal to its D-PHY functional block. The PHY layer will then initiate a Bus Turn-Around sequence in LP mode, which gives bus possession to the display module.
Since the timing of a TE event is unknown to the host processor, the host processor shall give bus possession to the display module and then wait for up to one video frame period for the TE response. During this time, the host processor cannot send new commands, or requests to the display module, because it does not have bus possession.
DCS Command - set_tear_on (35h)
Command
Direction H->D
Hex Code 35h
Parameter
Direction H->D
Hex Code X X X X X X X M XXh
Description
This command turns on the display module Tearing Effect output signal on the TE signal line. The TE signal is not affected by changing set_address_mode bit B4. set_tear_on has one parameter that describes the Tearing Effect Output Line mode.
If M = 0 (Mode 0):
The Tearing Effect Output line consists of V-Blanking information only.
If M = 1 (Mode 1):
The Tearing Effect Output Line consists of both V-Blanking and H-Blanking information.
The Tearing Effect Output line shall be active low when the display module is in Sleep mode. See [MIPI- DPI] for definitions of tvdl, tvdh, thdl and thdh.
Restrictions
This command takes effect on the frame following the current frame. Therefore, if the Tearing Effect (TE) output is already ON, the TE output shall continue to operate as programmed by the previous set_tear_on, or set_tear_scanline, command until the end of the frame.
DCS Command - set_tear_scanline (44h)
Command
Direction H->D
Hex Code 0 1 0 0 0 1 0 0 44h
Parameter 1
Direction H->D
Hex Code N15 N14 N13 N12 N11 N10 N9 N8 XXh
Parameter 2
Direction H->D
Hex Code N7 N6 N5 N4 N3 N2 N1 N0 XXh
Description
This command turns on the display module Tearing Effect output signal on the TE signal line when the display module reaches line N. The TE signal is not affected by changing set_address_mode bit B4.
The Tearing Effect Line On has one parameter that describes the Tearing Effect Output Line mode.
After issuing a set_tear_scanline command to the display module, the Tearing Effect output signal, e.g. as in DBI- 2 systems, shall be a delayed version of V-Blanking information as illustrated in Figure 12-391.
Note that set_tear_scanline with N = 0 is equivalent to set_tear_on with M = 0. The Tearing Effect Output line shall be active low when the display module is in Sleep mode. See [MIPI-DBI] for definitions of tvdl and tvdh and [MIPI-DSI] for definition of display module line numbers. In 2D mode, the scanline value of the display memory and the display panel is the same.
Restrictions
This command takes effect on the frame following the current frame. Therefore, if the Tear Effect (TE) output is already ON, the TE output shall continue to operate as programmed by the previous set_tear_on, or set_tear_scanline, command until the end of the frame.
DCS Command - set_tear_off (34h)
Command
Direction H->D
Hex Code 0 0 1 1 0 1 0 0 34h
Parameters None
Description
This command turns off the display module Tearing Effect output signal on the TE signal line.
Restrictions
This command has no effect when the Tearing Effect output is already off.