34. DSI Host (DSI)

34.1 Introduction

Portions Copyright (c) Synopsys, Inc. All rights reserved. Used with permission.

The display serial interface (DSI) is part of a group of communication protocols defined by the MIPI® Alliance.

The MIPI® DSI Host controller is a digital core that implements all protocol functions defined in the MIPI® DSI specification. It provides an interface between the system and the MIPI® D-PHY, allowing the user to communicate with a DSI-compliant display.

34.2 Standard and references

34.3 DSI Host main features

34.4 DSI Host functional description

34.4.1 General description

The MIPI® DSI Host includes dedicated video interfaces internally connected to the LTDC and a generic APB interface that can be used to transmit information to the display. More in detail:

The block diagram is shown in Figure 255 .

Figure 255. DSI block diagram

Figure 255. DSI block diagram. This block diagram illustrates the internal architecture of the DSI Host. On the left, external signals include RGB, DSI_TE, bclk_ck, rxclkesc_ck, hse_ck, and dsi_phy_ck. A 32-bit APB bus connects to a Register bank. The Register bank is linked to an APB to generic interface, a Video mode pattern generator, and an Error management block. The APB to generic interface connects to a Generic FIFO, which in turn connects to a Packet handler. The RGB signal connects to an LTDC interface, which is also linked to the Register bank. The LTDC interface connects to LTDC Ctrl FIFO and LTDC Pixel FIFO, which both feed into the Packet handler. The Packet handler is connected to a D-PHY interface control, which is further connected to a D-PHY block via a PPI (Parallel Peripheral Interface). The D-PHY block has multiple output pins labeled DSI_D1P, DSI_D1N, DSI_D0P, DSI_D0N, DSI_CKP, and DSI_CKN. Additionally, internal signals dsi_it, dsi_wkup, dsi_eor_trg, and dsi_te_trg are shown as outputs from the D-PHY block.
Figure 255. DSI block diagram. This block diagram illustrates the internal architecture of the DSI Host. On the left, external signals include RGB, DSI_TE, bclk_ck, rxclkesc_ck, hse_ck, and dsi_phy_ck. A 32-bit APB bus connects to a Register bank. The Register bank is linked to an APB to generic interface, a Video mode pattern generator, and an Error management block. The APB to generic interface connects to a Generic FIFO, which in turn connects to a Packet handler. The RGB signal connects to an LTDC interface, which is also linked to the Register bank. The LTDC interface connects to LTDC Ctrl FIFO and LTDC Pixel FIFO, which both feed into the Packet handler. The Packet handler is connected to a D-PHY interface control, which is further connected to a D-PHY block via a PPI (Parallel Peripheral Interface). The D-PHY block has multiple output pins labeled DSI_D1P, DSI_D1N, DSI_D0P, DSI_D0N, DSI_CKP, and DSI_CKN. Additionally, internal signals dsi_it, dsi_wkup, dsi_eor_trg, and dsi_te_trg are shown as outputs from the D-PHY block.

34.4.2 DSI Host pins and internal signals

Table 279 and Table 280 list, respectively, the DSI pins (alternate functions) and the internal input/output signals.

Table 279. DSI pins

Signal nameSignal typeDescription
DSI_D0P/D0NInput/OutputDifferential Data lane 0
DSI_D1P/D1NOutputDifferential Data lane 1

Table 279. DSI pins (continued)

Signal nameSignal typeDescription
DSI_CKP
DSI_CKN
OutputDifferential clock
DSI_TEInputDSI tearing effect pin

Table 280. DSI internal input/output signals

Signal nameSignal typeDescription
dsi_itOutputDSI global interrupt
dsi_wkupOutputDSI wakeup event
dsi_te_trgOutputDSI tearing effect for MDMA
dsi_eor_trgOutputDSI end-of-refresh for MDMA
bclk_ckInputByte lane clock
rxclkesck_ckInputEscape clock
hse_ckInputHSE clock used for DSI PLL
dsi_phy_ckInputD-PHY clock

34.4.3 Supported resolutions and frame rates

The DSI specification does not define supported standard resolutions or frame rates. Display resolution, blanking periods, synchronization events duration, frame rates, and pixel color depth play a fundamental role in the required bandwidth. In addition, other link related attributes can influence the ability of the link to support a DSI-specific device, namely display input buffering capabilities, video transmission mode (burst or non-burst), bus turn-around (BTA) time, concurrent command mode traffic in a video mode transmission, or display device specifics. All these variables make it difficult to define a standard procedure to estimate the minimum lane rate and the minimum number of lanes that support a specific display device.

The basic assumptions for estimates are:

34.4.4 System level architecture

Figure 256 shows the architecture of the DSI Host

Figure 256. DSI Host architecture

Figure 256. DSI Host architecture diagram showing the internal components and their connections. The diagram includes an LTDC block connected to a DSI Wrapper, which is then connected to the DSI Host. The DSI Host contains several sub-blocks: LTDC I/F, APB to Generic, Register Bank, Packet Handler, D-PHY I/F, and Error Management. The DSI Host is connected to a Regulator and a PLL. The D-PHY I/F is connected to a D-PHY block, which in turn connects to external pins: DATAP1, DATAN1, DATAP0, DATAN0, CLKP, and CLKN. The LTDC is connected to the DSI Wrapper via Ctrl, RGB, and APB signals. The DSI Wrapper is connected to the DSI Host via RGB and APB signals. The DSI Host is connected to the Regulator and PLL via control signals. The D-PHY I/F is connected to the D-PHY block via PPI signals.
Figure 256. DSI Host architecture diagram showing the internal components and their connections. The diagram includes an LTDC block connected to a DSI Wrapper, which is then connected to the DSI Host. The DSI Host contains several sub-blocks: LTDC I/F, APB to Generic, Register Bank, Packet Handler, D-PHY I/F, and Error Management. The DSI Host is connected to a Regulator and a PLL. The D-PHY I/F is connected to a D-PHY block, which in turn connects to external pins: DATAP1, DATAN1, DATAP0, DATAN0, CLKP, and CLKN. The LTDC is connected to the DSI Wrapper via Ctrl, RGB, and APB signals. The DSI Wrapper is connected to the DSI Host via RGB and APB signals. The DSI Host is connected to the Regulator and PLL via control signals. The D-PHY I/F is connected to the D-PHY block via PPI signals.

The different parts have the following functions:

long or short packet generating correspondent ECC and CRC codes. This block also performs the following functions:

34.5 Functional description: video mode on LTDC interface

The LTDC interface captures the data and control signals and conveys them to the FIFO interfaces that transmit them to the DSI link.

Two different streams of data are present at the interface, namely video control signals and pixel data. Depending on the interface color coding, the pixel data is disposed differently throughout the LTDC bus.

Interface pixel color coding is summarized in Table 281 .

Table 281. Location of color components in the LTDC interface

Location16-bit18-bit24-bit
Config 1Config 2Config 3Config 1Config 2
D23-----R[7]
D22-----R[6]
D21--R[4]-R[5]R[5]
D20-R[4]R[3]-R[4]R[4]
D19-R[3]R[2]-R[3]R[3]
D18-R[2]R[1]-R[2]R[2]
D17-R[1]R[0]R[5]R[1]R[1]
D16-R[0]-R[4]R[0]R[0]
D15R[4]--R[3]-G[7]
D14R[3]--R[2]-G[6]
D13R[2]G[5]G[5]R[1]G[5]G[5]
D12R[1]G[4]G[4]R[0]G[4]G[4]
D11R[0]G[3]G[3]G[5]G[3]G[3]
D10G[5]G[2]G[2]G[4]G[2]G[2]
D9G[4]G[1]G[1]G[3]G[1]G[1]
D8G[3]G[0]G[0]G[2]G[0]G[0]
D7G[2]--G[1]-B[7]
D6G[1]--G[0]-B[6]
D5G[0]-B[4]B[5]B[5]B[5]
D4B[4]B[4]B[3]B[4]B[4]B[4]
D3B[3]B[3]B[2]B[3]B[3]B[3]
D2B[2]B[2]B[1]B[2]B[2]B[2]
D1B[1]B[1]B[0]B[1]B[1]B[1]
D0B[0]B[0]-B[0]B[0]B[0]

The LTDC interface can be configured to increase flexibility and promote correct use of this interface for several systems. The following configuration options are available:

For SHTDN and COLM sampling and transmission, the video streaming from the LTDC must be active. This means that if the LTDC is not actively generating the video signals like VSYNC and HSYNC, these signals are not transmitted through the DSI link. Because of such constraints and for commands to be correctly transmitted, the first VSYNC active pulse must occur for the command sampling and transmission. When shutting down the display, it is necessary for the LTDC to be kept active for one frame after the command being issued. This ensures that the commands are correctly transmitted before actually disabling the video generation at the LTDC interface.

The SHTDN and COLM values can be programmed in the DSI Wrapper control register (DSI_WCR).

For all of the data types, one entire pixel is received per each clock cycle. The number of pixels of payload is restricted to a multiple of a value, as shown in Table 282 .

Table 282. Multiplicity of the payload size in pixels for each data type

ValueData types
116-bit
18-bit loosely packed
24-bit
2Loosely packed pixel stream
418-bit non-loosely packed

34.5.1 Video transmission mode

There are different video transmission modes, namely:

Burst mode

In this mode, the entire active pixel line is buffered into a FIFO and transmitted in a single packet with no interruptions. This transmission mode requires that the DPI pixel FIFO has the capacity to store a full line of active pixel data inside it. This mode is optimally used when the difference between the pixel required bandwidth and DSI link bandwidth is significant, it enables the DSI Host to quickly dispatch the entire active video line in a single burst of data and then return to low-power mode.

Non-burst mode

In this mode, the processor uses the partitioning properties of the DSI Host to divide the video line transmission into several DSI packets. This is done to match the pixel required bandwidth with the DSI link bandwidth. With this mode, the controller configuration does not require a full line of pixel data to be stored inside the LTDC interface pixel FIFO. It requires only the content of one video packet.

Guidelines for selecting the burst or non-burst mode

Selecting the burst and non-burst mode is mainly dependent on the system configuration and the device requirements. Choose the video transmission mode that suits the application scenario. The burst mode is more beneficial because it increases the probability of the link spending more time in the low-power mode, decreasing power consumption. The following conditions must be met to get the maximum benefits from the burst mode of operation:

If the system cannot meet these requirements, it is likely that the pixel data is lost causing the malfunctioning of the display device while using the burst mode. These errors are related to the capabilities of the system to store the temporary pixel data.

If all the conditions for using the burst mode cannot be met, use the non-burst mode to avoid errors. The non-burst mode provides a better matching of rates for pixel transmission, enabling:

The DSI non-burst mode must be configured so that the DSI output pixel ratio matches with the LTDC interface input pixel ratio, reducing the memory requirements on both host and/or device side. This is achieved by dividing a pixel line into several chunks of pixels and optionally interleaving them with null packets.

The following equations show how the DSI Host core transmission parameters must be programmed in non-burst mode to match the DSI link pixel output ratio (left hand side of the “=” sign) and LTDC interface pixel input (right hand side of the “=” sign).

When the null packets are enabled:

\[ \text{lanebyteclkperiod} * \text{NUMC} (\text{VPSIZE} * \text{bytes\_per\_pixel} + 12 + \text{NPSIZE}) / \text{number\_of\_lanes} \\ = \text{pixels\_per\_line} * \text{LTDC\_Clock\_period} \]

When the null packets are disabled:

\[ \text{lanebyteclkperiod} * \text{NUMC} (\text{VPSIZE} * \text{bytes\_per\_pixel} + 6) / \text{number\_of\_lanes} \\ = \text{pixels\_per\_line} * \text{LTDC\_Clock\_period} \]

34.5.2 Updating the LTDC interface configuration in video mode

It is possible to update the LTDC interface configuration on the fly without impacting the current frame. It is done with the help of shadow registers. This feature is controlled by the DSI Host video shadow control register (DSI_VSCR).

The new configuration is only used when the system requests for it. To update the video configuration during the transmission of a video frame, the configuration of that frame needs to be stored in the auxiliary registers. This way, the new frame configurations can be set through the APB interface without corrupting the current frame.

By default, this feature is disabled. To enable this feature, set the enable (EN) bit of the DSI Host video shadow control register (DSI_VSCR) to 1.

When this feature is enabled, the system supplies the configuration stored in the auxiliary registers.

Figure 257 shows the necessary steps to update the LTDC interface configuration.

Figure 257. Flow to update the LTDC interface configuration using shadow registers

Flowchart illustrating the steps to update the LTDC interface configuration using shadow registers. The process starts with 'Configure the LTDC interface', which leads to 'Request update'. 'Request update' leads to 'Read DSI Host LTDC shadow control register'. From this register, a decision 'UR' (Update Register) is made. If 'Active', it loops back to 'Read DSI Host LTDC shadow control register'. If 'Accepted', it leads to 'Start video engine', which then leads to 'New resolution', which finally loops back to 'Configure the LTDC interface'. The diagram is labeled MSv35855V1.
graph TD
    A[Configure the LTDC interface] --> B[Request update]
    B --> C[Read DSI Host LTDC shadow control register]
    C --> D{UR}
    D -- Active --> C
    D -- Accepted --> E[Start video engine]
    E --> F[New resolution]
    F --> A
  

MSv35855V1

Flowchart illustrating the steps to update the LTDC interface configuration using shadow registers. The process starts with 'Configure the LTDC interface', which leads to 'Request update'. 'Request update' leads to 'Read DSI Host LTDC shadow control register'. From this register, a decision 'UR' (Update Register) is made. If 'Active', it loops back to 'Read DSI Host LTDC shadow control register'. If 'Accepted', it leads to 'Start video engine', which then leads to 'New resolution', which finally loops back to 'Configure the LTDC interface'. The diagram is labeled MSv35855V1.

Immediate update

When the shadow register feature is active, the auxiliary registers require the LTDC configuration before the video engine starts. This means that, after a reset, update register (UR) bit is immediately granted.

When it is required to immediately update the active registers without the reset (as in Figure 258 ), ensure that the enable (EN) and update register (UR) bits of the DSI Host video shadow control register (DSI_VSCR) are set to 0.

Figure 258. Immediate update procedure

Diagram of immediate update procedure showing two states of DSI Host registers. The first state shows Default DPI Config, EN=0, UR=0. An arrow labeled 'DPI CONFIG 1' points to this state. A transition arrow labeled 'Video Shadow Update' leads to the second state, which shows DPI Config 1, EN=1, UR=1.

The diagram illustrates the immediate update procedure. It shows two states of the DSI Host registers. The initial state, reached via 'DPI CONFIG 1', contains 'Default DPI Config', 'EN=0', and 'UR=0'. A 'Video Shadow Update' action transitions the system to a new state containing 'DPI Config 1', 'EN=1', and 'UR=1'. A small code 'MSv35856V2' is visible in the bottom right corner.

Diagram of immediate update procedure showing two states of DSI Host registers. The first state shows Default DPI Config, EN=0, UR=0. An arrow labeled 'DPI CONFIG 1' points to this state. A transition arrow labeled 'Video Shadow Update' leads to the second state, which shows DPI Config 1, EN=1, UR=1.

Updating the configuration during the transmission of a frame using APB

To update the LTDC interface configuration, follow the steps shown in Figure 259 :

Figure 259. Configuration update during the transmission of a frame

Diagram of configuration update during transmission showing two states of DSI Host registers. The first state shows Default DPI Config, EN=1, UR=0. An arrow labeled 'DPI CONFIG 1' points to this state. A transition arrow labeled 'Video Shadow Request' leads to the second state, which shows DPI Config 1, EN=1, UR=1.

The diagram illustrates the configuration update during the transmission of a frame. It shows two states of the DSI Host registers. The initial state, reached via 'DPI CONFIG 1', contains 'Default DPI Config', 'EN=1', and 'UR=0'. A 'Video Shadow Request' action transitions the system to a new state containing 'DPI Config 1', 'EN=1', and 'UR=1'. A small code 'MSv35857V2' is visible in the bottom right corner.

Diagram of configuration update during transmission showing two states of DSI Host registers. The first state shows Default DPI Config, EN=1, UR=0. An arrow labeled 'DPI CONFIG 1' points to this state. A transition arrow labeled 'Video Shadow Request' leads to the second state, which shows DPI Config 1, EN=1, UR=1.

Requesting a configuration update

It is possible to request for the LTDC interface configuration update at any part of the frame. DSI Host waits until the end of the frame to change the configuration. However, avoid sending the update request during the first line of the frame because the data must propagate between clock domains.

34.6 Functional description: adapted command mode on LTDC interface

The adapted command mode, enables the system to input a stream of pixel from the LTDC that is conveyed by DSI Host using the command mode transmission (using the DCS packets). The adapted command mode also supports pixel input control rate signaling and tearing effect report mechanism.

The adapted command mode makes it possible to send large amounts of data through the memory_write_start (WMS) and memory_write_continue (WMC) DCS commands. It helps in delivering a wider data bandwidth for the memory write operations sent in command mode to MIPI® displays and to refresh large areas of pixels in high resolution displays. If additional commands such as display configuration commands, read back commands, and tearing effect initialization are to be transferred, then the APB slave generic interface must be used to complement the adapted command mode functionality.

Adapted command mode of operation supports 16 bpp, 18 bpp, and 24 bpp RGB.

To transmit the image data in adapted command mode:

To transmit the image data, follow these steps:

Figure 260 shows the adapted command mode usage flow.

Figure 260. Adapted command mode usage flow

Sequence diagram showing the adapted command mode usage flow between a Video engine, a DSI controller, and a Display. The Video engine sends genIF: set_column_address and genIF: set_page_address to the DSI controller. The DSI controller then sends DCS: set_column_address and DCS: set_page_address to the Display. Next, the Video engine sends LTDCIF: vsync = 1, dpidataen = 1 to the DSI controller, which then sends a series of DCS: write_memory commands (start, continue1, continue2, continue3) to the Display. Finally, the Video engine sends LTDCIF: vsync = 0, dpidataen = 0 to the DSI controller. A label MSv35860V1 is present in the bottom right corner of the diagram area.
sequenceDiagram
    participant VE as Video engine
    participant DC as DSI controller
    participant D as Display
    Note right of D: MSv35860V1
    VE->>DC: genIF: set_column_address
    DC->>D: DCS: set_column_address
    VE->>DC: genIF: set_page_address
    DC->>D: DCS: set_page_address
    VE->>DC: LTDCIF: vsync = 1, dpidataen = 1
    DC->>D: DCS: write_memory_start
    DC->>D: DCS: write_memory_continue1
    DC->>D: DCS: write_memory_continue2
    DC->>D: DCS: write_memory_continue3
    VE->>DC: LTDCIF: vsync = 0, dpidataen = 0
  
Sequence diagram showing the adapted command mode usage flow between a Video engine, a DSI controller, and a Display. The Video engine sends genIF: set_column_address and genIF: set_page_address to the DSI controller. The DSI controller then sends DCS: set_column_address and DCS: set_page_address to the Display. Next, the Video engine sends LTDCIF: vsync = 1, dpidataen = 1 to the DSI controller, which then sends a series of DCS: write_memory commands (start, continue1, continue2, continue3) to the Display. Finally, the Video engine sends LTDCIF: vsync = 0, dpidataen = 0 to the DSI controller. A label MSv35860V1 is present in the bottom right corner of the diagram area.

When the command mode (CMDM) bit of the DSI Host mode configuration register (DSI_CFGR) is set to 1, the LTDC interface assumes the behavior corresponding to the adapted command mode.

In this mode, the host processor can use the LTDC interface to transmit a continuous stream of pixels to be written in the local frame buffer of the peripheral. It uses a pixel input bus to receive the pixels and controls the flow automatically to limit the stream of continuous pixels. When the first pixel is received, the current value of the command size (CMDSIZE) field of the DSI Host LTDC command configuration register (DSI_LCCR), is shadowed to the internal interface function. The interface increments a counter on every valid pixel that is input through the interface. When this pixel counter reaches command size (CMDSIZE), a command is written into the command FIFO, and the packet can be transmitted through the DSI link.

If the last pixel arrives before the counter reaches the value of shadowed command size (CMDSIZE), a WMS command is issued to the command FIFO with word count (WC) set to the number of bytes corresponding to the counter value. If more than CMDSIZE pixels are received (shadowed value), a WMS command is sent to the command FIFO with WC set to the number of bytes corresponding to the command size (CMDSIZE) and the counter is restarted.

After the first WMS command has been written to the FIFO, the circuit behaves in a similar way, but issues WMC commands instead of WMS commands. The process is repeated until the last pixel of the image is received. The core automatically starts sending a new packet

when the last pixel of the image is received, falls, or command size (CMDSIZE) limit is reached.

Synchronization with the LTDC

The DSI Wrapper performs the synchronization of the transfer process by:

The transfer to refresh the display frame buffer can be triggered

The selection between manual and automatic mode is done through the automatic refresh (AR) bit of the DSI Wrapper configuration register (DSI_WCFGR).

Once the transfer of one frame is done whatever in manual or automatic refresh mode, the DSI Wrapper halts the TFT display controller (LTDC), resetting the LTDC enable (LTDCEN) bit of the DSI Wrapper control register (DSI_WCR), and setting the end of refresh interrupt flag (ERIF) flag of the DSI Wrapper status register (DSI_WSR). If the end of refresh interrupt enable (ERIE) bit of the DSI Wrapper configuration register (DSI_WCFGR) is set, an interrupt is generated.

The end of refresh interrupt flag (ERIF) flag of the DSI Wrapper status register (DSI_WSR) can be reset setting the clear end of refresh interrupt flag (CERIF) bit of the DSI Wrapper clear interrupt flag register (DSI_WCIFR).

The halting of the TFT display controller (LTDC) by the DSI Wrapper is done synchronously on a rising edge or a falling edge of VSync according to the VSync polarity (VSPOL) bit of the DSI Wrapper configuration register (DSI_WCFGR).

Support of tearing effect

The DSI specification supports tearing effect function in command mode displays. It enables the Host processor to receive timing accurate information about where the display peripheral is in the process of reading the content of its frame buffer.

The tearing effect can be managed through:

Tearing effect through a GPIO

When the tearing effect source (TESRC) bit of the DSI Wrapper configuration register (DSI_WCFGR) is set, the tearing effect is signaled through a GPIO.

The polarity of the input signal can be configured by the tearing effect polarity (TEPOL) bit of the DSI Wrapper configuration register (DSI_WCFGR).

When the programmed edge is detected, the tearing effect interrupt flag (TEIF) bit of the DSI Wrapper interrupt and status register (DSI_WISR) is set.

If the tearing effect interrupt enable (TEIE) bit of the DSI Wrapper interrupt enable register (DSI_WIER) is set, an interrupt is generated.

When the TESRC bit of the DSI Wrapper configuration register (DSI_WCFGR) is reset, the tearing effect is managed through the DSI link:

The DSI Host performs a double bus turn-around (BTA) after sending the set_tear_on command granting the ownership of the link to the DSI display. The display holds the ownership of the bus until the tear event occurs, which is indicated to the DSI Host by a D-PHY trigger event. The DSI Host then decodes the trigger and reports the event setting the tearing effect interrupt flag (TEIF) bit of the DSI Wrapper interrupt and status register (DSI_WISR).

If the tearing effect interrupt enable (TEIE) bit of the DSI Wrapper interrupt enable register (DSI_WIER) is set, an interrupt is generated.

To use this function, it is necessary to issue a set_tear_on command after the update of the display using the WMS and WMC DCS commands. This procedure halts the DSI link until the display is ready to receive a new frame update.

The DSI Host does not automatically generate the tearing effect request (double BTA) after a WMS/WMC sequence for flexibility purposes, so several regions of the display can be updated improving DSI bandwidth usage. Tearing effect request must always be triggered by a set_tear_on command in the DSI Host implementation.

Configure the following registers to activate the tearing effect:

34.7 Functional description: APB slave generic interface

The APB slave interface allows the transmission of generic information in command mode, and follows a proprietary register interface. Commands sent through this interface are not constrained to comply with the DCS specification, and can include generic commands described in the DSI specification as manufacturer-specific.

The DSI Host supports the transmission of write and read command mode packets as described in the DSI specification. These packets are built using the APB register access. The DSI Host generic payload data register (DSI_GPDR) has two distinct functions based on the operation. Writing to this register sends the data as payload when sending a command mode packet. Reading this register returns the payload of a read back operation. The DSI Host generic header configuration register (DSI_GHCR) contains the command mode packet header type and header data. Writing to this register triggers the transmission of the packet implying that for a long command mode packet, the packet payload needs to be written in advance in the DSI Host generic payload data register (DSI_GPDR).

The valid packets that can be transmitted through the generic interface are the following:

A set of bits in the DSI Host generic packet status register (DSI_GPSR) reports the status of the FIFO associated with APB interface support.

Generic interface packets are always transported using one of the DSI transmission modes, that is, video mode or command mode. If neither of these modes is selected, the packets are not transmitted through the link, and the related FIFO eventually becomes overflowed.

34.7.1 Packet transmission using the generic interface

The transfer of packets through the APB bus is based on the following conditions:

In this formula, the number 32 represents the APB data bus width, and the division by two is present because each APB write procedure takes two clock cycles to be executed.

To drive the APB interface to achieve high bandwidth command mode traffic transported by the DSI link, the DSI Host must operate only in the command mode, and the APB interface must be the only data source in use. Thus, the APB interface has the entire bandwidth of the DSI link and does not share it with any another input interface source.

The memory write commands require maximum throughput from the APB interface, because they contain the most amount of data conveyed by the DSI link. While writing the packet information, first write the payload of a given packet into the payload FIFO using the DSI Host generic payload data register (DSI_GPCR). When the payload data is for the command parameters, place the first byte to be transmitted in the least significant byte position of the APB data bus.

After writing the payload, write the packet header into the command FIFO. For more information about the packet header organization on the 32-bit APB data bus, so that it is correctly stored inside the command FIFO.

When the payload data is for a memory write command, it contains pixel information and it must follow the pixel to byte conversion organization referred in the Annex A of the DCS specification.

Figures 261 to 265 show how the pixel data must be organized in the APB data write bus.

The memory write commands are conveyed in DCS long packets, encapsulated in a DSI packet. The DSI specifies that the DCS command must be present in the first payload byte of the packet. This is also included in the diagrams. In figures 261 to 265, the write memory command can be replaced by the DCS command write memory Start and write memory Continue .

Figure 261. 24 bpp APB pixel to byte organization

Diagram showing the 24 bpp APB pixel to byte organization. It illustrates five rows of pixel data (pwdata(0) to pwdata(4)) across a 32-bit bus. Each row contains four 8-bit segments. pwdata(0) contains B0[7:0], G0[7:0], R0[7:0], and a Write_mem Command. Subsequent rows contain interleaved Red, Green, and Blue components. A legend on the right shows the pixel structure for 24 bpp: R0[7:0], G0[7:0], B0[7:0].

The diagram illustrates the organization of pixel data on a 32-bit APB bus for 24-bit per pixel (bpp) format. The bus is divided into four 8-bit segments. The data is organized into five rows (pwdata(0) to pwdata(4)).

Pixel 24 bpp structure:

MSv35861V1

Diagram showing the 24 bpp APB pixel to byte organization. It illustrates five rows of pixel data (pwdata(0) to pwdata(4)) across a 32-bit bus. Each row contains four 8-bit segments. pwdata(0) contains B0[7:0], G0[7:0], R0[7:0], and a Write_mem Command. Subsequent rows contain interleaved Red, Green, and Blue components. A legend on the right shows the pixel structure for 24 bpp: R0[7:0], G0[7:0], B0[7:0].

Figure 262. 18 bpp APB pixel to byte organization

Diagram of 18 bpp APB pixel to byte organization showing five rows of pixel data (pwdata(0) to pwdata(4)) packed into 32-bit words. Each row contains color components (R, G, B) and padding (2'd0) or a write command. A legend on the right shows the pixel format: R0[5:0], G0[5:0], B0[5:0].

Figure 262 illustrates the 18 bpp APB pixel to byte organization. The diagram shows five rows of pixel data (pwdata(0) to pwdata(4)) packed into 32-bit words. Each row contains color components (R, G, B) and padding (2'd0) or a write command. The data is organized into four 8-bit segments per 32-bit word.

The pixel format is 18 bpp, with the following color components:

The diagram shows the following data for each row:

MSv35862V1

Diagram of 18 bpp APB pixel to byte organization showing five rows of pixel data (pwdata(0) to pwdata(4)) packed into 32-bit words. Each row contains color components (R, G, B) and padding (2'd0) or a write command. A legend on the right shows the pixel format: R0[5:0], G0[5:0], B0[5:0].

Figure 263. 16 bpp APB pixel to byte organization

Diagram of 16 bpp APB pixel to byte organization showing four rows of pixel data (pwdata(0) to pwdata(3)) packed into 32-bit words. Each row contains color components (R, G, B) and padding (2'd0) or a write command. A legend on the right shows the pixel format: R0[4:0], G0[5:0], B0[4:0].

Figure 263 illustrates the 16 bpp APB pixel to byte organization. The diagram shows four rows of pixel data (pwdata(0) to pwdata(3)) packed into 32-bit words. Each row contains color components (R, G, B) and padding (2'd0) or a write command. The data is organized into four 8-bit segments per 32-bit word.

The pixel format is 16 bpp, with the following color components:

The diagram shows the following data for each row:

MSv35863V1

Diagram of 16 bpp APB pixel to byte organization showing four rows of pixel data (pwdata(0) to pwdata(3)) packed into 32-bit words. Each row contains color components (R, G, B) and padding (2'd0) or a write command. A legend on the right shows the pixel format: R0[4:0], G0[5:0], B0[4:0].

Figure 264. 12 bpp APB pixel to byte organization

Diagram showing 12 bpp APB pixel to byte organization with four data lines (pwdata(0) to pwdata(3)) and their corresponding pixel components (R, G, B) and bit ranges.

The diagram illustrates the 12 bpp APB pixel to byte organization. It shows four data lines, pwdata(0) through pwdata(3), each containing a sequence of 8-bit bytes. The bytes are color-coded: red for Red (R), green for Green (G), and cyan for Blue (B). The bit ranges for each component are [3:0].

The overall bit range is [31 ..... 0]. The diagram is labeled MSv35864V1.

Diagram showing 12 bpp APB pixel to byte organization with four data lines (pwdata(0) to pwdata(3)) and their corresponding pixel components (R, G, B) and bit ranges.

Figure 265. 8 bpp APB pixel to byte organization

Diagram showing 8 bpp APB pixel to byte organization with three data lines (pwdata(0) to pwdata(2)) and their corresponding pixel components (R, G, B) and bit ranges.

The diagram illustrates the 8 bpp APB pixel to byte organization. It shows three data lines, pwdata(0) through pwdata(2), each containing a sequence of 8-bit bytes. The bytes are color-coded: red for Red (R), green for Green (G), and cyan for Blue (B). The bit ranges for each component are [2:0] for R and G, and [1:0] for B.

The overall bit range is [31 ..... 0]. The diagram is labeled MSv35865V1.

Diagram showing 8 bpp APB pixel to byte organization with three data lines (pwdata(0) to pwdata(2)) and their corresponding pixel components (R, G, B) and bit ranges.

34.8 Functional description: timeout counters

The DSI Host includes counters to manage timeout during the various communication phases. The duration of each timeout can be configured by the six timeout counter configuration registers (DSI_TCCR0...5).

There are two types of counters:

34.8.1 Contention error detection timeout counters

The DSI Host implements a set of counters and conditions to notify the errors. It features a set of registers to control the timers used to determine if a timeout has occurred, and also contains a set of interruption status registers that are cleared upon a read operation (detailed in Table 283 ). Optionally, these registers also trigger an interrupt signal that can be used by the system to be activated when an error occurs within the DSI connection.

Table 283. Contention detection timeout counters configuration

Timeout counterValue registerValue fieldFlag registerFlag field
High-speed transmissionDSI_TCCR0TOHSTXDSI_ISR1TOHSTX
Low-power receptionDSI_TCCR0TOLPRXDSI_ISR1TOLPRX

Time units for these 16-bit counters are configured in cycles defined in the timeout clock division (TOCKDIV) field in the DSI Host clock control register (DSI_CCR).

The value written to the timeout clock division (TOCKDIV) field in the DSI Host clock control register (DSI_CCR) defines the time unit for the timeout limits using the lane byte clock as input.

This mechanism increases the range to define these limits.

High-speed transmission contention detection

The timeout duration is configured in the high-speed transmission timeout count (HSTX_TOCNT) field of the DSI Host timeout counter configuration register 1 (DSI_TCCR0). A 16-bit counter measures the time during which the high-speed mode is active.

If that counter reaches the value defined by the high-speed transmission timeout count (HSTX_TOCNT) field of the DSI Host timeout counter configuration register 1 (DSI_TCCR0), the timeout high-speed transmission (TOHSTX) bit in the DSI Host interrupt and status register 1 (DSI_ISR1) is asserted and an internal soft reset is generated to the DSI Host.

If the timeout high-speed transmission interrupt enable (TOHSTXIE) bit of the DSI Host interrupt enable register 1 (DSI_IER1) is set, an interrupt is generated.

Low-power reception contention detection

The timeout is configured in the low-power reception timeout counter (LPRX_TOCNT) field of the DSI Host timeout counter configuration register 1 (DSI_TCCR1). A 16-bit counter measures the time during which the low-power reception is active.

If that counter reaches the value defined by the low-power reception timeout counter (LPRX_TOCNT) field of the DSI Host timeout counter configuration register 1 (DSI_TCCR0), the timeout low-power reception (TOLPRX) bit in the DSI Host interrupt and status register 1 (DSI_ISR1) is asserted and an internal soft reset is generated to the DSI Host.

If the timeout low-power reception interrupt enable (TOLPRXIE) bit of the DSI Host interrupt enable register 1 (DSI_IER1) is set, an interrupt is generated. Once the software gets notified by the interrupt, it must reset the D-PHY by deasserting and asserting the digital enable (DEN) bit of the DSI Host PHY control register (DSI_PCTLR).

34.8.2 Peripheral response timeout counters

A peripheral may not immediately respond correctly to some received packets. For example, a peripheral receives a read request, but due to its architecture cannot access the RAM for a while (for example, the panel is being refreshed and takes some time to respond). In this case, set a timeout to ensure that the host waits long enough so that the device is able to process the previous data before receiving the new data or responding correctly to new requests.

Table 284 lists the events belonging to various categories having an associated timeout for peripheral response.

Table 284. List of events of different categories of the PRESP_TO counter

CategoryEvent
Items implying a BTA PRESP_TOBus-turn-around
READ requests indicating a PRESP_TO (replicated for HS and LP)(0x04) Generic read, no parameters short
(0x14) Generic read, 1 parameter short
(0x24) Generic read, 2 parameters short
(0x06) DCS read, no parameters short
WRITE requests indicating a PRESP_TO (replicated for HS and LP)(0x03) Generic short write, no parameters short
(0x13) Generic short write, 1 parameter short
(0x23) Generic short write, 2 parameters short
(0x29) Generic long write long
(0x05) DCS short write, no parameters short
(0x15) DCS short write, 1 parameter short
(0x39) DCS long write/write_LUT, command packet long
(0x37) Set maximum return packet size

The DSI Host ensures that, on sending an event that triggers a timeout, the D-PHY switches to the Stop state and a counter starts running until it reaches the value of that timeout. The link remains in the LP-11 state and unused until the timeout ends, even if there are other events ready to be transmitted.

Figures 266 to 268 illustrate the flow of counting in the PRESP_TO counter for the three categories listed in Table 284 .

Figure 266. Timing of PRESP_TO after a bus-turn-around

Sequence diagram showing Host-Device communication with PRESP_TO timer logic.

The diagram illustrates the timing of a PRESP_TO (Pre-Response Timeout) timer after a bus-turn-around (BTA) in a DSI Host-Device interaction. The sequence of events is as follows:

The diagram uses dashed vertical lines for lifelines and solid arrows for message exchanges. Small squares mark the start and end of messages and events. A bracket on the Host lifeline indicates the active period for the PRESP_TO timer, starting from the second BTA transmission and ending when the Device Ready signal is received.

Sequence diagram showing Host-Device communication with PRESP_TO timer logic.

MSV35866V1

Figure 267. Timing of PRESP_TO after a read request (HS or LP)

Sequence diagram showing the timing of PRESP_TO after a read request between a Host and a Device. The diagram includes messages for READ Request, LP-11, BTA, and READ Resp | Ack & Error Rpt, with timers for Timer < PRESP_TO and PRESP_TO.

The diagram illustrates the timing of PRESP_TO after a read request between a Host and a Device. The sequence of events is as follows:

MSV35867V1

Sequence diagram showing the timing of PRESP_TO after a read request between a Host and a Device. The diagram includes messages for READ Request, LP-11, BTA, and READ Resp | Ack & Error Rpt, with timers for Timer < PRESP_TO and PRESP_TO.

Figure 268. Timing of PRESP_TO after a write request (HS or LP)

Timing diagram showing Host and Device interaction. The Host sends a WRITE Request to the Device. A timer labeled 'Timer < PRESP_TO' starts at the Host. The Device responds with 'Device Ready'. An 'Arbitrary event after WRITE Req.' occurs on the Host side. The diagram also shows 'LP-11' and 'PRESP_TO' states.

The diagram illustrates the timing of the PRESP_TO counter after a write request. A Host sends a WRITE Request to a Device. A timer labeled 'Timer < PRESP_TO' starts at the Host. The Device responds with 'Device Ready'. An 'Arbitrary event after WRITE Req.' occurs on the Host side. The diagram also shows 'LP-11' and 'PRESP_TO' states. The code MSV35868V1 is noted in the bottom right corner.

Timing diagram showing Host and Device interaction. The Host sends a WRITE Request to the Device. A timer labeled 'Timer < PRESP_TO' starts at the Host. The Device responds with 'Device Ready'. An 'Arbitrary event after WRITE Req.' occurs on the Host side. The diagram also shows 'LP-11' and 'PRESP_TO' states.

Table 285 describes the fields used for the configuration of the PRESP_TO counter.

Table 285. PRESP_TO counter configuration

DescriptionRegisterField
Period for which the DSI Host keeps the link stillAfter sending a High-speed read operationDSI_TCCR1HSRD_TOCNT
After sending a Low-power read operationDSI_TCCR2LPRD_TOCNT
After completing a Bus-turn-around (BTA)DSI_TCCR5BTA_TOCNT
Period for which the DSI Host keeps the link inactiveAfter sending a High-speed write operationDSI_TCCR3HSWR_TOCNT
After sending a Low-power write operationDSI_TCCR4LPWR_TOCNT

The values in these registers are measured in number of cycles of the lane byte clock. These registers are only used in command mode because in video mode, there is a rigid timing schedule to be met to keep the display properly refreshed and it must not be broken by these or any other timeouts. Setting a given timeout to 0 disables going into LP-11 state and timeout for events of that category.

The read and the write requests in high-speed mode are distinct from those in low-power mode. For example, if HSRD_TOCNT is set to 0 and LPRD_TOCNT is set to a non-0 value, a generic read with no parameters does not activate the PRESP_TO counter in high-speed, but activates the PRESP_TO in low-power.

The DSI Host timeout counter configuration register 4 (DSI_TCCR3) includes a special Presp mode (PM) bit to change the normal behavior of PRESP_TO in Adaptive command

mode for high-speed write operation timeout. When set to 1, this bit allows the RESP_TO from HSWR_TOCNT to be used only once, when both of the following conditions are met:

In this scenario, non-adapted command mode requests are not sent to the D-PHY, even if there is traffic from the generic interface ready to be sent, returning them to the Stop state. When it happens, the RESP_TO counter is activated and only when it is completed, the DSI Host sends any other traffic that is ready, as illustrated in Figure 269.

Figure 269. Effect of prep mode at 1

Timing diagram showing various signals over time: dpivsync_edpiwms, dpidataen, dpidata[29:0], edpi_fifo_empty, gen_wr_en, gen_data[31:0], link_state[1:0], link_data[31:0], and RESP_TO_active. The diagram illustrates the effect of prep mode at 1 on data transmission.

The timing diagram illustrates the relationship between several signals during a DSI Host operation. The signals are as follows:

The diagram shows that when PRESP_TO is active, the transmission of non-adapted command mode requests (like those on the gen_data bus) is suspended until the counter completes. The identifier MSv35880V1 is present in the bottom right corner.

Timing diagram showing various signals over time: dpivsync_edpiwms, dpidataen, dpidata[29:0], edpi_fifo_empty, gen_wr_en, gen_data[31:0], link_state[1:0], link_data[31:0], and RESP_TO_active. The diagram illustrates the effect of prep mode at 1 on data transmission.

34.9 Functional description: transmission of commands

34.9.1 Transmission of commands in video mode

The DSI Host supports the transmission of commands, both in high-speed and low-power, while in video mode. The DSI Host uses blanking or low-power (BLLP) periods to transmit commands inserted through the APB generic interface. Those periods correspond to the gray areas of Figure 270 .

Figure 270. Command transmission periods within the image area

Diagram of command transmission periods within the image area. The diagram shows a frame structure with three rows of blocks. The top row has a white block 'VSS or HSS' followed by a gray block 'BLLP'. The middle row has four blocks: 'HSS+HBP' (white), 'RGB' (white), 'BLLP in burst mode' (gray), and 'HFP' (gray). The bottom row has a white block 'HSS' followed by a gray block 'BLLP'. To the right of the frame, three double-headed arrows indicate vertical regions: 'VSA and VBP lines' for the top row, 'VACT lines' for the middle row, and 'VFP lines' for the bottom row. The identifier 'MSv35869V1' is in the bottom right corner.
Diagram of command transmission periods within the image area. The diagram shows a frame structure with three rows of blocks. The top row has a white block 'VSS or HSS' followed by a gray block 'BLLP'. The middle row has four blocks: 'HSS+HBP' (white), 'RGB' (white), 'BLLP in burst mode' (gray), and 'HFP' (gray). The bottom row has a white block 'HSS' followed by a gray block 'BLLP'. To the right of the frame, three double-headed arrows indicate vertical regions: 'VSA and VBP lines' for the top row, 'VACT lines' for the middle row, and 'VFP lines' for the bottom row. The identifier 'MSv35869V1' is in the bottom right corner.

Commands are transmitted in the blanking periods after the following packets/states:

Besides the areas corresponding to BLLP, large commands can also be sent during the last line of a frame. In that case, the line time for the video mode is violated and the edpihalt signal is set to request the DPI video timing signals to remain inactive. Only if a command does not fit into any BLLP area, it is postponed to the last line, causing the violation of the line time for the video mode, as illustrated in Figure 271 .

Figure 271. Transmission of commands on the last line of a frame

Timing diagram showing the transmission of commands on the last line of a frame. The diagram displays four signals: dpivsync, dpihsync, dpidataen, and edpihalt. The dpivsync signal is high for the first part of the frame and goes low at the start of the last line. The dpihsync signal is a periodic square wave. The dpidataen signal is high during the active data transmission. The edpihalt signal is low during the active data transmission and goes high at the end of the last line. Two callouts indicate: 'Where vsync would have asserted if dpihalt stayed low' pointing to the falling edge of dpivsync, and 'vsync can assert immediately after dpihalt de-asserts' pointing to the rising edge of edpihalt. The frame time is indicated by double-headed arrows above the signals. The diagram is labeled MSV35881V1.
Timing diagram showing the transmission of commands on the last line of a frame. The diagram displays four signals: dpivsync, dpihsync, dpidataen, and edpihalt. The dpivsync signal is high for the first part of the frame and goes low at the start of the last line. The dpihsync signal is a periodic square wave. The dpidataen signal is high during the active data transmission. The edpihalt signal is low during the active data transmission and goes high at the end of the last line. Two callouts indicate: 'Where vsync would have asserted if dpihalt stayed low' pointing to the falling edge of dpivsync, and 'vsync can assert immediately after dpihalt de-asserts' pointing to the rising edge of edpihalt. The frame time is indicated by double-headed arrows above the signals. The diagram is labeled MSV35881V1.

Only one command is transmitted per line, even in the case of the last line of a frame but one command is possible for each line.

There can be only one command sent in low-power per line. However, one low-power command is possible for each line. In high-speed, the DSI Host can send more than one command, as many as it determines to fit in the available time.

The DSI Host avoids sending commands in the last line because it is possible that the last line is shorter than the other ones. For instance, the line time ( \( t_L \) ) can be half a cycle longer than the \( t_L \) on the LTDC interface, that is, each line in the frame taking half a cycle from time for the last line. This results in the last line being \( (\frac{1}{2} \text{ cycle}) \times (\text{number of lines} - 1) \) shorter than \( t_L \) .

The COLM and SHTDN bits of the DSI Wrapper control register (DSI_WCR) are also able to trigger the sending of command packets. The commands are:

These commands are not sent in the VACT region. If the low-power command enable (LPCE) bit of the DSI Host video mode configuration register (DSI_VMCR) is set, these commands are sent in low-power mode.

In low-power mode, the largest packet size (LPSIZE) field of the DSI Host low-power mode configuration register (DSI_LPMCR) is used to determine if these commands can be transmitted. It is assumed that largest packet size (LPSIZE) is greater than or equal to four bytes (number of bytes in a short packet), because the DSI Host does not transmit these commands on the last line.

If the frame bus-turn-around acknowledge enable (FBTAEE) bit is set in the DSI Host low-power mode configuration register (DSI_LPMCR), a BTA is generated by DSI Host after the last line of a frame. This may coincide with a write command or a read command. In either case, the LTDC interface is halted until an acknowledge is received (control of the DSI bus is returned to the host).

34.9.2 Transmission of commands in low-power mode

DSI Host can be configured to send the low-power commands during the high-speed video mode transmission.

To enable this feature, set the Low Power command enable (LPCE) bit of the DSI Host video mode configuration register (DSI_VMCR) to 1. In this case, it is necessary to calculate the time available, in bytes, to transmit a command in low-power mode to horizontal front-porch (HFP), vertical sync active (VSA), vertical back-porch (VBP), and vertical front-porch (VFP) regions.

Bits 8 to 13 of the video mode configuration register (DSI_VMCR) indicate if DSI Host can go to LP when idle. If the low-power command enable (LPCE) bit is set and non-video packets are in queue, DSI Host ignores the low-power configuration and transmits low-power commands, even if it is not allowed to enter low-power mode in a specific region. After the low-power commands transmission, DSI Host remains in low-power until a sync event occurs.

For example, consider that the VFP is selected as high-speed region (LPVFPE = 1'b0) with LPCE set as a command to transmit in low-power in the VPF region. This command is transmitted in low-power, and the line stays in low-power mode until a new HSS arrives.

Calculating the time to transmit commands in LP mode in the VSA, VBP, and VFP regions

The largest packet size (LPSIZE) field of the DSI Host low-power mode configuration register (DSI_LPMCR) indicates the time available (in bytes) to transmit a command in low-power mode (based on the escape clock) on a line during the VSA, VBP, and the VFP regions.

Calculation of largest packet size (LPSIZE) depends on the used video mode.

Figure 272 illustrates the timing intervals for the video mode in non-burst with sync pulses, while Figure 273 refers to video mode in burst and non-burst with sync events.

Figure 272. LPSIZE for non-burst with sync pulses

Timing diagram for non-burst with sync pulses showing the sequence of events and timing intervals for low-power command transmission.

The diagram shows the timing for non-burst mode with sync pulses. The sequence starts with HSS, HSA, and HSE packets. This is followed by a transition block HS→LP. The low-power phase consists of an EscEntry block, an LPDT command block, a large outvact_lpcmd_time block, an EscExit block, and a 2 t ESCCLK block. The sequence ends with a transition block LP→HS. Timing intervals are defined as: \( t_{H1} \) (HSS to HSA), \( t_{HS \rightarrow LP} \) (HSA to start of LP), \( t_{LPDT} \) (duration of EscEntry and LPDT command), \( t_{LPDT} \) (duration of EscExit and 2 t ESCCLK ), and \( t_{LPS \rightarrow HS} \) (LP to HS transition). The total line time is \( t_L \) . Label: MSV35870V1.

Timing diagram for non-burst with sync pulses showing the sequence of events and timing intervals for low-power command transmission.

Figure 273. LPSIZE for burst or non-burst with sync events

Timing diagram for burst or non-burst mode with sync events showing the sequence of events and timing intervals for low-power command transmission.

The diagram shows the timing for burst or non-burst mode with sync events. The sequence starts with an HSS packet, followed immediately by a transition block HS→LP. The low-power phase consists of an EscEntry block, an LPDT command block, a large outvact_lpcmd_time block, an EscExit block, and a 2 t ESCCLK block. The sequence ends with a transition block LP→HS. Timing intervals are defined as: \( t_{H1} \) (HSS duration), \( t_{HS \rightarrow LP} \) (HSS to start of LP), \( t_{LPDT} \) (duration of EscEntry and LPDT command), \( t_{LPDT} \) (duration of EscExit and 2 t ESCCLK ), and \( t_{LPS \rightarrow HS} \) (LP to HS transition). The total line time is \( t_L \) . Label: MSV35871V1.

Timing diagram for burst or non-burst mode with sync events showing the sequence of events and timing intervals for low-power command transmission.

This time is calculated as follows:

\[ \text{LPSIZE} = (t_L - (t_{H1} + t_{\text{HS}\rightarrow\text{LP}} + t_{\text{LPHS}} + t_{\text{LPDT}} + 2 t_{\text{ESCCCLK}})) / (2 \times 8 \times t_{\text{ESCCCLK}}), \text{ where} \]

In the above equation, division by eight is done to convert the available time to bytes. Division by two is done because one bit is transmitted every two escape clock cycles. The largest packet size (LPSIZE) field can be compared directly with the size of the command to be transmitted to determine if there is enough time to transmit the command. The maximum size of a command that can be transmitted in low-power mode is limited to 255 bytes by this field. Program this register to a value greater than or equal to 4 bytes for the transmission of the DCTRL commands, such as shutdown and color in low-power mode.

Consider an example of a frame with 12.4 \( \mu\text{s} \) per line and assume an escape clock frequency of 20 MHz and a lane bit rate of 800 Mbit/s. In this case, it is possible to send 124 bits in escape mode (that is, 124 bit = 12.4 \( \mu\text{s} \) * 20 MHz / 2). Still, you need to consider the D-PHY protocol and PHY timings.

The following assumptions are made:

In this example, a 13-byte command can be transmitted as follows:

\[ \text{LPSIZE} = (12.4 \mu\text{s} - (420 \text{ ns} + 180 \text{ ns} + 200 \text{ ns} + (22 \times 50 \text{ ns} + 2 \times 50 \text{ ns}))) / (2 \times 8 \times 50 \text{ ns}) = 13 \text{ bytes}. \]

Calculating the time to transmit commands in low-power mode in HFP region

The VACT largest packet size (VLPSIZE) field of the DSI Host low-power mode configuration register (DSI_LPMCR) indicates the time available (in bytes) to transmit a command in low-power mode (based on the escape clock) in the vertical active (VACT) region.

To calculate the value of VACT largest packet size (VLPSIZE), consider the video mode being used. Figure 274 shows the timing intervals for video mode in non-burst with sync pulses, Figure 275 those for video mode in non-burst with sync events, and Figure 276 refers to the burst video mode.

Figure 274. VLPSIZE for non-burst with sync pulses

Timing diagram for non-burst with sync pulses showing various time intervals and signal states.

Timing diagram for non-burst with sync pulses. The diagram shows a sequence of signal states and timing intervals. The signal starts in HSS (High Speed Sync) state, followed by HSA (Horizontal Sync Active), HBP (Horizontal Back Porch), and HACT with Blanking Non-Burst. It then transitions to HS→LP (High Speed to Low Power) state, followed by EscEntry, LPDT command, invact_lpcmd_time, EscExit, 2 t ESCCLK , and LP→HS (Low Power to High Speed) state. The total line time is t L . The timing intervals are defined as follows: t HSA (time of the HSA pulse), t HBP (time of horizontal back-porch), t HACT (time of video active), t HS→LP (time of HS→LP transition), t LPDT (time of LPDT command), and t LP→HS (time of LP→HS transition).

Timing diagram for non-burst with sync pulses showing various time intervals and signal states.

Figure 275. VLPSIZE for non-burst with sync events

Timing diagram for non-burst with sync events showing various time intervals and signal states.

Timing diagram for non-burst with sync events. The diagram shows a sequence of signal states and timing intervals. The signal starts in HSS (High Speed Sync) state, followed by HSA (Horizontal Sync Active), HBP (Horizontal Back Porch), and HACT with Blanking Non-Burst. It then transitions to HS→LP (High Speed to Low Power) state, followed by EscEntry, LPDT command, invact_lpcmd_time, EscExit, 2 t ESCCLK , and LP→HS (Low Power to High Speed) state. The total line time is t L . The timing intervals are defined as follows: t HSA (time of the HSA pulse), t HBP (time of horizontal back-porch), t HACT (time of video active), t HS→LP (time of HS→LP transition), t LPDT (time of LPDT command), and t LP→HS (time of LP→HS transition).

Timing diagram for non-burst with sync events showing various time intervals and signal states.

Figure 276. VLPSIZE for burst mode

Timing diagram for burst mode showing various time intervals and signal states.

Timing diagram for burst mode. The diagram shows a sequence of signal states and timing intervals. The signal starts in HSS (High Speed Sync) state, followed by HSA (Horizontal Sync Active), HBP (Horizontal Back Porch), and HACT Burst. It then transitions to HS→LP (High Speed to Low Power) state, followed by EscEntry, LPDT command, invact_lpcmd_time, EscExit, 2 t ESCCLK , and LP→HS (Low Power to High Speed) state. The total line time is t L . The timing intervals are defined as follows: t HSA (time of the HSA pulse), t HBP (time of horizontal back-porch), t HACT (time of video active), t HS→LP (time of HS→LP transition), t LPDT (time of LPDT command), and t LP→HS (time of LP→HS transition).

Timing diagram for burst mode showing various time intervals and signal states.

This time is calculated as follows:

\[ \text{VLPSIZE} = (t_L - (t_{\text{HSA}} + t_{\text{HBP}} + t_{\text{HACT}} + t_{\text{HS}\rightarrow\text{LP}} + t_{\text{LP}\rightarrow\text{HS}} + t_{\text{LPDT}} + 2 t_{\text{ESCCLK}})) / (2 \times 8 \times t_{\text{ESCCLK}}) \]

where

The VLPSIZE field can be compared directly with the size of the command to be transmitted to determine if there is time to transmit the command.

Consider an example of a frame with 16.4 \( \mu\text{s} \) per line and assume an escape clock frequency of 20 MHz and a lane bit rate of 800 Mbits/s. In this case, it is possible to send 420 bits in escape mode (that is, \( 164 \text{ bits} = 16.4 \mu\text{s} \times 20 \text{ MHz} / 2 \) ). Still, since it is the vertical active region of the frame, consider the HSA, HBP, and HACT timings apart from the D-PHY protocol and PHY timings. The following assumptions are made:

In this example, consider that video is sent in non-burst mode. The VLPSIZE is calculated as follows:

\[ \text{VLPSIZE} = (16.4 \mu\text{s} - (420 \text{ ns} + 800 \text{ ns} + 12.8 \mu\text{s} + 180 \text{ ns} + 200 \text{ ns} + (22 \times 50 \text{ ns} + 2 \times 50 \text{ ns}))) / (2 \times 8 \times 50 \text{ ns}) = 1 \text{ byte} \]

Only one byte can be transmitted in this period. A short packet (for example, generic short write) requires a minimum of four bytes. Therefore, in this example, commands are not sent in the VACT region.

If burst mode is enabled, more time is available to transmit the commands in the VACT region, because HACT is time compressed.

\[ \text{VLPSIZE} = (16.4 \mu\text{s} - (420 \text{ ns} + 800 \text{ ns} + (1280 \times 3 / 4 \times 10 \text{ ns}) + 180 \text{ ns} + 200 \text{ ns} + (22 \times 50 \text{ ns} + 2 \times 50 \text{ ns}))) / (2 \times 8 \times 50 \text{ ns}) = 5 \text{ bytes} \]

For burst mode, the VLPSIZE is 5 bytes and then a 4-byte short packet can be sent.

Transmission of commands in different periods

The LPSIZE and VLPSIZE fields allow a simple comparison to determine if a command can be transmitted in any of the BLLP periods.

Figure 277 illustrates the meaning of VLPSIZE and LPSIZE, matching them with the shaded areas and the VACT region.

Figure 277. Location of LPSIZE and VLPSIZE in the image area

Diagram of the image area layout showing the location of LPSIZE and VLPSIZE. The diagram is a grid representing the image area. The top row consists of 'VSS or HSS' and 'BLLP'. The middle row consists of 'HSS+HBP', 'RGB', 'BLLP in burst mode', and 'HFP'. The bottom row consists of 'HSS' and 'BLLP'. On the right side, three vertical double-headed arrows indicate 'VSA and VBP lines' (spanning the top row), 'VACT lines' (spanning the middle row), and 'VFP lines' (spanning the bottom row). At the bottom, two horizontal double-headed arrows indicate 'DSI_LPMCR.LPSIZE' (spanning the width of the 'HSS' and 'BLLP' blocks) and 'DSI_LPMCR.VLPSIZE' (spanning the width of the 'RGB' and 'BLLP in burst mode' blocks). The code 'MSv35874V1' is in the bottom right corner.
Diagram of the image area layout showing the location of LPSIZE and VLPSIZE. The diagram is a grid representing the image area. The top row consists of 'VSS or HSS' and 'BLLP'. The middle row consists of 'HSS+HBP', 'RGB', 'BLLP in burst mode', and 'HFP'. The bottom row consists of 'HSS' and 'BLLP'. On the right side, three vertical double-headed arrows indicate 'VSA and VBP lines' (spanning the top row), 'VACT lines' (spanning the middle row), and 'VFP lines' (spanning the bottom row). At the bottom, two horizontal double-headed arrows indicate 'DSI_LPMCR.LPSIZE' (spanning the width of the 'HSS' and 'BLLP' blocks) and 'DSI_LPMCR.VLPSIZE' (spanning the width of the 'RGB' and 'BLLP in burst mode' blocks). The code 'MSv35874V1' is in the bottom right corner.

34.9.3 Transmission of commands in high-speed

If the LPCE bit of the DSI_VMCR register is 0, the commands are sent in high-speed video mode. In this case, the DSI Host automatically determines the area where each command can be sent and no programming or calculation is required.

34.9.4 Read command transmission

The MRD_TIME field of the DSI_DLTCR register configures the maximum amount of time required to perform a read command in lane byte clock cycles, it is calculated as:

MRD_TIME = time to transmit the read command in low-power mode + time to enter and leave low-power mode + time to return the read data packet from the peripheral device.

The time to return the read data packet from the peripheral depends on the number of bytes read and the escape clock frequency of the peripheral, not the escape clock of the host. The MRD_TIME field is used in both high-speed and low-power mode to determine if there is time to complete a read command in a BLLP period.

In high-speed mode (LPCE = 0), MRD_TIME is calculated as follows:

\[ \text{MRD\_TIME} = (t_{\text{HS}\rightarrow\text{LP}} + t_{\text{LP}\rightarrow\text{HS}} + t_{\text{read}} + 2 \times t_{\text{BTA}}) / \text{lanelbyteclkperiod} \]

In low-power mode (LPCE = 1), MRD_TIME is calculated as follows:

\[ \text{MRD\_TIME} = (t_{\text{HS}\rightarrow\text{LP}} + t_{\text{LP}\rightarrow\text{HS}} + t_{\text{LPDT}} + t_{\text{lprd}} + t_{\text{read}} + 2 \times t_{\text{BTA}}) / \text{lanelbyteclkperiod}, \text{ where:} \]

Keep the maximum number of bytes read from the peripheral to a minimum, to issue the read commands in a line time. Ensure that \( MRD\_TIME \times \text{lane byte clock period} \) is less than \( LPSIZE \times 16 \times \text{escape clock period of the host} \) , otherwise, the read commands are dispatched on the last line of a frame. If it is necessary to read a large number of parameters ( \( > 16 \) ), increase the \( MRD\_TIME \) while the read command is executed. When the read has completed, decrease the \( MRD\_TIME \) to a lower value.

If a read command is issued on the last line of a frame, the LTDC interface is halted and stays halted until the read command is in progress. The video transmission must be stopped during this period.

34.9.5 Clock lane in low-power mode

To reduce the power consumption of the D-PHY, the DSI Host, when not transmitting in the high-speed mode, allows the clock lane to enter into the low-power mode. The controller automatically handles the transition of the clock lane from HS (clock lane active sending clock) to LP state without direct intervention by the software. This feature can be enabled by configuring the DPCC and the ACR bits of the DSI_CLCR register.

In the command mode, the DSI Host can place the clock lane in the low-power mode when it does not have any HS packets to transmit.

In the video mode (LTDC interface), the DSI Host controller uses its internal video and PHY timing configurations to determine if there is time available for the clock line to enter the low-power mode and not compromise the video data transmission of pixel data and sync events.

Along with a correct configuration of the video mode (see Section 34.5: Functional description: video mode on LTDC interface ), the DSI Host needs to know the time required by the clock lane to go from high-speed to low-power mode and vice-versa. The values required can be obtained from the D-PHY specification: program the DSI_CLTCR register with the following values:

Based on the programmed values, the DSI Host calculates if there is enough time for the clock lane to enter the low-power mode during inactive regions of the video frame.

The DSI Host decides the best approach to follow regarding power saving out of the three possible scenarios:

Figure 278. Clock lane and data lane in HS

Timing diagram for Figure 278 showing High-Speed (HS) and Blanking periods for Clock Lane and Data Lanes.

The diagram illustrates the timing for the Clock Lane and Data Lanes in High-Speed (HS) mode. It is divided into three horizontal segments: a purple segment labeled 'HS' on the left, a green segment labeled 'Blanking' in the center, and another purple segment labeled 'HS' on the right. Below the green 'Blanking' segment, there are two blue horizontal bars. The top blue bar is labeled 'Clock Lane in HS' and the bottom blue bar is labeled 'Data Lanes in HS'. This indicates that both the clock lane and data lanes remain in high-speed mode throughout the entire frame, including the blanking period.

Timing diagram for Figure 278 showing High-Speed (HS) and Blanking periods for Clock Lane and Data Lanes.

Figure 279. Clock lane in HS and data lanes in LP

Timing diagram for Figure 279 showing clock lane in HS and data lanes in LP.

This diagram illustrates the timing sequence for a DSI interface where the clock lane remains in High-Speed (HS) mode while data lanes switch to Low-Power (LP) mode. The top row shows the state of the lanes: starting with 'HS', followed by 'HS to LP Data Lanes' (duration \( phy\_hs2lp\_time \) ), an 'Idle' state, 'LP to HS Data Lanes' (duration \( phy\_lp2hs\_time \) ), and returning to 'HS'. The middle row shows the 'Clk Lane in HS' as a continuous blue signal. The bottom row shows the 'Data Lanes' transitioning from 'Data Lanes in HS' (blue) through a 'Transition' (grey) to 'Data Lanes in LP' (red), then back through a 'Transition' (grey) to 'Data Lanes in HS' (blue).

Timing diagram for Figure 279 showing clock lane in HS and data lanes in LP.

Figure 280. Clock lane and data lane in LP

Timing diagram for Figure 280 showing clock lane and data lane in LP.

This diagram illustrates the timing sequence for a DSI interface where both the clock and data lanes switch to Low-Power (LP) mode. The top row shows the state: 'HS', 'HS to LP Data Lanes' ( \( phy\_clkhs2lp\_time \) ), 'HS to LP Clock Lane' ( \( phy\_lp2hs\_time \) ), 'Idle', 'LP to HS Clock Lane' ( \( phy\_clklp2hs\_time \) ), 'LP to HS Data Lanes' ( \( phy\_lp2hs\_time \) ), and 'HS'. The middle row shows the 'Clock Lane' transitioning from 'Clock Lane in HS' (blue) to 'Clock Lane in LP' (red) during the 'HS to LP Clock Lane' phase, and returning to 'Clock Lane in HS' (blue) during the 'LP to HS Clock Lane' phase. The bottom row shows the 'Data Lanes' transitioning from 'Data Lanes in HS' (blue) to 'Data Lanes in LP' (red) during the 'HS to LP Data Lanes' phase, and returning to 'Data Lanes in HS' (blue) during the 'LP to HS Data Lanes' phase. Both transitions include 'Transition' (grey) periods.

Timing diagram for Figure 280 showing clock lane and data lane in LP.

34.10 Functional description: virtual channels

The DSI Host supports choosing the virtual channel (VC) for use for each interface. Using multiple virtual channels, the system can address multiple displays at the same time, when each display has a different virtual channel identifier.

When the LTDC interface is configured for a particular virtual channel, it is possible to use the APB slave generic interface to issue the commands while the video stream is being transmitted. With this, it is possible to send the commands through the ongoing video stream, addressing different virtual channels and thus enable the interface with multiple displays. During the video mode, the video stream transmission has the maximum priority. Therefore, the transmission of sideband packets such as the ones from the generic interface are only transported when there is time available within the video stream transmission. The DSI Host identifies the available time periods and uses them to transport the generic interface packets. Figure 281 illustrates where the DSI Host inserts the packets from the APB generic interface within the video stream transmitted by the LTDC interface.

Figure 281. Command transmission by the generic interface

Timing diagram showing command transmission by the generic interface. The diagram illustrates the relationship between video signal timing (Vsync, Hsync) and data transmission. It shows two horizontal blanking intervals, 'Blanking Lines (a)' and 'Blanking Lines (b)'. During the active video period, green horizontal lines represent the payload transmitted through the DPI interface. Purple horizontal bars represent short packets transmitted through the DPI interface. Blue horizontal bars represent commands transmitted through the APB Slave interface (different VC). Red rectangular boxes highlight the 'Blanking' periods where the controller can transmit commands. The diagram also labels 'HFP' (Horizontal Front Porch) and 'Blanking' on the right side.

The diagram illustrates the timing of data transmission over a video interface. The vertical axis represents the sequence of lines in a video frame, with labels for Vsync, Hsync, and Hsync. The horizontal axis represents time.
Key elements include:

Timing diagram showing command transmission by the generic interface. The diagram illustrates the relationship between video signal timing (Vsync, Hsync) and data transmission. It shows two horizontal blanking intervals, 'Blanking Lines (a)' and 'Blanking Lines (b)'. During the active video period, green horizontal lines represent the payload transmitted through the DPI interface. Purple horizontal bars represent short packets transmitted through the DPI interface. Blue horizontal bars represent commands transmitted through the APB Slave interface (different VC). Red rectangular boxes highlight the 'Blanking' periods where the controller can transmit commands. The diagram also labels 'HFP' (Horizontal Front Porch) and 'Blanking' on the right side.

It is also possible to address the multiple displays with only the generic interface using different virtual channels. Because the generic interface is not restricted to any particular virtual channel through configuration, it is possible to issue the packets with different virtual channels. This enables the interface to time multiplex the packets to be provided to the displays with different virtual channels.

You can use the following configuration registers to select the virtual channel ID associated with transmissions over the LTDC and APB slave generic interfaces:

34.11 Functional description: video mode pattern generator

The video mode pattern generator allows the transmission of horizontal/vertical color bar and D-PHY BER testing pattern without any stimuli.

The frame requirements must be defined in video registers that are listed in Table 286 .

Table 286. Frame requirement configuration registers

Register nameDescription
DSI Host video mode configurationVideo mode configuration
DSI Host video packet configurationVideo packet size
DSI Host video chunks configurationNumber of chunks
DSI Host video null packet configurationNull packet size
DSI Host video HSA configurationHorizontal sync active time
DSI Host video HBP configurationHorizontal back-porch time
DSI Host video line configurationLine time
DSI Host video VSA configurationVertical sync active period
DSI Host video VBP configurationVertical back-porch period
DSI Host video VFP configurationVertical front-porch period
DSI Host video VA configurationVertical resolution

34.11.1 Color bar pattern

The color bar pattern comprises eight bars for white, yellow, cyan, green, magenta, red, blue, and black colors.

Each color width is calculated by dividing the line pixel size (vertical pattern) or the number of lines (horizontal pattern) by eight. In the vertical color bar mode ( Figure 282 ), each single color bar has a width of the number of pixels in a line divided by eight. In case the number of pixels in a line is not divisible by eight, the last color (black) contains the remaining.

In the horizontal color bar mode ( Figure 283 ), each color line has a color width of the number of lines in a frame divided by eight. In case the number of lines in a frame is not divisible by eight, the last color (black) contains the remaining lines.

Figure 282. Vertical color bar mode

Vertical color bar mode diagram

A diagram showing vertical color bars. It consists of a white rectangular background. Inside, there is a vertical sequence of colored bars: yellow, cyan, green, magenta, red, blue, and black. The bars are arranged from left to right in this order.

Vertical color bar mode diagram

Figure 283. Horizontal color bar mode

Horizontal color bar mode diagram

A diagram showing horizontal color bars. It consists of a white rectangular background. Inside, there is a vertical stack of colored bars: yellow, cyan, green, magenta, red, blue, and black. The bars are arranged from top to bottom in this order.

Horizontal color bar mode diagram

34.11.2 Color coding

Table 287 shows the RGB components used.

Table 287. RGB components

WhiteYellowCyanGreenMagentaRedBlueBlack
RHighHighLowLowHighHighLowLow
GHighHighHighHighLowLowLowLow
BHighLowHighLowHighLowHighLow

34.11.3 BER testing pattern

The BER testing pattern simplifies conformance testing. This pattern tests the RX D-PHY capability to receive the data correctly. The following data patterns are required:

In most cases, Y is equal to X. However, depending on line length and the color coding used, Y may be different from X. With RGB888 color coding and horizontal resolution in multiples of eight, the pattern shown in Figure 284 appears on the DSI display.

Figure 284. RGB888 BER testing pattern

Figure 284 shows a grayscale image of the RGB888 BER testing pattern. It consists of several vertical bars of varying shades of gray, representing different color and intensity levels used for testing the display's response to specific data patterns.
Figure 284 shows a grayscale image of the RGB888 BER testing pattern. It consists of several vertical bars of varying shades of gray, representing different color and intensity levels used for testing the display's response to specific data patterns.

34.11.4 Video mode pattern generator resolution

Depending on the orientation, BER mode, and color coding, the smallest resolutions accepted by the video mode pattern generator are:

Vertical pattern

The width of each color bar is determined by the division of horizontal resolution (pixels) for eight test pattern colors. If the horizontal resolution is not divisible by eight, the last color (black) is extended to fill the resolution.

In the example in Figure 285 , the horizontal resolution is 103.

Figure 285. Vertical pattern (103x15)

Figure 285: Vertical pattern (103x15) showing color bar widths.

The figure shows a horizontal sequence of color bars. Below each color bar is a double-headed arrow indicating its width in pixels. The widths are: 12 (white), 12 (yellow), 12 (cyan), 12 (green), 12 (magenta), 12 (red), 12 (blue), 12 (black), and 7 (black). The total width is 103 pixels.

Figure 285: Vertical pattern (103x15) showing color bar widths.

Horizontal pattern

The width of each color bar is determined by the division of the number of vertical resolution (lines) for eight test pattern colors. If the vertical resolution is not divisible by eight, the last color (black) is extended to fill the resolution, as shown in Figure 286 .

Figure 286. Horizontal pattern (103x15)

Figure 286: Horizontal pattern (103x15) showing color bar heights.

The figure shows a vertical stack of color bars. To the left of each bar is a label indicating its height in lines. The heights are: 1line (white), 1line (yellow), 1line (cyan), 1line (green), 1line (magenta), 1line (red), 1line (blue), and 1line+7 (black). The total height is 15 lines.

Figure 286: Horizontal pattern (103x15) showing color bar heights.

34.12 Functional description: D-PHY management

The embedded MIPI® D-PHY is controlled directly by the DSI Host and is configured through the DSI Wrapper.

A dedicated PLL and a dedicated 1.2 V regulator are also embedded to supply the clock and the power supply to the DSI and D-PHY.

34.12.1 D-PHY configuration

The D-PHY configuration is carried out through the DSI Wrapper thanks to the DSI_WPCR x registers.

Timing definition

The MIPI® D-PHY manages all the communication timing with dedicated timers. As all the timings are specified in nanoseconds, it is mandatory to configure the unit interval field to ensure the good duration of the timings.

Unit interval is configured through the DSI_WPCR0.UIX4 field. This value defines the bit period in high-speed mode in units of 0.25 ns. If this period is not a multiple of 0.25 ns, the value driven must be rounded down.

As an example, for a 300 Mbit/s link, the unit interval is 3.33 ns, so UIX4 is 13.33. In this case a value of 13 (0x0D) must be written.

Slew-rate and delay tuning on pins

To fine tune DSI communication, slew-rates and delay can be adjusted:

Table 288. Slew-rate and delay tuning

FunctionLane(s)Value field in DSI_WPCR1
Slew-rate in high-speed transmissionClock laneHSTXSRCCL
Data lanesHSTXSRCDL
Slew-rate in low-power transmissionClock lanesLPSRCCL
Data lanesLPSCDL
High-speed transmission delayClock laneHSTXDCL
Data lanesHSTXDDL

The default value for all these parameters is 2'h00. All these values can be programmed only when the DSI is stopped (DSI_WCR.DSIEN = 0 and CR.EN = 0).

Low-power reception filter tuning

The cut-off frequency of the low-pass on low-power receiver can be fine tuned through the LPRXFT field of the DSI_WPCR1 register. The default value is 2'h00 and it can be programmed only when the DSI is stopped (CR.DSIEN = 0 and CR.EN = 0).

Special Sdd control

An additional current path can be activated on both clock lane and data lane to meet the Sdd TX parameter defined in the MIPI ® D-PHY Specification.

This activation is done setting the SDDC bit of the DSI_WPCR1 register.

Custom lane configuration

To ease DSI integration, lane pins can be swapped and/or high-speed signals can be inverted on a lane as described in Table 289 .

Table 289. Custom lane configuration

FunctionLaneEnable bit in DSI_WPCR0
Swap lane pinsClock laneSWCL
Data lane 0SWDL0
Data lane 1SWDL1
Invert high-speed signal on laneClock laneHSICL
Data lane 0HSIDL0
Data lane 1HSIDL1

Custom timing configuration

Some of the MIPI ® D-PHY timing can be tuned for specific purpose as described in Table 290 .

Table 290. Custom timing parameters

MIPI ® timingEnable bit in DSI_WPCR0Configuration registerFieldDefault valueDefault duration
t CLK-POSTTCLKPOSTENDSI_WPCR4TCLKPOST200100 ns + 120*UI
t LPX (clock lane)TLPXCENDSI_WPCR3TLPXC10050 ns
t HS_EXITTHSEXITENTHSEXIT200100 ns + 40*UI
t LPX (data lane)TLPXDENTLPXD10050 ns
t HS-ZEROTHSZEROENDSI_WPCR2THSZERO175175 ns + 8*UI
t HS-TRAILTHSTRAILTHSTRAIL14070 ns + 8*UI
t HS-PREPARETHSPREPENTHSPREP12663 ns + 12*UI
t CLK-ZEROTCLKZEROENTCLKZERO195390 ns
t CLK-PREPARETCLKPREPENTCLKPREP12060 ns + 20*UI

All these values can be programmed only when the DSI is stopped (CR.DSIEN = 0 and CR.EN = 0).

34.12.2 D-PHY HS2LP and LP2HS durations

The DSI system is able to switch to LP mode during blanking period if there is enough time between two HS transmission.

To be able to make the scheduling and estimate if it is possible or not to make the switch, the duration of the transitions from HS to LP and from LP to HS must be programmed in the DSI Host in the DSI_CLTCR register for the clock lane and in the DSI_DLTCR register for the data lanes.

Table 291 gives an estimation of the values to be programmed for these timings, expressed in lane byte clock cycles.

Table 291. HS2LP and LP2HS values

TimingValue
Clock lane HS2LP\( (272 + 136 * UI) / (8 * UI) \)
Clock lane LP2HS\( (512 + 40 * UI) / (8 * UI) \)
Data lane HS2LP\( (192 + 64 * UI) / (8 * UI) \)
Data lane LP2HS\( (256 + 32 * UI) / (8 * UI) \)

34.12.3 Special D-PHY operations

The DSI Wrapper features some control bits to force the D-PHY in some particular state and/or behavior.

Forcing lane state

It is possible to force the data lane and/or the clock lane in TX Stop mode through the bits FTXSMDL and FTXSMCL of the DSI_WPCR0 register. Setting these bits causes the respective lane module to immediately jump in transmit control mode and to begin transmitting a stop state (LP-11).

This feature can be used to go back in TX mode after a wrong BTA sequence.

Forcing low-power receiver in low-power mode

The FLPRXLPN bit of the DSI_WPCR1 register enables the low-power mode of the low power receiver (LPRX). When set, the LPRX operates in low-power mode all the time. When not set, the LPRX operates in low-power mode during ULPS only.

Disabling turn of data lane

When set, the TDDL bit of the DSI_WPCR0 register forces the data lane to remain in reception mode even if a bus-turn-around request (BTA) is received from the other side.

34.12.4 Special low-power D-PHY functions

The embedded D-PHY offers specific features to optimize consumption.

Pull-down on lanes

The D-PHY embeds a pull-down on each lane to prevent floating states when the lanes are unused.

When set, the PDEN bit of the DSI_WPCR0 register enables the pull-down on the lanes.

Disabling contention detection on data lanes

The contention detector on the data lane can be turned off to lower the overall D-PHY consumption.

When set, the CDOFFDL bit of the DSI_WPCR0 register disables the contention detection on data lanes.

This can be used in forward escape mode to reduce the static power consumption.

34.12.5 DSI PLL control

The dedicated DSI PLL is controlled through the DSI Wrapper, as shown in Figure 287 (analog blocks and signals in gray, digital signals in black, digital blocks in light blue).

Figure 287. PLL block diagram

PLL block diagram showing the internal structure of the DSI PLL. It includes an Input frequency divider (IDF), Buffer, PFD, CPUMP and LF, VCO, LS, Loop frequency divider (LDF), DIV 2, and ODF. External signals include CLKIN, IDF<2:0>, ENABLE, INFIN, FBCLK, LOCKP, ODF<1:0>, and PHI. Power pins are avddpll1v2, agndpll1v2, dvddpll1v2, and dgndpll1v2. The diagram is labeled MSV35895V2.

The diagram illustrates the internal architecture of the PLL. At the top, four power pins are shown: avddpll1v2, agndpll1v2, dvddpll1v2, and dgndpll1v2. The main components are:

External signals include CLKIN, IDF<2:0>, ENABLE, INFIN, REOUT, FBCLK, LOCKP, ODF<1:0>, and PHI. The diagram is labeled MSV35895V2.

PLL block diagram showing the internal structure of the DSI PLL. It includes an Input frequency divider (IDF), Buffer, PFD, CPUMP and LF, VCO, LS, Loop frequency divider (LDF), DIV 2, and ODF. External signals include CLKIN, IDF<2:0>, ENABLE, INFIN, FBCLK, LOCKP, ODF<1:0>, and PHI. Power pins are avddpll1v2, agndpll1v2, dvddpll1v2, and dgndpll1v2. The diagram is labeled MSV35895V2.

The PLL output frequency is configured through the DSI_WPCR register fields. The VCO frequency and the PLL output frequency are calculated as follows:

\[ F_{VCO} = (CLK_{IN} / IDF) * 2 * NDIV, \]
\[ PHI = F_{VCO} / (2 * ODF) \]

where:

The PLL is enabled by setting the PLLEN bit in the DSI_WRPCR register.

Once the PLL is locked, the PLLLIF bit is set in the DSI_WISR. If the PLLLIE bit is set in the DSI_WIER, an interrupt is generated.

The PLL status (lock or unlock) can be monitored with the PLLLS flag in the DSI_WISR register.

If the PLL gets unlocked, the PLLUIF bit of the DSI_WISR is set. If the PLLUIE bit of the DSI_WIER register is set, an interrupt is generated.

The DSI PLL settings can be changed only when the PLL is disabled.

34.12.6 Regulator control

The DSI regulator providing the 1.2 V is controlled through the DSI Wrapper.

The regulator is enabled setting the REGEN bit of the DSI_WRPCR register.

Once the regulator is ready, the RRIF bit of the DSI_WISR register is set. If the RRIE bit of the DSI_WIER register is set, an interrupt is generated.

The regulator status (ready or not) can be monitored with the RRS flag in the DSI_WISR register.

Note that the D-PHY has no separated Power ON control bit. The power ON/OFF of the D-PHY is done directly enabling the 1.2 V regulator.

When the 1.2 V regulator is disabled, the 3.3 V part of the D-PHY is automatically powered OFF.

34.13 Functional description: interrupts and errors

The interrupts can be generated either by the DSI Host or by the DSI Wrapper.

All the interrupts are merged in one interrupt lane going to the interrupt controller.

34.13.1 DSI Wrapper interrupts

An interrupt can be produced on the following events:

Separate interrupt enable bits are available for flexibility.

Table 292. DSI Wrapper interrupt requests

Interrupt eventEvent flag in DSI_WISREnable control bit in DSI_WIER
Tearing effectTEIFTEIE
End of refreshERIFERIE
PLL lockedPLLLIFPLLLIE
PLL unlockedPLLUIFPLLUIE
Regulator readyRRIFRIE

34.13.2 DSI Host interrupts and errors

The DSI_ISR0 and DSI_ISR1 registers are associated with error condition reporting. These registers can trigger an interrupt to inform the system about the occurrence of errors.

The DSI Host has one interrupt line that is set high when an error occurs in either the DSI_ISR0 or the DSI_ISR1 register.

The triggering of the interrupt can be masked by programming the mask registers DSI_IER0 and DSI_IER1. By default all errors are masked. When any bit of these registers is set to 1, it enables the interrupt for a specific error. The error bit is always set in the respective DSI_ISR register. The DSI_ISR0 and DSI_ISR1 registers are always cleared after a read operation. The interrupt line is cleared if all registers that caused the interrupt are read.

The interrupt force registers (DSI_FIR0 and DSI_FIR1) are used for test purposes: they allow triggering the interrupt events individually without the need to activate the conditions that trigger the interrupt sources (it is extremely complex to generate the stimuli for that purpose). This feature also facilitates the development and testing of the software associated with the interrupt events. Setting any bit of these registers to 1 triggers the corresponding interrupt.

The light yellow boxes in Figure 288 illustrate the location of some of the errors.

Figure 288. Error sources

Figure 288. Error sources. A block diagram of the DSI Host architecture showing error sources. The diagram includes an LTDC connected to an LTDC Interface, which connects to LTDC ctrl FIFO and LTDC pixel FIFO. These FIFOs connect to a Packet Handler containing Video Mode FSM and Command Mode FSM. An APB bus connects to a GEN Interface, which connects to GEN Comm FIFOs, GEN Pld Send FIFOs, and GEN Pld RCV FIFOs. These FIFOs connect to a Packet Analyzer containing VC Router and ECC/CRC Analysis. The Packet Analyzer connects to GEN Pld Send FIFOs and GEN Pld RCV FIFOs. Error sources are indicated by light yellow boxes: DPI_PAYLOAD_WR_ERR, GEN_COMMAND_WR_ERR, GEN_PAYLOAD_WR_ERR, GEN_PAYLOAD_RD_ERR, GEN_PAYLOAD_SEND_ERR, GEN_PAYLOAD_RECV_ERR, ECC_SINGLE_ERR, ECC_MULTI_ERR, CRC_ERR, PKT_SIZE_ERR, EOTP_ERR, and ACK_WITH_ERR.
Figure 288. Error sources. A block diagram of the DSI Host architecture showing error sources. The diagram includes an LTDC connected to an LTDC Interface, which connects to LTDC ctrl FIFO and LTDC pixel FIFO. These FIFOs connect to a Packet Handler containing Video Mode FSM and Command Mode FSM. An APB bus connects to a GEN Interface, which connects to GEN Comm FIFOs, GEN Pld Send FIFOs, and GEN Pld RCV FIFOs. These FIFOs connect to a Packet Analyzer containing VC Router and ECC/CRC Analysis. The Packet Analyzer connects to GEN Pld Send FIFOs and GEN Pld RCV FIFOs. Error sources are indicated by light yellow boxes: DPI_PAYLOAD_WR_ERR, GEN_COMMAND_WR_ERR, GEN_PAYLOAD_WR_ERR, GEN_PAYLOAD_RD_ERR, GEN_PAYLOAD_SEND_ERR, GEN_PAYLOAD_RECV_ERR, ECC_SINGLE_ERR, ECC_MULTI_ERR, CRC_ERR, PKT_SIZE_ERR, EOTP_ERR, and ACK_WITH_ERR.

Table 293 explains the reasons that set off these interrupts and also explains how to recover from these interrupts.

Table 293. Error causes and recovery

DSI Host interrupt and status registerBitNameError causeRecommended method to handle the error
020PE4The D-PHY reports the LP1 contention error.
The D-PHY host detects the contention while trying to drive the line high.
Recover the D-PHY from contention. Reset the DSI Host and transmit the packets again. If this error is recurrent, carefully analyze the connectivity between the Host and the device.
019PE3D-PHY reports the LP0 contention error.
The D-PHY Host detects the contention while trying to drive the line low.
Recover the D-PHY from contention. Reset the DSI Host and transmit the packets again. If this error is recurrent, carefully analyze the connectivity between the Host and the device.

Table 293. Error causes and recovery (continued)

DSI Host interrupt and status registerBitNameError causeRecommended method to handle the error
018PE2The D-PHY reports the false control error.
The D-PHY detects an incorrect line state sequence in lane 0 lines.
Device does not behave as expected, communication with the device is not properly established. This is an unrecoverable error.
Reset the DSI Host and the D-PHY. If this error is recurrent, analyze the behavior of the device.
017PE1The D-PHY reports the LPDT error.
The D-PHY detects that the LDPT did not match a multiple of 8 bits.
The data reception is not reliable. The D-PHY recovers but the received data from the device might not be reliable.
It is recommended to reset the DSI Host and repeat the RX transmission.
016PE0The D-PHY reports the escape entry error.
The D-PHY does not recognize the received escape entry code.
The D-PHY Host does not recognize the escape entry code. The transmission is ignored. The D-PHY Host recovers but the system must repeat the RX reception.
015AE15This error is directly retrieved from acknowledge with error packet.
The device detected a protocol violation in the reception.
Refer to the display documentation. When this error is active, the device must have another read-back command that reports additional information about this error.
Read the additional information and take appropriate actions.
014AE14The acknowledge with error packet contains this error.
The device chooses to use this bit for error report.
Refer to the device documentation regarding possible reasons for this error and take appropriate actions.
013AE13The acknowledge with error packet contains this error.
The device reports that the transmission length does not match the packet length.
Possible reason for this is multiple errors present in the packet header (more than 2), so the error detection fails and the device does not discard the packet. In this case, the packet header is corrupt and can cause decoding mismatches.
Transmit the packets again. If this error is recurrent, carefully analyze the connectivity between the Host and the device.
012AE12The acknowledge with error packet contains this error.
The device does not recognize the VC ID in at least one of the received packets.
Possible reason for this is multiple errors present in the packet header (more than 2), so the error detection fails and the device does not discard the packet. In this case, the packet header is corrupt and can cause decoding mismatches.
Transmit the packets again. If this error is recurrent, carefully analyze the connectivity between the Host and the device.
011AE11The acknowledge with error packet contains this error.
The device does not recognize the data type of at least one of the received packets.
Check the device capabilities. It is possible that there are some packets not supported by the device.
Repeat the transmission.

Table 293. Error causes and recovery (continued)

DSI Host interrupt and status registerBitNameError causeRecommended method to handle the error
010AE10The acknowledge with error packet contains this error.
The device detects the CRC errors in at least one of the received packets.
Some of the long packets, transmitted after the last acknowledge request, might contain the CRC errors in the payload.
If the payload content is critical, transmit the packets again.
If this error is recurrent, carefully analyze the connectivity between the Host and the device.
09AE9The acknowledge with error packet contains this error.
The device detects multi-bit ECC errors in at least one of the received packets.
The device does not interpret the packets transmitted after the last acknowledge request.
If the packets are critical, transmit the packets again.
If this error is recurrent, carefully analyze the connectivity between the Host and the device.
08AE8The acknowledge with error packet contains this error.
The device detects and corrects the 1 bit ECC error in at least one of the received packets.
No action is required.
The device acknowledges the packet.
If this error is recurrent, analyze the signal integrity or the noise conditions of the link.
07AE7The acknowledge with error packet contains this error.
The device detects the line Contention through LP0/LP1 detection.
This error might corrupt the low-power data reception and transmission.
Ignore the packets and transmit them again. The device recovers automatically.
If this error is recurrent, check the device capabilities and the connectivity between the Host and device.
Refer to section 7.2.1 of the DSI Specification 1.1.
06AE6The acknowledge with error packet contains this error.
The device detects the false control error.
The device detects one of the following:
– The LP-10 (LP request) is not followed by the remainder of a valid escape or turnaround sequence.
– The LP-01 (HS request) is not followed by a bridge state (LP-00).
The D-PHY communications are corrupted.
This error is unrecoverable.
Reset the DSI Host and the D-PHY.
Refer to the section 7.1.6 of the DSI Specification 1.1.

Table 293. Error causes and recovery (continued)

DSI Host interrupt and status registerBitNameError causeRecommended method to handle the error
05AE5The acknowledge with error packet contains this error. The display timeout counters for a HS reception and LP transmission expire.It is possible that the Host and device timeout counters are not correctly configured. The device HS_TX timeout must be shorter than the Host HS_RX timeout. Host LP_RX timeout must be longer than the device LP_TX timeout. Check and confirm that the Host configuration is consistent with the device specifications. This error is automatically recovered, although there is no guarantee that all the packets in the transmission or reception are complete. For additional information about this error, see section 7.2.2 of the DSI Specification 1.1.
04AE4The acknowledge with error packet contains this error. The device reports that the LPDT is not aligned in an 8-bit boundaryThere is no guarantee that the device properly receives the packets. Transmit the packets again. For additional information about this error, see section 7.1.5 of the DSI Specification.
03AE3The acknowledge with error packet contains this error. The device does not recognize the escape mode entry command.The device does not recognize the escape mode entry code. Check the device capability. For additional information about this error, see section 7.1.4 of the DSI Specification. Repeat the transmission to the device.
02AE2The acknowledge with error packet contains this error. The device detects the HS transmission did not end in an 8-bit boundary when the EoT sequence is detected.There is no guarantee that the device properly received the packets. Re-transmission must be performed. Transmit the packets again. For additional information about this error, see section 7.1.3 of the DSI Specification 1.1.
01AE1The acknowledge with error packet contains this error. The device detects that the SoT leader sequence is corrupted.The device discards the incoming transmission. Re-transmission must be performed by the Host. For additional information about this error, see section 7.1.2 of the DSI Specification 1.1.
00AE0The acknowledge with error packet contains this error. The device reports that the SoT sequence is received with errors but synchronization can still be achieved.The device is tolerant to single bit and some multi-bit errors in the SoT sequence but the packet correctness is compromised. If the packet content was important, transmit the packets again. For additional information about this error, see section 7.1.1 of the DSI Specification 1.1.

Table 293. Error causes and recovery (continued)

DSI Host interrupt and status registerBitNameError causeRecommended method to handle the error
112GPRXEAn overflow occurs in the generic read FIFO.The read FIFO size is not correctly dimensioned for the maximum read-back packet size.
Configure the device to return the read data with a suitable size for the Host dimensioned FIFO. Data stored in the FIFO is corrupted.
Reset the DSI Host and repeat the read procedure.
111GPRDEAn underflow occurs in the generic read FIFO.System does not wait for the read procedure to end and starts retrieving the data from the FIFO. The read data is requested before it is fully received. Data is corrupted.
Reset the DSI Host and repeat the read procedure. Check that the read procedure is completed before reading the data through the APB interface.
110GPTXEAn underflow occurs in the generic write payload FIFO.The system writes the packet header before the respective packet payload is completely loaded into the payload FIFO. This error is unrecoverable, the transmitted packet is corrupted.
Reset the DSI Host and repeat the write procedure.
19GPWREAn overflow occurs in the generic write payload FIFO.The payload FIFO size is not correctly dimensioned to store the total payload of a long packet. Data stored in the FIFO is corrupted.
Reset the DSI Host and repeat the write procedure.
18GCWREAn overflow occurs in the generic command FIFO.The command FIFO size is not correctly dimensioned to store the total headers of a burst of packets. Data stored in the FIFO is corrupted.
Reset the DSI Host and repeat the write procedure.
17LPWREAn overflow occurs in the DPI pixel payload FIFO.The controller FIFO dimensions are not correctly set up for the operating resolution. Check the video mode configuration registers. They must be consistent with the LTDC video resolution. The pixel data sequence is corrupted.
Reset the DSI Host and re-initiate the Video transmission.
16EOTPEHost receives a transmission that does not end with an end of transmission packet.This error is not critical for the data integrity of the received packets.
Check if the device supports the transmission of EoTp packets.

Table 293. Error causes and recovery (continued)

DSI Host interrupt and status registerBitNameError causeRecommended method to handle the error
15PSEHost receives a transmission that does not end in the expected boundaries.The integrity of the received data cannot be guaranteed.
Reset the DSI Host and repeat the read procedure.
14CRCEHost reports that a received long packet has a CRC error in its payload.The received payload data is corrupted.
Reset the DSI Host and repeat the read procedure. If this error is recurrent, check the DSI connectivity link for the noise levels.
13ECCMEHost reports that a received packet contains multiple ECC errors.The received packet is corrupted. The DSI Host ignores all the following packets. The DSI Host must repeat the read procedure.
12ECCSEHost reports that a received packet contains a single bit error.This error is not critical because the DSI Host can correct the error and properly decode the packet.
If this error is recurrent, check the DSI connectivity link for signal integrity and noise levels.
11TOLPRXHost reports that the configured timeout counter for the low-power reception has expired.Once the configured timeout counter ends, the DSI Host automatically resets the controller side and recovers to normal operation. Packet transmissions happening during this event are lost.
If this error is recurrent, check the timer configuration for any issue. This timer must be greater than the maximum low-power transmission generated by the device.
10TOHSTXHost reports that the configured timeout counter for the high-speed transmission has expired.Once the configured timeout counter ends, the DSI Host automatically resets the controller side and recovers to normal operation. Packet transmissions happening during this event are lost.
If this error is recurrent, check the timer configuration for any issue. This timer must be greater than the maximum high-speed transmission bursts generated by the Host.
DSI Wrapper10PLLUFThe PLL of the D-PHY has unlocked.This error can be critical.
The graphical subsystem must be reconfigured and restarted.

34.14 Programming procedure

To operate the DSI Host the user must be familiar with the MIPI® DSI specification. Every software programmable register is accessible through the APB interface.

34.14.1 Programming procedure overview

The procedure for video mode or adapted command mode must respect the following order:

  1. 1. Configure the RCC (refer to the RCC section)
    1. a) Enable clock for DSI and LTDC
    2. b) Configure LTDC PLL, turn it ON and wait for its lock
  2. 2. Optionally, configure the GPIO (if tearing effect requires GPIO usage, for example)
  3. 3. Optionally, validate the ISR
  4. 4. Configure the LTDC (refer to the LTDC section)
    1. a) Program the panel timings
    2. b) Enable the relevant layers
  5. 5. Turn on the DSI regulator and wait for the regulator to be ready, as described in Section 34.12.6
  6. 6. Configure the DSI PLL, turn it ON and wait for its lock as described in Section 34.12.5
  7. 7. Configure the D-PHY parameters in the DSI Host and the DSI Wrapper to define D-PHY configuration and timing as detailed in Section 34.14.2
  8. 8. Configure the DSI Host timings as detailed in Section 34.14.3
  9. 9. Configure the DSI Host flow control and DBI interface as detailed in Section 34.14.4
  10. 10. Configure the DSI Host LTDC interface as detailed in Section 34.14.5
  11. 11. Configure the DSI Host for video mode as detailed in Section 34.14.6 or adapted command mode as detailed in Section 34.14.7
  12. 12. Enable the D-PHY setting the DEN bit of the DSI_PCTLR
  13. 13. Enable the D-PHY clock lane setting the CKEN bit of the DSI_PCTLR
  14. 14. Enable the DSI Host setting the EN bit of the DSI_CR
  15. 15. Enable the DSI Wrapper setting the DSIEN bit of the DSI_WCR
  16. 16. Optionally, send DCS commands through the APB generic interface to configure the display
  17. 17. Enable the LTDC in the LTDC
  18. 18. Start the LTDC flow through the DSI Wrapper (DSI_WCR.LTDCEN = 1)
    1. a) In video mode, the data streaming starts as soon as the LTDC is enabled
    2. b) In adapted command mode, the frame buffer update is launched as soon as bit DSI_WCR.LTDCEN is set

34.14.2 Configuring the D-PHY parameters

The D-PHY requires a specific configuration prior starting any communications. The configuration parameters are stored either in the DSI Host or the DSI Wrapper.

Configuring the D-PHY parameters in the DSI Wrapper

The DSI Wrapper can be used to fine tune either timing or physical parameters of the D-PHY. This operation is not required for a standard usage of the D-PHY. All the fields and parameters are detailed in the register description of the DSI Wrapper.

Only one field is mandatory to properly start the D-PHY: the unit interval multiplied by 4 (UIX4) field of the DSI Wrapper PHY configuration register 1 (DSI_WPCR0).

This field defines the bit period in high-speed mode in unit of 0.25 ns, and is used as a timebase for all the timings managed by the D-PHY.

If the link is working at 600 Mbit/s, the unit interval shall be 1.667 ns, that becomes 6.667 ns when multiplied by four. When rounded down, a value of 6 must be written in the UIX4 field of the DSI_WPCR0 register.

Configuring the D-PHY parameters in the DSI Host

The DSI Host stores the configuration of D-PHY timing parameters and number of lanes.

The following fields must be configured prior to any startup:

34.14.3 Configuring the DSI Host timing

All the protocol timing must be configured in the DSI Host.

Clock divider configuration

Two clocks are generated internally, namely the timeout clock and the TX escape clock.

The timeout clock is used as the timing unit in the configuration of HS to LP and LP to HS transition error. Its division factor is configured by the timeout clock division (TOCKDIV) field of the DSI Host clock control register (DSI_CCR).

The TX escape clock is used in low-power transmission. Its division factor is configured by the TX escape clock division (TXECKDIV) field of the DSI Host clock control register (DSI_CCR) relatively to the lanebyteclock. Its typical value must be around 20 MHz.

Timeout configuration

The timings for timeout management as described in Section 34.8 are configured in the DSI Host timeout counter configuration registers (DSI_TCCR0 to DSI_TCCR5).

34.14.4 Configuring flow control and DBI interface

The flow control is configured thanks to the DSI Host protocol configuration register (DSI_PCR). The configuration parameters are the following

Their values depend upon the protocol to be used for the communication with the DSI display.

The virtual channel ID used for the generic DBI interface must be configured by the virtual channel ID (VCID) field of the DSI Host generic VCID register (DSI_GVCIDR).

All the DCS command, depending on their type, can be transmitted or received either in high-speed or low-power. For each of them, a dedicated configuration bit must be programmed in the DSI Host command mode configuration register (DSI_CMCR).

Acknowledge request for packet or tearing effect event must also be configured in the DSI Host command mode configuration register (DSI_CMCR).

34.14.5 Configuring the DSI Host LTDC interface

As the DSI Host is interface to the system through the LTDC for video mode or adapted command mode, the DSI Wrapper performs a low level interfacing in between.

The parameter programmed into the DSI Wrapper must be aligned with the parameters programmed into the LTDC and the DSI Host.

The following fields must be configured:

34.14.6 Configuring the video mode

The video mode configuration defines the behavior of the controller in low-power for command transmission, the type of video transmission (burst or non-burst mode) and the panel horizontal and vertical timing:

line, a malfunction occurs. This phenomenon can be avoided by configuring the DSI Host to go to low-power once per line.

Figure 289 illustrates the steps for configuring the DPI packet transmission.

Figure 289. Video packet transmission configuration flow diagram

Flowchart for video packet transmission configuration. It starts with 'Global configuration Configure the DPI I/F', leading to a 'Burst Mode' decision. If 'NO', it goes to 'Determine the DSI link to pixel ratio', then to an 'Enable multiple packets' decision. If 'YES', it calculates chunk overhead and checks 'Enable null packets'. If 'YES', it sets 'Null packet size'. If 'NO', it proceeds to final calculation. If 'Enable multiple packets' is 'NO', it goes to 'Determine number of pixel per packet'. If 'Burst Mode' is 'YES', it goes to 'Configure video_packet_size'. Both paths lead to a final calculation and configuration block: 'Calculate: Hline_time - Hsa_time - Hbp_time' and 'Configure: VSA lines- VBP lines - Vact lines - VFP lines'.
graph TD; A[Global configuration
Configure the DPI I/F] --> B{Burst Mode}; B -- NO --> C[Determine the
DSI link to pixel ratio]; B -- YES --> D[Configure
video_packet_size]; C --> E{Enable
multiple packets}; E -- YES --> F[Determine number of pixel per packet
Calculate the number of chunks
Determine the chunk overhead
(needs to be ≥ 12 or = 6)]; E -- NO --> G[Determine number
of pixel per packet]; F --> H{Enable
null packets}; H -- YES --> I[Null packet size]; H -- NO --> J(( )); G --> J; D --> J; J --> K[Calculate:
Hline_time - Hsa_time - Hbp_time

Configure:
VSA lines- VBP lines - Vact lines - VFP lines];
Flowchart for video packet transmission configuration. It starts with 'Global configuration Configure the DPI I/F', leading to a 'Burst Mode' decision. If 'NO', it goes to 'Determine the DSI link to pixel ratio', then to an 'Enable multiple packets' decision. If 'YES', it calculates chunk overhead and checks 'Enable null packets'. If 'YES', it sets 'Null packet size'. If 'NO', it proceeds to final calculation. If 'Enable multiple packets' is 'NO', it goes to 'Determine number of pixel per packet'. If 'Burst Mode' is 'YES', it goes to 'Configure video_packet_size'. Both paths lead to a final calculation and configuration block: 'Calculate: Hline_time - Hsa_time - Hbp_time' and 'Configure: VSA lines- VBP lines - Vact lines - VFP lines'.

MSV35876V1

Example of video configuration

The following is an example of video packet transmission configuration:

Video resolution:

Configuration steps:

34.14.7 Configuring the adapted command mode

The adapted command mode requires the following parameters to be configured:

34.14.8 Configuring the video mode pattern generator

DSI Host can transmit a color bar pattern without horizontal/vertical color bar and D-PHY BER testing pattern without any kind of stimuli.

Figure 290 shows the programming sequence to send a test pattern:

  1. 1. Configure the DSI_MCR register to enable video mode. Configure the video mode type using DSI_VMCR.VMT.
  2. 2. Configure the DSI_LCOLCR register.
  3. 3. Configure the frame using registers shown in Figure 291 (where the gray area indicates the transferred pixels).
  4. 4. Configure the pattern generation mode (DSI_VMCR.PGM) and the pattern orientation (DSI_VMCR.PGO), and enable them (DSI_VMCR.PGE).

Figure 290. Programming sequence to send a test pattern

Flowchart showing the programming sequence to send a test pattern: Video Mode selection, Color coding configuration, Video frame configuration, Video pattern generator configuration.
graph TD; Start(( )) --> A[Video Mode selection]; A --> B[Color coding configuration]; B --> C[Video frame configuration]; C --> D[Video pattern generator configuration]; D --> End(( ));

MSV35875V1

Flowchart showing the programming sequence to send a test pattern: Video Mode selection, Color coding configuration, Video frame configuration, Video pattern generator configuration.

Figure 291. Frame configuration registers

Diagram of frame configuration registers showing the layout of a video frame. The vertical dimension is labeled DSI_VVACR.VA (Line) and includes DSI_VVSACR.VSA (Line), DSI_VVBPCR.VBP (Line), DSI_VVPCR.VPSIZE (Pixel) * DSI_VCCR.NUMC, and DSI_VVPCR.VFP (Line). The horizontal dimension is labeled DSI_VLCR.HLINE (lanebyteclk) and includes DSI_VHSACR.HSA (lanebyteclk), DSI_VHBPCR.HBP (lanebyteclk), the payload area (DSI_VPCR.VPSIZE * DSI_VCCR.NUMC), and HFP (lanebyteclk).

The diagram illustrates the frame configuration registers for a DSI Host. It shows the layout of a video frame with the following components:

MSv35877V1

Diagram of frame configuration registers showing the layout of a video frame. The vertical dimension is labeled DSI_VVACR.VA (Line) and includes DSI_VVSACR.VSA (Line), DSI_VVBPCR.VBP (Line), DSI_VVPCR.VPSIZE (Pixel) * DSI_VCCR.NUMC, and DSI_VVPCR.VFP (Line). The horizontal dimension is labeled DSI_VLCR.HLINE (lanebyteclk) and includes DSI_VHSACR.HSA (lanebyteclk), DSI_VHBPCR.HBP (lanebyteclk), the payload area (DSI_VPCR.VPSIZE * DSI_VCCR.NUMC), and HFP (lanebyteclk).

Note: The number of pixels of payload is restricted to a multiple of a value provided in Table 282.

34.14.9 Managing ULPM

There are two ways to configure the software to enter and exit the ULPM:

Clock management for ULPM sequence

The ULPM management state machine is working on the lanebyteclock provided by the D-PHY.

Because the D-PHY is providing the lanebyteclock only when the clock lane is not in ULPM state, it is mandatory to switch the lanebyteclock source of the DSI Host before starting the ULPM mode entry sequence.

The lanebyteclock source is controlled by the RCC. It can be

Process flow to enter the ULPM

Implement the process described in detail in the following procedure to enter the ULPM on both clock lane and data lanes:

  1. 1. Verify the initial status of the DSI Host:
    • – DSI_PCTLR[2:1] = 2'h3
    • – DSI_WRPCR.PLLEN = 1'h1 and DSI_WRPCR.REGEN = 1'h1
    • – DSI_PUCR[3:0] = 4'h0
    • – DSI_PTTTCR[3:0] = 4'h0
    • – Verify that all active lanes are in Stop state and the D-PHY PLL is locked:
      One-lane configuration: DSI_PSR[6:4] = 3'h3 and DSI_PSR[1] = 1'h0 and DSI_WISR.PLLS = 1'h1
      Two-lanes configuration: DSI_PSR[8:4] = 5'h1B and DSI_PSR[1] = 1'h0 and DSI_WISR.PLLS = 1'h1
  2. 2. Switch the lanebyteclock source in the RCC from D-PHY to system PLL
  3. 3. Set DSI_PUCR[3:0] = 4'h5 to enter ULPM in the data and the clock lanes.
  4. 4. Wait until the D-PHY active lanes enter into ULPM:
    • – One-lane configuration: DSI_PSR[6:1] = 6'h00
    • – Two-lanes configuration: DSI_PSR[8:1] = 8'h00
    The DSI Host is now in ULPM.
  5. 5. Turn off the D-PHY PLL by setting DSI_WRPCR.PLLEN = 1'b0

Process flow to exit the ULPM

Implement the process flow described in the following procedure to exit the ULPM on both clock lane and data lanes:

  1. 1. Verify that all active lanes are in ULPM:
    • – One-lane configuration: DSI_PSR[6:1] = 6'h00
    • – Two-lanes configuration: DSI_PSR[8:1] = 8'h00
  2. 2. Turn on the D-PHY PLL by setting DSI_WRPCR.PLLEN = 1'b1.
  3. 3. Wait until D-PHY PLL locked
    • – DSI_WISR.PLLS = 1'b1
  4. 4. Without de-asserting the ULPM request bits, assert the exit ULPM bits by setting DSI_PUCR[3:0] = 4'hF.
  5. 5. Wait until all active lanes exit ULPM:
    • – One-lane configuration:
      DSI_PSR[5] = 1'b1
      DSI_PSR[3] = 1'b1
    • – Two-lanes configuration:
      DSI_PSR[8] = 1'b1
      DSI_PSR[5] = 1'b1
      DSI_PSR[3] = 1'b1
  6. 6. Wait for 1 ms.
  7. 7. De-assert the ULPM requests and the ULPM exit bits by setting DSI_PUCR [3:0] = 4'h0.
  8. 8. Switch the lanbyteclock source in the RCC from system PLL to D-PHY
  9. 9. The DSI Host is now in Stop state and the D-PHY PLL is locked:
    • – One-lane configuration:
      DSI_PSR[6:4] = 3'h3
      DSI_PSR[1] = 1'h0
      DSI_WRPCR.PLLEN = 1'b1
    • – Two-lanes configuration:
      DSI_PSR[8:4] = 5'h1B
      DSI_PSR[1] = 1'h0
      DSI_WRPCR.PLLEN = 1'b1

34.15 DSI Host registers

34.15.1 DSI Host version register (DSI_VR)

Address offset: 0x0000

Reset value: 0x3133 302A

31302928272625242322212019181716
VERSION[31:16]
rrrrrrrrrrrrrrrr
1514131211109876543210
VERSION[15:0]
rrrrrrrrrrrrrrrr

Bits 31:0 VERSION[31:0] : Version of the DSI Host

This read-only register contains the version of the DSI Host

34.15.2 DSI Host control register (DSI_CR)

Address offset: 0x0004

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.EN
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 EN : Enable

This bit configures the DSI Host in either power-up mode or to reset.

0: DSI Host disabled (under reset)

1: DSI Host enabled

34.15.3 DSI Host clock control register (DSI_CCR)

Address offset: 0x0008

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
TOCKDIV[7:0]TXECKDIV[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:8 TOCKDIV[7:0] : Timeout clock division

This field indicates the division factor for the timeout clock used as the timing unit in the configuration of HS to LP and LP to HS transition error.

Bits 7:0 TXECKDIV[7:0] : TX escape clock division

This field indicates the division factor for the TX escape clock source (lanebyteclk). The values 0 and 1 stop the TX_ESC clock generation.

34.15.4 DSI Host LTDC VCID register (DSI_LVCIDR)

Address offset: 0x000C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VCID[1:0]
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bits 1:0 VCID[1:0] : Virtual channel ID

These bits configure the virtual channel ID for the LTDC interface traffic.

34.15.5 DSI Host LTDC color coding register (DSI_LCOLCR)

Address offset: 0x0010

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.LPERes.Res.Res.Res.COLC[3:0]
rwrwrwrwrw

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 LPE : Loosely packet enable

This bit enables the loosely packed variant to 18-bit configuration

0: Loosely packet variant disabled

1: Loosely packet variant enabled

Bits 7:4 Reserved, must be kept at reset value.

Bits 3:0 COLC[3:0] : Color coding

This field configures the DPI color coding.
0000: 16-bit configuration 1
0001: 16-bit configuration 2
0010: 16-bit configuration 3
0011: 18-bit configuration 1
0100: 18-bit configuration 2
0101: 24-bit
Others: Reserved

34.15.6 DSI Host LTDC polarity configuration register (DSI_LPCR)

Address offset: 0x0014

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HSPVSPDEP
rwrwrw

Bits 31:3 Reserved, must be kept at reset value.

Bit 2 HSP : HSYNC polarity

This bit configures the polarity of HSYNC pin.
0: HSYNC pin active high (default)
1: VSYNC pin active low

Bit 1 VSP : VSYNC polarity

This bit configures the polarity of VSYNC pin.
0: Shutdown pin active high (default)
1: Shutdown pin active low

Bit 0 DEP : Data enable polarity

This bit configures the polarity of data enable pin.
0: Data enable pin active high (default)
1: Data enable pin active low

34.15.7 DSI Host low-power mode configuration register (DSI_LPMCR)

Address offset: 0x0018

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.LPSIZE[7:0]
rwrwrwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.VLPSIZE[7:0]
rwrwrwrwrwrwrwrw

Bits 31:24 Reserved, must be kept at reset value.

Bits 23:16 LPSIZE[7:0] : Largest packet size

This field is used for the transmission of commands in low-power mode. It defines the size, in bytes, of the largest packet that can fit in a line during VSA, VBP and VFP regions.

Bits 15:8 Reserved, must be kept at reset value.

Bits 7:0 VLPSIZE[7:0] : VACT largest packet size

This field is used for the transmission of commands in low-power mode. It defines the size, in bytes, of the largest packet that can fit in a line during VACT regions.

34.15.8 DSI Host protocol configuration register (DSI_PCR)

Address offset: 0x002C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CRCRXEECCRXEBTAEETRXEETTXE
rwrwrwrwrw

Bits 31:5 Reserved, must be kept at reset value.

Bit 4 CRCRXE : CRC reception enable

This bit enables the CRC reception and error reporting.

0: CRC reception is disabled.

1: CRC reception is enabled.

Bit 3 ECCRXE : ECC reception enable

This bit enables the ECC reception, error correction and reporting.

0: ECC reception is disabled.

1: ECC reception is enabled.

Bit 2 BTAE : Bus-turn-around enable

This bit enables the bus-turn-around (BTA) request.

0: Bus-turn-around request is disabled.

1: Bus-turn-around request is enabled.

Bit 1 ETRXE : EoTp reception enable

This bit enables the EoTp reception.

0: EoTp reception is disabled.

1: EoTp reception is enabled.

Bit 0 ETTXE : EoTp transmission enable

This bit enables the EoTP transmission.

0: EoTp transmission is disabled.

1: EoTp transmission is enabled.

34.15.9 DSI Host generic VCID register (DSI_GVCIDR)

Address offset: 0x0030

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VCID[1:0]
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bits 1:0 VCID[1:0] : Virtual channel ID
This field indicates the generic interface read-back virtual channel identification.

34.15.10 DSI Host mode configuration register (DSI_MCR)

Address offset: 0x0034

Reset value: 0x0000 0001

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CMDM
rw

Bits 31:1 Reserved, must be kept at reset value.

Bit 0 CMDM : Command mode

This bit configures the DSI Host in either video or command mode.
0: DSI Host is configured in video mode.
1: DSI Host is configured in command mode.

34.15.11 DSI Host video mode configuration register (DSI_VMCR)

Address offset: 0x0038

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.PGORes.Res.Res.PGMRes.Res.Res.PGE
rwrwrw
1514131211109876543210
LPCEFBTAAELPHFPELPHBPELPVAELPVFPELPVBPELPVSAERes.Res.Res.Res.Res.Res.VMT[1:0]
rwrwrwrwrwrwrwrwrwrw

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 PGO : Pattern generator orientation

This bit configures the color bar orientation.

0: Vertical color bars.

1: Horizontal color bars.

Bits 23:21 Reserved, must be kept at reset value.

Bit 20 PGM : Pattern generator mode

This bit configures the pattern generator mode.

0: Color bars (horizontal or vertical).

1: BER pattern (vertical only).

Bits 19:17 Reserved, must be kept at reset value.

Bit 16 PGE : Pattern generator enable

This bit enables the video mode pattern generator.

0: Pattern generator is disabled.

1: Pattern generator is enabled.

Bit 15 LPCE : Low-power command enable

This bit enables the command transmission only in low-power mode.

0: Command transmission in low-power mode is disabled.

1: Command transmission in low-power mode is enabled.

Bit 14 FBTAAE : Frame bus-turn-around acknowledge enable

This bit enables the request for an acknowledge response at the end of a frame.

0: Acknowledge response at the end of a frame is disabled.

1: Acknowledge response at the end of a frame is enabled.

Bit 13 LPHFPE : Low-power horizontal front-porch enable

This bit enables the return to low-power inside the horizontal front-porch (HFP) period when timing allows.

0: Return to low-power inside the HFP period is disabled.

1: Return to low-power inside the HFP period is enabled.

Bit 12 LPHBPE : Low-power horizontal back-porch enable

This bit enables the return to low-power inside the horizontal back-porch (HBP) period when timing allows.

0: Return to low-power inside the HBP period is disabled.

1: Return to low-power inside the HBP period is enabled.

Bit 11 LPVAE : Low-power vertical active enable

This bit enables to return to low-power inside the vertical active (VACT) period when timing allows.

0: Return to low-power inside the VACT is disabled.

1: Return to low-power inside the VACT is enabled.

Bit 10 LPVFPE : Low-power vertical front-porch enable

This bit enables to return to low-power inside the vertical front-porch (VFP) period when timing allows.

0: Return to low-power inside the VFP is disabled.

1: Return to low-power inside the VFP is enabled.

Bit 9 LPVBPE : Low-power vertical back-porch enable

This bit enables to return to low-power inside the vertical back-porch (VBP) period when timing allows.
0: Return to low-power inside the VBP is disabled.
1: Return to low-power inside the VBP is enabled.

Bit 8 LPVSAE : Low-power vertical sync active enable

This bit enables to return to low-power inside the vertical sync time (VSA) period when timing allows.
0: Return to low-power inside the VSA is disabled.
1: Return to low-power inside the VSA is enabled

Bits 7:2 Reserved, must be kept at reset value.

Bits 1:0 VMT[1:0] : Video mode type

This field configures the video mode transmission type :
00: Non-burst with sync pulses.
01: Non-burst with sync events.
1x: Burst mode

34.15.12 DSI Host video packet configuration register (DSI_VPCR)

Address offset: 0x003C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.VPSIZE[13:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:14 Reserved, must be kept at reset value.

Bits 13:0 VPSIZE[13:0] : Video packet size

This field configures the number of pixels in a single video packet.
For 18-bit not loosely packed data types, this number must be a multiple of 4.
For YCbCr data types, it must be a multiple of 2 as described in the DSI specification.

34.15.13 DSI Host video chunks configuration register (DSI_VCCR)

Address offset: 0x0040

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.NUMC[12:0]
rwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bits 12:0 NUMC[12:0] : Number of chunks

This register configures the number of chunks to be transmitted during a line period (a chunk consists of a video packet and a null packet).

If set to 0 or 1, the video line is transmitted in a single packet.

If set to 1, the packet is part of a chunk, so a null packet follows it if NPSIZE > 0. Otherwise, multiple chunks are used to transmit each video line.

34.15.14 DSI Host video null packet configuration register (DSI_VNPCR)

Address offset: 0x0044

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.NPSIZE[12:0]
rwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bits 12:0 NPSIZE[12:0] : Null packet size

This field configures the number of bytes inside a null packet.

Setting to 0 disables the null packets.

34.15.15 DSI Host video HSA configuration register (DSI_VHSACR)

Address offset: 0x0048

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.HSA[11:0]
rwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:12 Reserved, must be kept at reset value.

Bits 11:0 HSA[11:0] : Horizontal synchronism active duration

This field configures the horizontal synchronism active period in lane byte clock cycles.

34.15.16 DSI Host video HBP configuration register (DSI_VHBPCR)

Address offset: 0x004C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.
rwrwrwrwrwrwrwrwrwrwrwrw
HBP[11:0]

Bits 31:12 Reserved, must be kept at reset value.

Bits 11:0 HBP[11:0] : Horizontal back-porch duration

This field configures the horizontal back-porch period in lane byte clock cycles.

34.15.17 DSI Host video line configuration register (DSI_VLCR)

Address offset: 0x0050

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
HLINE[14:0]

Bits 31:15 Reserved, must be kept at reset value.

Bits 14:0 HLINE[14:0] : Horizontal line duration

This field configures the total of the horizontal line period (HSA+HBP+HACT+HFP) counted in lane byte clock cycles.

34.15.18 DSI Host video VSA configuration register (DSI_VVSACR)

Address offset: 0x0054

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.
rwrwrwrwrwrwrwrwrwrw
VSA[9:0]

Bits 31:10 Reserved, must be kept at reset value.

Bits 9:0 VSA[9:0] : Vertical synchronism active duration

This field configures the vertical synchronism active period measured in number of horizontal lines.

34.15.19 DSI Host video VBP configuration register (DSI_VVBPCR)

Address offset: 0x0058

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.VBP[9:0]
rwrwrwrwrwrwrwrwrwrw

Bits 31:10 Reserved, must be kept at reset value.

Bits 9:0 VBP[9:0] : Vertical back-porch duration

This field configures the vertical back-porch period measured in number of horizontal lines.

34.15.20 DSI Host video VFP configuration register (DSI_VVFPCR)

Address offset: 0x005C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.VFP[9:0]
rwrwrwrwrwrwrwrwrwrw

Bits 31:10 Reserved, must be kept at reset value.

Bits 9:0 VFP[9:0] : Vertical front-porch duration

This field configures the vertical front-porch period measured in number of horizontal lines.

34.15.21 DSI Host video VA configuration register (DSI_VVACR)

Address offset: 0x0060

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.VA[13:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:14 Reserved, must be kept at reset value.

Bits 13:0 VA[13:0] : Vertical active duration

This field configures the vertical active period measured in number of horizontal lines.

34.15.22 DSI Host LTDC command configuration register (DSI_LCCR)

Address offset: 0x0064

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
CMDSIZE[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 CMDSIZE[15:0] : Command size

This field configures the maximum allowed size for an LTDC write memory command, measured in pixels. Automatic partitioning of data obtained from LTDC is permanently enabled.

34.15.23 DSI Host command mode configuration register (DSI_CMCR)

Address offset: 0x0068

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.MRDPSRes.Res.Res.Res.DLWTXDSR0TXDSW1TXDSW0TX
rwrwrwrwrw
1514131211109876543210
Res.GLWTXGSR 2TXGSR 1TXGSR 0TXGSW 2TXGSW 1TXGSW 0TXRes.Res.Res.Res.Res.Res.ARETEARE
rwrwrwrwrwrwrwrwrw

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 MRDPS : Maximum read packet size

This bit configures the maximum read packet size command transmission type:

Bits 23:20 Reserved, must be kept at reset value.

Bit 19 DLWTX : DCS long write transmission

This bit configures the DCS long write packet command transmission type:

Bit 18 DSR0TX : DCS short read zero parameter transmission

This bit configures the DCS short read packet with zero parameter command transmission type:

0: High-speed

1: Low-power

Bit 17 DSW1TX : DCS short read one parameter transmission

This bit configures the DCS short read packet with one parameter command transmission type:

0: High-speed

1: Low-power

Bit 16 DSW0TX : DCS short write zero parameter transmission

This bit configures the DCS short write packet with zero parameter command transmission type:

0: High-speed

1: Low-power

Bit 15 Reserved, must be kept at reset value.

Bit 14 GLWTX : Generic long write transmission

This bit configures the generic long write packet command transmission type :

0: High-speed

1: Low-power

Bit 13 GSR2TX : Generic short read two parameters transmission

This bit configures the generic short read packet with two parameters command transmission type:

0: High-speed

1: Low-power

Bit 12 GSR1TX : Generic short read one parameters transmission

This bit configures the generic short read packet with one parameters command transmission type:

0: High-speed

1: Low-power

Bit 11 GSR0TX : Generic short read zero parameters transmission

This bit configures the generic short read packet with zero parameters command transmission type:

0: High-speed

1: Low-power

Bit 10 GSW2TX : Generic short write two parameters transmission

This bit configures the generic short write packet with two parameters command transmission type:

0: High-speed

1: Low-power

Bit 9 GSW1TX : Generic short write one parameters transmission

This bit configures the generic short write packet with one parameters command transmission type:

0: High-speed

1: Low-power

Bit 8 GSW0TX : Generic short write zero parameters transmission

This bit configures the generic short write packet with zero parameters command transmission type:

0: High-speed

1: Low-power

Bits 7:2 Reserved, must be kept at reset value.

Bit 1 ARE : Acknowledge request enable

This bit enables the acknowledge request after each packet transmission:

0: Acknowledge request is disabled.

1: Acknowledge request is enabled.

Bit 0 TEARE : Tearing effect acknowledge request enable

This bit enables the tearing effect acknowledge request:

0: Tearing effect acknowledge request is disabled.

1: Tearing effect acknowledge request is enabled.

34.15.24 DSI Host generic header configuration register (DSI_GHCR)

Address offset: 0x006C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.WCMSB[7:0]
rwrwrwrwrwrwrwrw
1514131211109876543210
WCLSB[7:0]VCID[1:0]DT[5:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 Reserved, must be kept at reset value.

Bits 23:16 WCMSB[7:0] : WordCount MSB

This field configures the most significant byte of the header packet's word count for long packets, or data 1 for short packets.

Bits 15:8 WCLSB[7:0] : WordCount LSB

This field configures the less significant byte of the header packet word count for long packets, or data 0 for short packets.

Bits 7:6 VCID[1:0] : Channel

This field configures the virtual channel ID of the header packet.

Bits 5:0 DT[5:0] : Type

This field configures the packet data type of the header packet.

34.15.25 DSI Host generic payload data register (DSI_GPDR)

Address offset: 0x0070

Reset value: 0x0000 0000

31302928272625242322212019181716
DATA4[7:0]DATA3[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
DATA2[7:0]DATA1[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 DATA4[7:0] : Payload byte 4

This field indicates the byte 4 of the packet payload.

Bits 23:16 DATA3[7:0] : Payload byte 3

This field indicates the byte 3 of the packet payload.

Bits 15:8 DATA2[7:0] : Payload byte 2

This field indicates the byte 2 of the packet payload.

Bits 7:0 DATA1[7:0] : Payload byte 1

This field indicates the byte 1 of the packet payload.

34.15.26 DSI Host generic packet status register (DSI_GPSR)

Address offset: 0x0074

Reset value: 0x0000 0015

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.RCBPRDFFPRDFEPWRFFPWRFECMDFFCMDFE
rrrrrrr

Bits 31:7 Reserved, must be kept at reset value.

Bit 6 RCB : Read command busy

This bit is set when a read command is issued and cleared when the entire response is stored in the FIFO:

0: No read command on going

1: Read command on going

Bit 5 PRDFF : Payload read FIFO full

This bit indicates the full status of the generic read payload FIFO:

0: Read payload FIFO not full

1: Read payload FIFO full.

Bit 4 PRDFE : Payload read FIFO empty

This bit indicates the empty status of the generic read payload FIFO:

0: Read payload FIFO not empty

1: Read payload FIFO empty

Bit 3 PWRFF : Payload write FIFO full

This bit indicates the full status of the generic write payload FIFO:

0: Write payload FIFO not full

1: Write payload FIFO full

Bit 2 PWRFE : Payload write FIFO empty

This bit indicates the empty status of the generic write payload FIFO:

0: Write payload FIFO not empty

1: Write payload FIFO empty

Bit 1 CMDFF : Command FIFO full

This bit indicates the full status of the generic command FIFO:

0: Write payload FIFO not full

1: Write payload FIFO full

Bit 0 CMDFE : Command FIFO empty

This bit indicates the empty status of the generic command FIFO:

0: Write payload FIFO not empty

1: Write payload FIFO empty

34.15.27 DSI Host timeout counter configuration register 0 (DSI_TCCR0)

Address offset: 0x0078

Reset value: 0x0000 0000

31302928272625242322212019181716
HSTX_TOCNT[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
LPRX_TOCNT[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 HSTX_TOCNT[15:0] : High-speed transmission timeout counter

This field configures the timeout counter that triggers a high-speed transmission timeout contention detection (measured in TOCKDIV cycles).

If using the non-burst mode and there is no enough time to switch from high-speed to low-power and back in the period from one line data finishing to the next line sync start, the DSI link returns the low-power state once per frame, then configure the TOCKDIV and HSTX_TOCNT to be in accordance with:

\[ \text{HSTX\_TOCNT} * \text{lanebyteclkperiod} * \text{TOCKDIV} \geq \text{the time of one FRAME data transmission} * (1 + 10\%) \]

In burst mode, RGB pixel packets are time-compressed, leaving more time during a scan line. Therefore, if in burst mode and there is enough time to switch from high-speed to low-power and back in the period from one line data finishing to the next line sync start, the DSI link can return low-power mode and back in this time interval to save power. For this, configure the TOCKDIV and HSTX_TOCNT to be in accordance with:

\[ \text{HSTX\_TOCNT} * \text{lanebyteclkperiod} * \text{TOCKDIV} \geq \text{the time of one LINE data transmission} * (1 + 10\%) \]

Bits 15:0 LPRX_TOCNT[15:0] : Low-power reception timeout counter

This field configures the timeout counter that triggers a low-power reception timeout contention detection (measured in TOCKDIV cycles).

34.15.28 DSI Host timeout counter configuration register 1 (DSI_TCCR1)

Address offset: 0x007C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
HSRD_TOCNT[15:0]

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 HSRD_TOCNT[15:0] : High-speed read timeout counter

This field sets a period for which the DSI Host keeps the link still, after sending a high-speed read operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts.

34.15.29 DSI Host timeout counter configuration register 2 (DSI_TCCR2)

Address offset: 0x0080

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
LPRD_TOCNT[15:0]

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 LPRD_TOCNT[15:0] : Low-power read timeout counter

This field sets a period for which the DSI Host keeps the link still, after sending a low-power read operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts.

34.15.30 DSI Host timeout counter configuration register 3 (DSI_TCCR3)

Address offset: 0x0084

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.PMRes.Res.Res.Res.Res.Res.Res.Res.
rw
1514131211109876543210
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
HSWR_TOCNT[15:0]

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 PM : Presp mode

When set to 1, this bit ensures that the peripheral response timeout caused by HSWR_TOCNT is used only once per LTDC frame in command mode, when both the following conditions are met:

In this scenario no non-LTDC command requests are sent to the D-PHY, even if there is traffic from generic interface ready to be sent, making it return to stop state. When it does so, PRESP_TO counter is activated and only when it finishes does the controller send any other traffic that is ready.

Bits 23:16 Reserved, must be kept at reset value.

Bits 15:0 HSWR_TOCNT[15:0] : High-speed write timeout counter

This field sets a period for which the DSI Host keeps the link inactive after sending a high-speed write operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts.

34.15.31 DSI Host timeout counter configuration register 4 (DSI_TCCR4)

Address offset: 0x0088

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
LPWR_TOCNT[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 LPWR_TOCNT[15:0] : Low-power write timeout counter

This field sets a period for which the DSI Host keeps the link still, after sending a low-power write operation. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts.

34.15.32 DSI Host timeout counter configuration register 5 (DSI_TCCR5)

Address offset: 0x008C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
BTA_TOCNT[15:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:0 BTA_TOCNT[15:0] : Bus-turn-around timeout counter

This field sets a period for which the DSI Host keeps the link still, after completing a bus-turn-around. This period is measured in cycles of lanebyteclk. The counting starts when the D-PHY enters the Stop state and causes no interrupts.

34.15.33 DSI Host clock lane configuration register (DSI_CLCR)

Address offset: 0x0094

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.ACRDPCC
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bit 1 ACR : Automatic clock lane control

This bit enables the automatic mechanism to stop providing clock in the clock lane when time allows.

0: Automatic clock lane control disabled

1: Automatic clock lane control enabled

Bit 0 DPCC : D-PHY clock control

This bit controls the D-PHY clock state:

0: Clock lane is in low-power mode.

1: Clock lane runs in high-speed mode.

34.15.34 DSI Host clock lane timer configuration register (DSI_CLTCR)

Address offset: 0x0098

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.HS2LP_TIME[9:0]
rwrwrwrwrwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.Res.Res.Res.LP2HS_TIME[9:0]
rwrwrwrwrwrwrwrwrwrw

Bits 31:26 Reserved, must be kept at reset value.

Bits 25:16 HS2LP_TIME[9:0] : High-speed to low-power time

This field configures the maximum time that the D-PHY clock lane takes to go from high-speed to low-power transmission measured in lane byte clock cycles.

Bits 15:10 Reserved, must be kept at reset value.

Bits 9:0 LP2HS_TIME[9:0] : Low-power to high-speed time

This field configures the maximum time that the D-PHY clock lane takes to go from low-power to high-speed transmission measured in lane byte clock cycles.

34.15.35 DSI Host data lane timer configuration register (DSI_DLTCR)

Address offset: 0x009C

Reset value: 0x0000 0000

31302928272625242322212019181716
HS2LP_TIME[7:0]LP2HS_TIME[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
Res.MRD_TIME[14:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 HS2LP_TIME[7:0] : High-speed to low-power time

This field configures the maximum time that the D-PHY data lanes take to go from high-speed to low-power transmission measured in lane byte clock cycles.

Bits 23:16 LP2HS_TIME[7:0] : Low-power to high-speed time

This field configures the maximum time that the D-PHY data lanes take to go from low-power to high-speed transmission measured in lane byte clock cycles.

Bit 15 Reserved, must be kept at reset value.

Bits 14:0 MRD_TIME[14:0] : Maximum read time

This field configures the maximum time required to perform a read command in lane byte clock cycles. This register can only be modified when no read command is in progress.

34.15.36 DSI Host PHY control register (DSI_PCTLR)

Address offset: 0x00A0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CKEDENRes.
rwrw

Bits 31:3 Reserved, must be kept at reset value.

Bit 2 CKE : Clock enable

This bit enables the D-PHY clock lane module:

0: D-PHY clock lane module is disabled.

1: D-PHY clock lane module is enabled.

Bit 1 DEN : Digital enable

When set to 0, this bit places the digital section of the D-PHY in the reset state

0: The digital section of the D-PHY is in the reset state.

1: The digital section of the D-PHY is enabled.

Bit 0 Reserved, must be kept at reset value.

34.15.37 DSI Host PHY configuration register (DSI_PCONFR)

Address offset: 0x00A4

Reset value: 0x0000 0001

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
SW_TIME[7:0]Res.Res.Res.Res.Res.Res.NL[1:0]
rwrwrwrwrwrwrwrwrwrw

Bits 31:16 Reserved, must be kept at reset value.

Bits 15:8 SW_TIME[7:0] : Stop wait time

This field configures the minimum wait period to request a high-speed transmission after the Stop state.

Bits 7:2 Reserved, must be kept at reset value.

Bits 1:0 NL[1:0] : Number of lanes

This field configures the number of active data lanes:

00: One data lane (lane 0)

01: Two data lanes (lanes 0 and 1) - Reset value

Others: Reserved

34.15.38 DSI Host PHY ULPS control register (DSI_PUCR)

Address offset: 0x00A8

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.UEDLURDLUECLURCL
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bit 3 UEDL : ULPS exit on data lane

ULPS mode exit on all active data lanes.
0: No exit request
1: Exit ULPS mode on all active data lane URDL

Bit 2 URDL : ULPS request on data lane

ULPS mode request on all active data lanes.
0: No ULPS request
1: Request ULPS mode on all active data lane UECL

Bit 1 UECL : ULPS exit on clock lane

ULPS mode exit on clock lane.
0: No exit request
1: Exit ULPS mode on clock lane

Bit 0 URCL : ULPS request on clock lane

ULPS mode request on clock lane.
0: No ULPS request
1: Request ULPS mode on clock lane

34.15.39 DSI Host PHY TX triggers configuration register (DSI_PTTCCR)

Address offset: 0x00AC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.TX_TRIG[3:0]
rwrwrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bits 3:0 TX_TRIG[3:0] : Transmission trigger

Escape mode transmit trigger 0-3.
Only one bit of TX_TRIG is asserted at any given time.

34.15.40 DSI Host PHY status register (DSI_PSR)

Address offset: 0x00B0

Reset value: 0x0000 1528

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.UAN1PSS1RUE0UAN0PSS0UANCPSSCPDRes.
rrrrrrrr

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 UAN1 : ULPS active not lane 1

This bit indicates the status of ulpsactivenot1lane D-PHY signal.

Bit 7 PSS1 : PHY stop state lane 1

This bit indicates the status of phystopstate1lane D-PHY signal.

Bit 6 RUE0 : RX ULPS escape lane 0

This bit indicates the status of rxulpesc0lane D-PHY signal.

Bit 5 UAN0 : ULPS active not lane 0

This bit indicates the status of ulpsactivenot0lane D-PHY signal.

Bit 4 PSS0 : PHY stop state lane 0

This bit indicates the status of phystopstate0lane D-PHY signal.

Bit 3 UANC : ULPS active not clock lane

This bit indicates the status of ulpsactivenotcklane D-PHY signal.

Bit 2 PSSC : PHY stop state clock lane

This bit indicates the status of phystopstatecklane D-PHY signal.

Bit 1 PD : PHY direction

This bit indicates the status of phydirection D-PHY signal.

Bit 0 Reserved, must be kept at reset value.

34.15.41 DSI Host interrupt and status register 0 (DSI_ISR0)

Address offset: 0x00BC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PE4PE3PE2PE1PE0
rrrrr
1514131211109876543210
AE15AE14AE13AE12AE11AE10AE9AE8AE7AE6AE5AE4AE3AE2AE1AE0
rrrrrrrrrrrrrrrr

Bits 31:21 Reserved, must be kept at reset value.

Bit 20 PE4 : PHY error 4

This bit indicates the LP1 contention error ErrContentionLP1 from lane 0.

Bit 19 PE3 : PHY error 3

This bit indicates the LP0 contention error ErrContentionLP0 from lane 0.

Bit 18 PE2 : PHY error 2

This bit indicates the ErrControl error from lane 0.

Bit 17 PE1 : PHY error 1

This bit indicates the ErrSyncEsc low-power transmission synchronization error from lane 0.

Bit 16 PE0 : PHY error 0

This bit indicates the ErrEsc escape entry error from lane 0.

Bit 15 AE15 : Acknowledge error 15

This bit retrieves the DSI protocol violation from the acknowledge error report.

Bit 14 AE14 : Acknowledge error 14

This bit retrieves the reserved (specific to the device) from the acknowledge error report.

Bit 13 AE13 : Acknowledge error 13

This bit retrieves the invalid transmission length from the acknowledge error report.

Bit 12 AE12 : Acknowledge error 12

This bit retrieves the DSI VC ID Invalid from the acknowledge error report.

Bit 11 AE11 : Acknowledge error 11

This bit retrieves the not recognized DSI data type from the acknowledge error report.

Bit 10 AE10 : Acknowledge error 10

This bit retrieves the checksum error (long packet only) from the acknowledge error report.

Bit 9 AE9 : Acknowledge error 9

This bit retrieves the ECC error, multi-bit (detected, not corrected) from the acknowledge error report.

Bit 8 AE8 : Acknowledge error 8

This bit retrieves the ECC error, single-bit (detected and corrected) from the acknowledge error report.

Bit 7 AE7 : Acknowledge error 7

This bit retrieves the reserved (specific to the device) from the acknowledge error report.

Bit 6 AE6 : Acknowledge error 6

This bit retrieves the false control error from the acknowledge error report.

Bit 5 AE5 : Acknowledge error 5

This bit retrieves the peripheral timeout error from the acknowledge error report.

Bit 4 AE4 : Acknowledge error 4

This bit retrieves the LP transmit sync error from the acknowledge error report.

Bit 3 AE3 : Acknowledge error 3

This bit retrieves the escape mode entry command error from the acknowledge error report.

Bit 2 AE2 : Acknowledge error 2

This bit retrieves the EoT sync error from the acknowledge error report.

Bit 1 AE1 : Acknowledge error 1

This bit retrieves the SoT sync error from the acknowledge error report.

Bit 0 AE0 : Acknowledge error 0

This bit retrieves the SoT error from the acknowledge error report.

34.15.42 DSI Host interrupt and status register 1 (DSI_ISR1)

Address offset: 0x00C0

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.GPRXEGPRDEGPTXEGPWREGCWRELPWREEOTPEPSECRCEECCMEECCSETOLPRXTOHSTX
rrrrrrrrrrrrr

Bits 31:13 Reserved, must be kept at reset value.

Bit 12 GPRXE : Generic payload receive error

This bit indicates that during a generic interface packet read back, the payload FIFO becomes full and the received data is corrupted.

Bit 11 GPRDE : Generic payload read error

This bit indicates that during a DCS read data, the payload FIFO becomes empty and the data sent to the interface is corrupted.

Bit 10 GPTXE : Generic payload transmit error

This bit indicates that during a generic interface packet build, the payload FIFO becomes empty and corrupt data is sent.

Bit 9 GPWRE : Generic payload write error

This bit indicates that the system tried to write a payload data through the generic interface and the FIFO is full. Therefore, the payload is not written.

Bit 8 GCWRE : Generic command write error

This bit indicates that the system tried to write a command through the generic interface and the FIFO is full. Therefore, the command is not written.

Bit 7 LPWRE : LTDC payload write error

This bit indicates that during a DPI pixel line storage, the payload FIFO becomes full and the data stored is corrupted.

Bit 6 EOTPE : EoTp error

This bit indicates that the EoTp packet is not received at the end of the incoming peripheral transmission.

Bit 5 PSE : Packet size error

This bit indicates that the packet size error is detected during the packet reception.

Bit 4 CRCE : CRC error

This bit indicates that the CRC error is detected in the received packet payload.

Bit 3 ECCME : ECC multi-bit error

This bit indicates that the ECC multiple error is detected in a received packet.

Bit 2 ECCSE : ECC single-bit error

This bit indicates that the ECC single error is detected and corrected in a received packet.

Bit 1 TOLPRX : Timeout low-power reception

This bit indicates that the low-power reception timeout counter reached the end and contention is detected.

Bit 0 TOHSTX : Timeout high-speed transmission

This bit indicates that the high-speed transmission timeout counter reached the end and contention is detected.

34.15.43 DSI Host interrupt enable register 0 (DSI_IER0)

Address offset: 0x00C4

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.PE4IEPE3IEPE2IEPE1IEPE0IE
rwrwrwrwrw
1514131211109876543210
AE15IEAE14IEAE13IEAE12IEAE11IEAE10IEAE9IEAE8IEAE7IEAE6IEAE5IEAE4IEAE3IEAE2IEAE1IEAE0IE
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:21 Reserved, must be kept at reset value.

Bit 20 PE4IE : PHY error 4 interrupt enable

This bit enables the interrupt generation on PHY error 4.

0: Interrupt on PHY error 4 disabled

1: Interrupt on PHY error 4 enabled

Bit 19 PE3IE : PHY error 3 interrupt enable

This bit enables the interrupt generation on PHY error 4.

0: Interrupt on PHY error 3 disabled

1: Interrupt on PHY error 3 enabled

Bit 18 PE2IE : PHY error 2 interrupt enable

This bit enables the interrupt generation on PHY error 2.

0: Interrupt on PHY error 2 disabled

1: Interrupt on PHY error 2 enabled

Bit 17 PE1IE : PHY error 1 interrupt enable

This bit enables the interrupt generation on PHY error 1.

0: Interrupt on PHY error 1 disabled

1: Interrupt on PHY error 1 enabled

Bit 16 PE0IE : PHY error 0 interrupt enable

This bit enables the interrupt generation on PHY error 0.

0: Interrupt on PHY error 0 disabled

1: Interrupt on PHY error 0 enabled

Bit 15 AE15IE : Acknowledge error 15 interrupt enable

This bit enables the interrupt generation on acknowledge error 15.

0: Interrupt on acknowledge error 15 disabled

1: Interrupt on acknowledge error 15 enabled

Bit 14 AE14IE : Acknowledge error 14 interrupt enable

This bit enables the interrupt generation on acknowledge error 14.

0: Interrupt on acknowledge error 14 disabled

1: Interrupt on acknowledge error 14 enabled

Bit 13 AE13IE : Acknowledge error 13 interrupt enable

This bit enables the interrupt generation on acknowledge error 13.

0: Interrupt on acknowledge error 13 disabled

1: Interrupt on acknowledge error 13 enabled

Bit 12 AE12IE : Acknowledge error 12 interrupt enable

This bit enables the interrupt generation on acknowledge error 12.

0: Interrupt on acknowledge error 12 disabled

1: Interrupt on acknowledge error 12 enabled

Bit 11 AE11IE : Acknowledge error 11 interrupt enable

This bit enables the interrupt generation on acknowledge error 11.

0: Interrupt on acknowledge error 11 disabled

1: Interrupt on acknowledge error 11 enabled

Bit 10 AE10IE : Acknowledge error 10 interrupt enable

This bit enables the interrupt generation on acknowledge error 10.

0: Interrupt on acknowledge error 10 disabled

1: Interrupt on acknowledge error 10 enable.

Bit 9 AE9IE : Acknowledge error 9 interrupt enable

This bit enables the interrupt generation on acknowledge error 9.

0: Interrupt on acknowledge error 9 disabled

1: Interrupt on acknowledge error 9 enabled

Bit 8 AE8IE : Acknowledge error 8 interrupt enable

This bit enables the interrupt generation on acknowledge error 8.

0: Interrupt on acknowledge error 8 disabled

1: Interrupt on acknowledge error 8 enabled

Bit 7 AE7IE : Acknowledge error 7 interrupt enable

This bit enables the interrupt generation on acknowledge error 7.

0: Interrupt on acknowledge error 7 disabled

1: Interrupt on acknowledge error 7 enabled

Bit 6 AE6IE : Acknowledge error 6 interrupt enable

This bit enables the interrupt generation on acknowledge error 6.

0: Interrupt on acknowledge error 6 disabled

1: Interrupt on acknowledge error 6 enabled

Bit 5 AE5IE : Acknowledge error 5 interrupt enable

This bit enables the interrupt generation on acknowledge error 5.

0: Interrupt on acknowledge error 5 disabled

1: Interrupt on acknowledge error 5 enabled

Bit 4 AE4IE : Acknowledge error 4 interrupt enable

This bit enables the interrupt generation on acknowledge error 4.

0: Interrupt on acknowledge error 4 disabled

1: Interrupt on acknowledge error 4 enabled

Bit 3 AE3IE : Acknowledge error 3 interrupt enable

This bit enables the interrupt generation on acknowledge error 3.

0: Interrupt on acknowledge error 3 disabled

1: Interrupt on acknowledge error 3 enabled

Bit 2 AE2IE : Acknowledge error 2 interrupt enable

This bit enables the interrupt generation on acknowledge error 2.

0: Interrupt on acknowledge error 2 disabled

1: Interrupt on acknowledge error 2 enabled

Bit 1 AE1IE : Acknowledge error 1 interrupt enable

This bit enables the interrupt generation on acknowledge error 1.

0: Interrupt on acknowledge error 1 disabled

1: Interrupt on acknowledge error 1 enabled

Bit 0 AE0IE : Acknowledge error 0 interrupt enable

This bit enables the interrupt generation on acknowledge error 0.

0: Interrupt on acknowledge error 0 disabled

1: Interrupt on acknowledge error 0 enabled

34.15.44 DSI Host interrupt enable register 1 (DSI_IER1)

Address offset: 0x00C8

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.GPRX
EIE
GPRD
EIE
GPTX
EIE
GPWR
EIE
GCWR
EIE
LPWR
EIE
EOTP
EIE
PS
EIE
CRC
EIE
ECCM
EIE
ECCS
EIE
TOLPRX
IE
TOHSTX
IE
rwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:13 Reserved, must be kept at reset value.

Bit 12 GPRXEIE : Generic payload receive error interrupt enable

This bit enables the interrupt generation on generic payload receive error.

0: Interrupt on generic payload receive error disabled

1: Interrupt on generic payload receive error enabled

Bit 11 GPRDEIE : Generic payload read error interrupt enable

This bit enables the interrupt generation on generic payload read error.

0: Interrupt on generic payload read error disabled

1: Interrupt on generic payload read error enabled

Bit 10 GPTXEIE : Generic payload transmit error interrupt enable

This bit enables the interrupt generation on generic payload transmit error.

0: Interrupt on generic payload transmit error disabled

1: Interrupt on generic payload transmit error enabled

Bit 9 GPWREIE : Generic payload write error interrupt enable

This bit enables the interrupt generation on generic payload write error.

0: Interrupt on generic payload write error disabled

1: Interrupt on generic payload write error enabled

Bit 8 GCWREIE : Generic command write error interrupt enable

This bit enables the interrupt generation on generic command write error.

0: Interrupt on generic command write error disabled

1: Interrupt on generic command write error enabled

Bit 7 LPWREIE : LTDC payload write error interrupt enable

This bit enables the interrupt generation on LTDC payload write error.

0: Interrupt on LTDC payload write error disabled

1: Interrupt on LTDC payload write error enabled

Bit 6 EOTPTEIE : EoTp error interrupt enable

This bit enables the interrupt generation on EoTp error.

0: Interrupt on EoTp error disabled

1: Interrupt on EoTp error enabled

Bit 5 PSEIE : Packet size error interrupt enable

This bit enables the interrupt generation on packet size error.

0: Interrupt on packet size error disabled

1: Interrupt on packet size error enabled

Bit 4 CRCEIE : CRC error interrupt enable

This bit enables the interrupt generation on CRC error.

0: Interrupt on CRC error disabled

1: Interrupt on CRC error enabled

Bit 3 ECCMEIE : ECC multi-bit error interrupt enable

This bit enables the interrupt generation on ECC multi-bit error.

0: Interrupt on ECC multi-bit error disabled

1: Interrupt on ECC multi-bit error enabled

Bit 2 ECCSEIE : ECC single-bit error interrupt enable

This bit enables the interrupt generation on ECC single-bit error.

0: Interrupt on ECC single-bit error disabled

1: Interrupt on ECC single-bit error enabled

Bit 1 TOLPRXIE : Timeout low-power reception interrupt enable

This bit enables the interrupt generation on timeout low-power reception.

0: Interrupt on timeout low-power reception disabled

1: Interrupt on timeout low-power reception enabled

Bit 0 TOHSTXIE : Timeout high-speed transmission interrupt enable

This bit enables the interrupt generation on timeout high-speed transmission .

0: Interrupt on timeout high-speed transmission disabled

1: Interrupt on timeout high-speed transmission enabled

34.15.45 DSI Host force interrupt register 0 (DSI_FIR0)

Address offset: 0x00D8

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FPE4FPE3FPE2FPE1FPE0
wwwww
1514131211109876543210
FAE15FAE14FAE13FAE12FAE11FAE10FAE9FAE8FAE7FAE6FAE5FAE4FAE3FAE2FAE1FAE0
wwwwwwwwwwwwwwww

Bits 31:21 Reserved, must be kept at reset value.

Bit 20 FPE4 : Force PHY error 4

Writing one to this bit forces a PHY error 4.

Bit 19 FPE3 : Force PHY error 3

Writing one to this bit forces a PHY error 3.

Bit 18 FPE2 : Force PHY error 2

Writing one to this bit forces a PHY error 2.

Bit 17 FPE1 : Force PHY error 1

Writing one to this bit forces a PHY error 1.

Bit 16 FPE0 : Force PHY error 0

Writing one to this bit forces a PHY error 0.

Bit 15 FAE15 : Force acknowledge error 15

Writing one to this bit forces an acknowledge error 15.

Bit 14 FAE14 : Force acknowledge error 14

Writing one to this bit forces an acknowledge error 14.

Bit 13 FAE13 : Force acknowledge error 13

Writing one to this bit forces an acknowledge error 13.

Bit 12 FAE12 : Force acknowledge error 12

Writing one to this bit forces an acknowledge error 12.

Bit 11 FAE11 : Force acknowledge error 11

Writing one to this bit forces an acknowledge error 11.

Bit 10 FAE10 : Force acknowledge error 10

Writing one to this bit forces an acknowledge error 10.

Bit 9 FAE9 : Force acknowledge error 9

Writing one to this bit forces an acknowledge error 9.

Bit 8 FAE8 : Force acknowledge error 8

Writing one to this bit forces an acknowledge error 8.

Bit 7 FAE7 : Force acknowledge error 7

Writing one to this bit forces an acknowledge error 7.

Bit 6 FAE6 : Force acknowledge error 6

Writing one to this bit forces an acknowledge error 6.

  1. Bit 5 FAE5 : Force acknowledge error 5
    Writing one to this bit forces an acknowledge error 5.
  2. Bit 4 FAE4 : Force acknowledge error 4
    Writing one to this bit forces an acknowledge error 4.
  3. Bit 3 FAE3 : Force acknowledge error 3
    Writing one to this bit forces an acknowledge error 3.
  4. Bit 2 FAE2 : Force acknowledge error 2
    Writing one to this bit forces an acknowledge error 2.
  5. Bit 1 FAE1 : Force acknowledge error 1
    Writing one to this bit forces an acknowledge error 1.
  6. Bit 0 FAE0 : Force acknowledge error 0
    Writing one to this bit forces an acknowledge error 0.

34.15.46 DSI Host force interrupt register 1 (DSI_FIR1)

Address offset: 0x00DC

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.FGP
RXE
FGP
RDE
FGP
TXE
FGP
WRE
FGC
WRE
FLP
WRE
FE
OTPE
FPSEFCRCEFECC
ME
FECC
SE
FTOLP
RX
FTOHS
TX
wwwwwwwwwwwww

Bits 31:13 Reserved, must be kept at reset value.

  1. Bit 12 FGPRXE : Force generic payload receive error
    Writing one to this bit forces a generic payload receive error.
  2. Bit 11 FGPRDE : Force generic payload read error
    Writing one to this bit forces a generic payload read error.
  3. Bit 10 FGPTXE : Force generic payload transmit error
    Writing one to this bit forces a generic payload transmit error.
  4. Bit 9 FGPWRE : Force generic payload write error
    Writing one to this bit forces a generic payload write error.
  5. Bit 8 FGCWRE : Force generic command write error
    Writing one to this bit forces a generic command write error.
  6. Bit 7 FLPWRE : Force LTDC payload write error
    Writing one to this bit forces a LTDC payload write error.
  7. Bit 6 FEOTPE : Force EoTp error
    Writing one to this bit forces a EoTp error.
  8. Bit 5 FPSE : Force packet size error
    Writing one to this bit forces a packet size error.

34.15.47 DSI Host video shadow control register (DSI_VSCR)

Address offset: 0x0100

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.URRes.Res.Res.Res.Res.Res.Res.EN
rwrw

Bits 31:9 Reserved, must be kept at reset value.

Bits 7:1 Reserved, must be kept at reset value.

34.15.48 DSI Host LTDC current VCID register (DSI_LCVCIDR)

Address offset: 0x010C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VCID[1:0]
rwrw

Bits 31:2 Reserved, must be kept at reset value.

Bits 1:0 VCID[1:0] : Virtual channel ID

This field returns the virtual channel ID for the LTDC interface.

34.15.49 DSI Host LTDC current color coding register (DSI_LCCCR)

Address offset: 0x0110

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.LPERes.Res.Res.Res.COLC[3:0]
rrrrr

Bits 31:9 Reserved, must be kept at reset value.

Bit 8 LPE : Loosely packed enable

This bit returns the current state of the loosely packed variant to 18-bit configurations.

0: Loosely packed variant disabled

1: Loosely packed variant enabled

Bits 7:4 Reserved, must be kept at reset value.

Bits 3:0 COLC[3:0] : Color coding

This field returns the current LTDC interface color coding.

0000: 16-bit configuration 1

0001: 16-bit configuration 2

0010: 16-bit configuration 3

0011: 18-bit configuration 1

0100: 18-bit configuration 2

0101: 24-bit

0110 - 1111: reserved

If LTDC interface in command mode is chosen and currently works in the command mode (CMDM=1), then 0110-1111: 24-bit

34.15.50 DSI Host low-power mode current configuration register (DSI_LPMCCR)

Address offset: 0x0118

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.LPSIZE[7:0]
rrrrrrrr
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.VLPSIZE[7:0]
rrrrrrrr

Bits 31:24 Reserved, must be kept at reset value.

Bits 23:16 LPSIZE[7:0] : Largest packet size

This field returns the current size, in bytes, of the largest packet that can fit in a line during VSA, VBP and VFP regions, for the transmission of commands in low-power mode.

Bits 15:8 Reserved, must be kept at reset value.

Bits 7:0 VLPSIZE[7:0] : VACT largest packet size

This field returns the current size, in bytes, of the largest packet that can fit in a line during VACT regions, for the transmission of commands in low-power mode.

34.15.51 DSI Host video mode current configuration register (DSI_VMCCR)

Address offset: 0x0138

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.LPCEFBTAAELPHFELPHBPELPVAELPVFPELPVBPELPVSAEVMT[1:0]
rrrrrrrrrr

Bits 31:10 Reserved, must be kept at reset value.

Bit 9 LPCE : Low-power command enable

This bit returns the current command transmission state in low-power mode.

0: Command transmission in low-power mode is disabled.

1: Command transmission in low-power mode is enabled.

Bit 8 FBTAAE : Frame BTA acknowledge enable

This bit returns the current state of request for an acknowledge response at the end of a frame.

0: Acknowledge response at the end of a frame is disabled.

1: Acknowledge response at the end of a frame is enabled.

Bit 7 LPHFE : Low-power horizontal front-porch enable

This bit returns the current state of return to low-power inside the horizontal front-porch (HFP) period when timing allows.
0: Return to low-power inside the HFP period is disabled.
1: Return to low-power inside the HFP period is enabled.

Bit 6 LPHBPE : Low-power horizontal back-porch enable

This bit returns the current state of return to low-power inside the horizontal back-porch (HBP) period when timing allows.
0: Return to low-power inside the HBP period is disabled.
1: Return to low-power inside the HBP period is enabled.

Bit 5 LPVAE : Low-power vertical active enable

This bit returns the current state of return to low-power inside the vertical active (VACT) period when timing allows.
0: Return to low-power inside the VACT is disabled.
1: Return to low-power inside the VACT is enabled.

Bit 4 LPVFPE : Low-power vertical front-porch enable

This bit returns the current state of return to low-power inside the vertical front-porch (VFP) period when timing allows.
0: Return to low-power inside the VFP is disabled.
1: Return to low-power inside the VFP is enabled.

Bit 3 LPVBPE : Low-power vertical back-porch enable

This bit returns the current state of return to low-power inside the vertical back-porch (VBP) period when timing allows.
0: Return to low-power inside the VBP is disabled.
1: Return to low-power inside the VBP is enabled.

Bit 2 LPVSAE : Low-power vertical sync time enable

This bit returns the current state of return to low-power inside the vertical sync time (VSA) period when timing allows.
0: Return to low-power inside the VSA is disabled.
1: Return to low-power inside the VSA is enabled.

Bits 1:0 VMT[1:0] : Video mode type

This field returns the current video mode transmission type:
00: Non-burst with sync pulses
01: Non-burst with sync events
1x: Burst mode

34.15.52 DSI Host video packet current configuration register (DSI_VPCCR)

Address offset: 0x013C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.VPSIZE[13:0]
rrrrrrrrrrrrrr

Bits 31:14 Reserved, must be kept at reset value.

Bits 13:0 VPSIZE[13:0] : Video packet size

This field returns the number of pixels in a single video packet.

34.15.53 DSI Host video chunks current configuration register (DSI_VCCCR)

Address offset: 0x0140

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.NUMC[12:0]
rrrrrrrrrrrrr

Bits 31:13 Reserved, must be kept at reset value.

Bits 12:0 NUMC[12:0] : Number of chunks

This field returns the number of chunks being transmitted during a line period.

34.15.54 DSI Host video null packet current configuration register (DSI_VNPCCR)

Address offset: 0x0144

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.NPSIZE[12:0]
rrrrrrrrrrrrr

Bits 31:13 Reserved, must be kept at reset value.

Bits 12:0 NPSIZE[12:0] : Null packet size

This field returns the number of bytes inside a null packet.

34.15.55 DSI Host video HSA current configuration register (DSI_VHSACCR)

Address offset: 0x0148

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.HSA[11:0]
rrrrrrrrrrrr

Bits 31:12 Reserved, must be kept at reset value.

Bits 11:0 HSA[11:0] : Horizontal synchronism active duration

This field returns the horizontal synchronism active period in lane byte clock cycles.

34.15.56 DSI Host video HBP current configuration register (DSI_VHBPCCR)

Address offset: 0x014C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.HBP[11:0]
rrrrrrrrrrrr

Bits 31:12 Reserved, must be kept at reset value.

Bits 11:0 HBP[11:0] : Horizontal back-porch duration

This field returns the horizontal back-porch period in lane byte clock cycles.

34.15.57 DSI Host video line current configuration register (DSI_VLCCR)

Address offset: 0x0150

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.HLINE[14:0]
rrrrrrrrrrrrrrr

Bits 31:15 Reserved, must be kept at reset value.

Bits 14:0 HLINE[14:0] : Horizontal line duration

This field returns the current total of the horizontal line period (HSA+HBP+HACT+HFP) counted in lane byte clock cycles.

34.15.58 DSI Host video VSA current configuration register (DSI_VVSACCR)

Address offset: 0x0154

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.VSA[9:0]
rrrrrrrrrr

Bits 31:10 Reserved, must be kept at reset value.

Bits 9:0 VSA[9:0] : Vertical synchronism active duration

This field returns the current vertical synchronism active period measured in number of horizontal lines.

34.15.59 DSI Host video VBP current configuration register (DSI_VVBPCCR)

Address offset: 0x0158

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.VBP[9:0]
rrrrrrrrrr

Bits 31:10 Reserved, must be kept at reset value.

Bits 9:0 VBP[9:0] : Vertical back-porch duration

This field returns the current vertical back-porch period measured in number of horizontal lines.

34.15.60 DSI Host video VFP current configuration register (DSI_VVFPCCR)

Address offset: 0x015C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.
VFP[9:0]
rrrrrrrrrr

Bits 31:10 Reserved, must be kept at reset value.

Bits 9:0 VFP[9:0] : Vertical front-porch duration

This field returns the current vertical front-porch period measured in number of horizontal lines.

34.15.61 DSI Host video VA current configuration register (DSI_VVACCR)

Address offset: 0x0160

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.
VA[13:0]
rrrrrrrrrrrrrr

Bits 31:14 Reserved, must be kept at reset value.

Bits 13:0 VA[13:0] : Vertical active duration

This field returns the current vertical active period measured in number of horizontal lines.

34.16 DSI Wrapper registers

34.16.1 DSI Wrapper configuration register (DSI_WCFGR)

Address offset: 0x0400

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.VSPOLARTEPOLTESRCCOLMUX[2:0]DSIM
rwrwrwrwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bit 7 VSPOL : VSync polarity

This bit selects the VSync edge on which the LTDC is halted.

0: LTDC halted on a falling edge

1: LTDC halted on a rising edge

This bit must only be changed when DSI is stopped (DSI_WCR.DSIEN = 0 and DSI_CR.EN = 0).

Bit 6 AR : Automatic refresh

This bit selects the refresh mode in DBI mode.

0: automatic refresh mode disabled

1: automatic refresh mode enabled

This bit must only be changed when DSI Host is stopped (DSI_CR.EN = 0).

Bit 5 TEPOL : TE polarity

This bit selects the polarity of the external pin tearing effect (TE) source.

0: rising edge.

1: falling edge.

This bit must only be changed when DSI Host is stopped (DSI_CR.EN = 0).

Bit 4 TESRC : TE source

This bit selects the tearing effect (TE) source.

0: DSI Link

1: External pin

This bit must only be changed when DSI Host is stopped (DSI_CR.EN = 0).

Bits 3:1 COLMUX[2:0] : Color multiplexing

This bit selects the color multiplexing used by DSI Host.

000: 16-bit configuration 1

001: 16-bit configuration 2

010: 16-bit configuration 3

011: 18-bit configuration 1

100: 18-bit configuration 2

101: 24-bit

This field must only be changed when DSI is stopped (DSI_WCR.DSIEN = 0 and DSI_CR.EN = 0).

Bit 0 DSIM : DSI mode

This bit selects the mode for the video transmission.

0: Video mode

1: Adapted command mode

This bit must only be changed when DSI Host is stopped (DSI_CR.EN = 0).

34.16.2 DSI Wrapper control register (DSI_WCR)

Address offset: 0x0404

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DSIENLTDCENSHTDNCOLM
rwrsrwrw

Bits 31:4 Reserved, must be kept at reset value.

Bit 3 DSIEN : DSI enable

This bit enables the DSI Wrapper.

0: DSI disabled

1: DSI enabled

Bit 2 LTDCEN : LTDC enable

This bit enables the LTDC for a frame transfer in adapted command mode.

0: LTDC disabled

1: LTDC enabled

Bit 1 SHTDN : Shutdown

This bit controls the display shutdown in video mode.

0: display ON

1: display OFF

Bit 0 COLM : Color mode

This bit controls the display color mode in video mode.

0: Full color mode

1: Eight color mode

34.16.3 DSI Wrapper interrupt enable register (DSI_WIER)

Address offset: 0x0408

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.RRIERes.Res.PLLUIEPLLLIERes.Res.Res.Res.Res.Res.Res.ERIETEIE
rwrwrwrwrw

34.16.4 DSI Wrapper interrupt and status register (DSI_WISR)

Address offset: 0x040C

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.RRIFRRSRes.PLLUIFPLLIFPLLSRes.Res.Res.Res.Res.BUSYERIFTEIF
rrrrrrrr

Bit 11 Reserved, must be kept at reset value.

Bit 10 PLLUIF : PLL unlock interrupt flag

This bit is set when the PLL becomes unlocked.

0: No PLL unlock event occurred

1: PLL unlock event occurred

Bit 9 PLLLIF : PLL lock interrupt flag

This bit is set when the PLL becomes locked.

0: No PLL lock event occurred

1: PLL lock event occurred

Bit 8 PLLS : PLL lock status

This bit is set when the PLL is locked and cleared when it is unlocked.

0: PLL is unlocked.

1: PLL is locked.

Bits 7:3 Reserved, must be kept at reset value.

Bit 2 BUSY : Busy flag

This bit is set when the transfer of a frame in adapted command mode is ongoing.

0: No transfer on going

1: Transfer on going

Bit 1 ERIF : End of refresh interrupt flag

This bit is set when the transfer of a frame in adapted command mode is finished.

0: No end of refresh event occurred

1: End of refresh event occurred

Bit 0 TEIF : Tearing effect interrupt flag

This bit is set when a tearing effect event occurs.

0: No tearing effect event occurred

1: Tearing effect event occurred

34.16.5 DSI Wrapper interrupt flag clear register (DSI_WIFCR)

Address offset: 0x0410

Reset value: 0x0000 0000

31302928272625242322212019181716
ResResResResResResResResResResResResResResResRes
1514131211109876543210
Res.Res.CRRIFRes.Res.CPLLUIFCPLLIFRes.Res.Res.Res.Res.Res.Res.CERIFCTEIF
wwwww

Bits 31:14 Reserved, must be kept at reset value.

Bit 13 CRRIF : Clear regulator ready interrupt flag

Write 1 clears the RRIF flag in the DSI_WSR register.

Bits 12:11 Reserved, must be kept at reset value.

Bit 10 CPLLUIF : Clear PLL unlock interrupt flag

Write 1 clears the PLLUIF flag in the DSI_WSR register.

Bit 9 CPLLIF : Clear PLL lock interrupt flag

Write 1 clears the PLLIF flag in the DSI_WSR register.

Bits 8:2 Reserved, must be kept at reset value.

Bit 1 CERIF : Clear end of refresh interrupt flag

Write 1 clears the ERIF flag in the DSI_WSR register.

Bit 0 CTEIF : Clear tearing effect interrupt flag

Write 1 clears the TEIF flag in the DSI_WSR register.

34.16.6 DSI Wrapper PHY configuration register 0 (DSI_WPCR0)

Address offset: 0x0418

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.TCLK
POSTEN
TLPXC
EN
THSEXIT
EN
TLPXD
EN
THSZE
ROEN
THST
RAILEN
THSP
REPEN
TCLKZ
EROEN
TCLKP
REPEN
PDENRes.TDDL
rwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
Res.CDOFF
DL
FTXS
MDL
FTXS
MCL
HSIDL1HSIDL0HSICLSWDL1SWDL0SWCLUIX4[5:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:28 Reserved, must be kept at reset value.

Bit 27 TCLKPOSTEN : Custom time for \( t_{CLK-POST} \) enable

This bit enables the manual programming of \( t_{CLK-POST} \) duration in the D-PHY. The desired value must be programmed in the TCLKPOST field of the DSI_WPCR4 register.

0: Default value is used for \( t_{CLK-POST} \) .

1: Programmable value is used for \( t_{CLK-POST} \) .

Bit 26 TLPXCEN : Custom time for \( t_{LPX} \) for clock lane enable

This bit enables the manual programming of \( t_{LPX} \) duration for the clock lane in the D-PHY. The desired value must be programmed in the TLPXC field of the DSI_WPCR3 register.

0: Default value is used for \( t_{LPX} \) for the clock lane.

1: Programmable value is used for \( t_{LPX} \) for the clock lane.

Bit 25 THSEXITEN : Custom time for \( t_{HS-EXIT} \) enable

This bit enables the manual programming of \( t_{HS-EXIT} \) duration in the D-PHY. The desired value must be programmed in the THSEXIT field of the DSI_WPCR3 register.

0: Default value is used for \( t_{HS-EXIT} \) .

1: Programmable value is used for \( t_{HS-EXIT} \) .

Bit 24 TLPXDEN : Custom time for \( t_{LPX} \) for data lanes enable

This bit enables the manual programming of \( t_{LPX} \) duration for the data lanes in the D-PHY. The desired value must be programmed in the TLPXD field of the DSI_WPCR3 register.

0: Default value is used for \( t_{LPX} \) for the data lanes.

1: Programmable value is used for \( t_{LPX} \) for the data lanes.

Bit 23 THSZEROEN: Custom time for \( t_{\text{HS-ZERO}} \) enable

This bit enables the manual programming of \( t_{\text{HS-ZERO}} \) duration in the D-PHY. The desired value must be programmed in the THSZERO field of the DSI_WPCR3 register.

0: Default value is used for \( t_{\text{HS-ZERO}} \) .

1: Programmable value is used for \( t_{\text{HS-ZERO}} \) .

Bit 22 THSTRAILEN: Custom time for \( t_{\text{HS-TRAIL}} \) enable

This bit enables the manual programming of \( t_{\text{HS-TRAIL}} \) duration in the D-PHY. The desired value must be programmed in the THSTRAIL field of the DSI_WPCR2 register.

0: Default value is used for \( t_{\text{HS-TRAIL}} \) .

1: Programmable value is used for \( t_{\text{HS-TRAIL}} \) .

Bit 21 THSPREPEN: Custom time for \( t_{\text{HS-PREPARE}} \) enable

This bit enables the manual programming of \( t_{\text{HS-PREPARE}} \) duration in the D-PHY. The desired value must be programmed in the THSPREP field of the DSI_WPCR2 register.

0: Default value is used for \( t_{\text{HS-PREPARE}} \) .

1: Programmable value is used for \( t_{\text{HS-PREPARE}} \) .

Bit 20 TCLKZEROEN: Custom time for \( t_{\text{CLK-ZERO}} \) enable

This bit enables the manual programming of \( t_{\text{CLK-ZERO}} \) duration in the D-PHY. The desired value must be programmed in the TCLKZERO field of the DSI_WPCR2 register.

0: Default value is used for \( t_{\text{CLK-ZERO}} \) .

1: Programmable value is used for \( t_{\text{CLK-ZERO}} \) .

Bit 19 TCLKPREPEN: Custom time for \( t_{\text{CLK-PREPARE}} \) enable

This bit enables the manual programming of \( t_{\text{CLK-PREPARE}} \) duration in the D-PHY. The desired value must be programmed in the TLKCPREP field of the DSI_WPCR2 register.

0: Default value is used for \( t_{\text{CLK-PREPARE}} \) .

1: Programmable value is used for \( t_{\text{CLK-PREPARE}} \) .

Bit 18 PDEN: Pull-down enable

This bit enables a pull-down on the lane to prevent from floating states when unused.

0: Pull-down on lanes disabled

1: Pull-down on lanes enabled

Bit 17 Reserved, must be kept at reset value. Bit 16 TDDL: Turn disable data lanes

This bit forces the data lane to remain in RX event if it receives a bus-turn-around request from the other side.

0: No effect

1: Force data lanes in RX mode after a BTA

Bit 15 Reserved, must be kept at reset value. Bit 14 CDOFFDL: Contention detection OFF on data lanes

When only forward escape mode is used, this signal can be made high to switch off the contention detector and reduce static power consumption.

0: Contention detection on data lane ON

1: Contention detection on data lane OFF

Bit 13 FTXSMDL: Force in TX Stop mode the data lanes

This bit forces the data lanes in TX stop mode. It is used to initialize a lane module in transmit mode. It causes the lane module to immediately jump to transmit control mode and to begin transmitting a stop state (LP-11). It can be used to go back in TX mode after a wrong BTA sequence.

0: No effect

1: Force the data lanes in TX Stop mode

Bit 12 FTXSMCL : Force in TX Stop mode the clock lane

This bit forces the clock lane in TX stop mode. It is used to initialize a lane module in transmit mode. It causes the lane module to immediately jump to transmit control mode and to begin transmitting a stop state (LP-11). It can be used to go back in TX mode after a wrong BTA sequence.

0: No effect

1: Force the clock lane in TX Stop mode

Bit 11 HSIDL1 : Invert the high-speed data signal on data lane 1

This bit inverts the high-speed data signal on data lane 1.

0: Normal data signal configuration

1: Inverted data signal configuration

Bit 10 HSIDL0 : Invert the high-speed data signal on data lane 0

This bit inverts the high-speed data signal on clock lane.

0: Normal data signal configuration

1: Inverted data signal configuration

Bit 9 HSICL : Invert high-speed data signal on clock lane

This bit inverts the high-speed data signal on clock lane.

0: Normal data configuration

1: Inverted data configuration

Bit 8 SWDL1 : Swap data lane 1 pins

This bit swaps the pins on clock lane.

0: Regular clock lane pin configuration

1: Swapped clock lane pin

Bit 7 SWDL0 : Swap data lane 0 pins

This bit swaps the pins on data lane 0.

0: Regular clock lane pin configuration

1: Swapped clock lane pin

Bit 6 SWCL : Swap clock lane pins

This bit swaps the pins on clock lane.

0: Regular clock lane pin configuration

1: Swapped clock lane pin

Bits 5:0 UIX4[5:0] : Unit interval multiplied by 4

This field defines the bit period in high-speed mode in unit of 0.25 ns.

As an example, if the unit interval is 3 ns, a value of twelve (0x0C) must be driven to this input. This value is used to generate delays. If the period is not a multiple of 0.25 ns, the value driven must be rounded down. For example, a 600 Mbit/s link uses a unit interval of 1.667 ns, which, multiplied by four gives 6.667 ns. In this case a value of 6 (not 7) must be driven onto the ui_x4 input.

34.16.7 DSI Wrapper PHY configuration register 1 (DSI_WPCR1)

Address offset: 0x041C

Reset value: 0x0000 0000

Note: This register must be programmed only when DSI is stopped (CR.DSIEN=0 and CR.EN = 0).

31302928272625242322212019181716
Res.Res.Res.Res.Res.LPRXFT[1:0]Res.Res.FLPRXLPRes.Res.HSTXSRCDL[1:0]HSTXSRCL[1:0]
rwrwrwrwrwrwrw
1514131211109876543210
Res.Res.Res.SDDCRes.Res.LPSRCDL[1:0]LPSRCCL[1:0]Res.Res.HSTXDDL[1:0]HSTXDCL[1:0]
rwrwrwrwrwrwrwrwrw

Bits 31:27 Reserved, must be kept at reset value.

Bits 26:25 LPRXFT[1:0] : Low-power RX low-pass filtering tuning

This signal can be used to tune the cutoff frequency of low-pass filter at the input of LPRX.

Bits 24:23 Reserved, must be kept at reset value.

Bit 22 FLPRXLP : Forces LP receiver in low-power mode

This bit enables the low-power mode of LP receiver (LPRX). When set, the LPRX operates in low-power mode all the time (when this is not activated, LPRX operates in low-power mode during ULPS only).

0: No effect

1: LPRX is forced in low-power mode.

Bits 21:20 Reserved, must be kept at reset value.

Bits 19:18 HSTXSRCDL[1:0] : High-speed transmission slew-rate control on data lanes

Slew-rate control for high-speed transmitter output. It can be used to change slew-rate of data lane HS transitions.

Default value = 00.

Bits 17:16 HSTXSRCL[1:0] : High-speed transmission slew-rate control on clock lane

Slew-rate control for high-speed transmitter output. It can be used to change slew-rate of clock lane HS transitions.

Default value = 00.

Bits 15:13 Reserved, must be kept at reset value.

Bit 12 SDDC : SDD control

This bit switches on the additional current path to meet the SDDTx parameter defined by MIPI® D-PHY Specification on both clock and data lanes.

0: No effect

1: Activate additional current path on all lanes

Bits 11:10 Reserved, must be kept at reset value.

Bits 9:8 LPSRCDL[1:0] : Low-power transmission slew-rate compensation on data lanes

Can be used to change slew-rate of data lane LP transitions.

Default value = 00.

Bits 7:6 LPSRCCL[1:0] : Low-power transmission slew-rate compensation on clock lane

Can be used to change slew-rate of clock lane LP transitions.

Default value = 00.

Bits 5:4 Reserved, must be kept at reset value.

Bits 3:2 HSTXDDL[1:0] : High-speed transmission delay on data lanes

Delay tuner control to change delay (up to DP/DN) in data path. Can be used to change data edge transition positions with respect to clock edge on DP/DN.
Default value = 00.

Bits 1:0 HSTXDCL[1:0] : High-speed transmission delay on clock lane

Delay tuner control to change delay (up to DP/DN) in clock path. Can be used to change clock edge position with respect to data bit transitions on DP/DN.
Default value = 00.

34.16.8 DSI Wrapper PHY configuration register 2 (DSI_WPCR2)

Address offset: 0x0420

Reset value: 0x0000 0000

Note: This register must be programmed only when DSI is stopped (CR.DSIEN=0 and CR.EN = 0).

31302928272625242322212019181716
THSTRAIL[7:0]THSPREP[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
TCLKZERO[7:0]TCLKPREP[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 THSTRAIL[7:0] : \( t_{HS-TRAIL} \)

This field defines the \( t_{HS-TRAIL} \) as specified in the MIPI ® D-PHY specification. This value is used by the D-PHY when the THSTRAILEN bit of the DSI_WPCR0 is set.

\( THSTRAIL = 2 \times t_{HS-TRAIL} \) expressed in ns. The default value used by the D-PHY when THSTRAILEN bit of the DSI_WPCR0 is reset is 140 (70 ns + 8 * UI).

Bits 23:16 THSPREP[7:0] : \( t_{HS-PREPARE} \)

This field defines the \( t_{HS-PREPARE} \) as specified in the MIPI ® D-PHY specification. This value is used by the D-PHY when the THSPREPEN bit of the DSI_WPCR0 is set.

\( THSPREP = 2 \times t_{HS-PREPARE} \) expressed in ns. The default value used by the D-PHY when THSPREPEN bit of the DSI_WPCR0 is reset is 126 (63 ns + 12 * UI).

Bits 15:8 TCLKZERO[7:0] : \( t_{CLK-ZERO} \)

This field defines the \( t_{CLK-ZERO} \) as specified in the MIPI ® D-PHY specification. This value is used by the D-PHY when the TCLKZEROEN bit of the DSI_WPCR0 is set.

\( TCLKZERO = t_{CLK-ZERO} / 2 \) expressed in ns. The default value used by the D-PHY when TCLKZEROEN bit of the DSI_WPCR0 is reset is 195 (390 ns).

Bits 7:0 TCLKPREP[7:0] : \( t_{CLK-PREPARE} \)

This field defines the \( t_{CLK-PREPARE} \) as specified in the MIPI ® D-PHY specification. This value is used by the D-PHY when the TCLKPREPEN bit of the DSI_WPCR0 is set.

\( TCLKPREP = 2 \times t_{CLK-PREPARE} \) expressed in ns. The default value used by the D-PHY when TCLKPREPEN bit of the DSI_WPCR0 is reset is 120 (60 ns + 20 * UI).

34.16.9 DSI Wrapper PHY configuration register 3 (DSI_WPCR3)

Address offset: 0x0424

Reset value: 0x0000 0000

Note: This register shall be programmed only when DSI is stopped (CR.DSIEN=0 and DSI_CR.EN = 0).

31302928272625242322212019181716
TLPXC[7:0]THSEXIT[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw
1514131211109876543210
TLPXD[7:0]THSZERO[7:0]
rwrwrwrwrwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:24 TLPXC[7:0] : \( t_{LPXC} \) for clock lane

This field defines the \( t_{LPX} \) has specified in the MIPI ® D-PHY specification for the clock lane. This value is used by the D-PHY when the TLPXCEN bit of the DSI_WPCR1 is set.

\( TLPXC = 2 \times t_{LPX} \) expressed in ns. The default value used by the D-PHY when TLPXCEN bit of the DSI_WPCR1 is reset is 100 (50 ns).

Bits 23:16 THSEXIT[7:0] : \( t_{HSEXIT} \)

This field defines the \( t_{HS-EXHigh-SpeedT} \) has specified in the MIPI ® D-PHY specification. This value is used by the D-PHY when the THSEXITEN bit of the DSI_WPCR1 is set.

\( THSEXIT = t_{HS-ZERO} \) expressed in ns. The default value used by the D-PHY when THSEXITEN bit of the DSI_WPCR1 is reset is 100 (100 ns).

Bits 15:8 TLPXD[7:0] : \( t_{LPX} \) for data lanes

This field defines the \( t_{LPX} \) has specified in the MIPI ® D-PHY specification for the data lanes. This value is used by the D-PHY when the TLPXDEN bit of the DSI_WPCR1 is set.

\( TLPXD = 2 \times t_{LPX} \) expressed in ns. The default value used by the D-PHY when TLPXDEN bit of the DSI_WPCR1 is reset is 100 (50 ns).

Bits 7:0 THSZERO[7:0] : \( t_{HS-ZERO} \)

This field defines the \( t_{HS-ZERO} \) has specified in the MIPI ® D-PHY specification. This value is used by the D-PHY when the THSZEROEN bit of the DSI_WPCR1 is set.

\( THSZERO = t_{HS-ZERO} \) expressed in ns. The default value used by the D-PHY when THSZEROEN bit of the DSI_WPCR1 is reset is 175, (175 ns).

34.16.10 DSI Wrapper PHY configuration register 4 (DSI_WPCR4)

Address offset: 0x0428

Reset value: 0x0000 0000

Note: This register shall be programmed only when DSI is stopped (CR.DSIEN=0 and DSI_CR.EN = 0).

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.
1514131211109876543210
Res.Res.Res.Res.Res.Res.Res.Res.TCLKPOST[7:0]
rwrwrwrwrwrwrwrw

Bits 31:8 Reserved, must be kept at reset value.

Bits 7:0 TCLKPOST[7:0] : \( t_{CLK-POST} \)

This field defines the \( t_{CLK-POST} \) as specified in the MIPI® D-PHY specification. This value is used by the D-PHY when the TCLKPOSTEN bit of the DSI_WPCR0 is set.

\( TCLKPOST = 2 \times t_{CLK-POST} \) expressed in ns. The default value used by the D-PHY when TCLKPOSTEN bit of the DSI_WPCR0 is reset is 200 (100 ns + 120 * UI).

34.16.11 DSI Wrapper regulator and PLL control register (DSI_WRPCR)

Address offset: 0x0430

Reset value: 0x0000 0000

31302928272625242322212019181716
Res.Res.Res.Res.Res.Res.Res.REGENRes.Res.Res.Res.Res.Res.ODF[1:0]
rwrwrw

1514131211109876543210
Res.IDF[3:0]Res.Res.NDIV[6:0]Res.PLLEN
rwrwrwrwrwrwrwrwrwrwrwrw

Bits 31:25 Reserved, must be kept at reset value.

Bit 24 REGEN : Regulator enable

This bit enables the DPHY regulator.

0: regulator disabled

1: regulator enabled

Bits 23:18 Reserved, must be kept at reset value.

Bits 17:16 ODF[1:0] : PLL output division factor

This field configures the PLL output division factor.

00: PLL output divided by 1

01: PLL output divided by 2

10: PLL output divided by 4

11: PLL output divided by 8

Bit 15 Reserved, must be kept at reset value.

Bits 14:11 IDF[3:0] : PLL input division factor

This field configures the PLL input division factor.

000: PLL input divided by 1

001: PLL input divided by 1

010: PLL input divided by 2

011: PLL input divided by 3

100: PLL input divided by 4

101: PLL input divided by 5

110: PLL input divided by 6

111: PLL input divided by 7

Bits 10:9 Reserved, must be kept at reset value.

Bits 8:2 NDIV[6:0] : PLL loop division factor

This field configures the PLL loop division factor.

10 to 125: Allowed loop division factor values

Others: Reserved

Bit 1 Reserved, must be kept at reset value.

Bit 0 PLLEN : PLL enable

This bit enables the D-PHY PLL.

0: PLL disabled

1: PLL enabled

34.16.12 DSI register map

Table 294. DSI register map and reset values

OffsetRegister313029282726252423222120191817161514131211109876543210
0x0000DSI_VRVERSION[31:0]
Reset value00110001001100110011000000101100
0x0004DSI_CRRes.EN
Reset value0
0x0008DSI_CCRRes.TOCKDIV[7:0]TXECKDIV[7:0]
Reset value0000000000000000
0x000CDSI_LVCDRRes.VCID[1:0]
Reset value00
0x0010DSI_LCOLCRRes.LPERes.COLC[3:0]
Reset value00000
0x0014DSI_LPCRRes.HSPVSPDEP
Reset value000
0x0018DSI_LPMCRRes.LPSIZE[7:0]Res.VLPSIZE[7:0]
Reset value0000000000000000
0x001C-
0x0028
ReservedReserved
0x002CDSI_PCRRes.CRCRXEECCRXEBTAEETRXEETTXE
Reset value00000
0x0030DSI_GVCDRRes.VCID[1:0]
Reset value00
0x0034DSI_MCRRes.CMDM
Reset value1

Table 294. DSI register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x0038DSI_VMCRRes.Res.Res.Res.Res.Res.Res.PGORes.Res.Res.PGMRes.Res.Res.PGELPCEFBTAAELPHFPELPHBPELVAELPVFPELPVBPELPVSAERes.Res.Res.Res.Res.Res.VMT[1:0]
Reset value0000000000000
0x003CDSI_VPCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VPSIZE[13:0]
Reset value00000000000000
0x0040DSI_VCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NUMC[12:0]
Reset value0000000000000
0x0044DSI_VNPCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NPSIZE[12:0]
Reset value0000000000000
0x0048DSI_VHSACRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HSA[11:0]
Reset value000000000000
0x004CDSI_VHBPCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HBP[11:0]
Reset value000000000000
0x0050DSI_VLCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HLINE[14:0]
Reset value000000000000000
0x0054DSI_VVSACRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VSA[9:0]
Reset value0000000000
0x0058DSI_VVBPCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VBP[9:0]
Reset value0000000000
0x005CDSI_VVFPCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VFP[9:0]
Reset value0000000000
0x0060DSI_VVACRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VA[13:0]
Reset value00000000000000
0x0064DSI_LCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CMDSIZE[15:0]
Reset value0000000000000000
0x0068DSI_CMCRRes.Res.Res.Res.Res.Res.Res.MRDPSRes.Res.Res.Res.DLWTXDSR0TXDSW1TXDSW0TXRes.GLWTXGSR2TXGSR1TXGSR0TXGSW2TXGSW1TXGSW0TXRes.Res.Res.Res.Res.ARETEARERes.
Reset value00000000000000
0x006CDSI_GHCRRes.Res.Res.Res.Res.Res.WCMSB[7:0]WCLSB[7:0]VCIDDT[5:0]Res.
Reset value000000000000000000000000
0x0070DSI_GPDRDATA4[7:0]DATA3[7:0]DATA2[7:0]DATA1[7:0]
Reset value00000000000000000000000000000000
0x0074DSI_GPSRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RCBPRDFFPRDFEPWRFFPWRFECMDFFCMDFE
Reset value0010101
0x0078DSI_TCCR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HSTX_TOCNT[15:0]
Reset value0000000000000000
0x007CDSI_TCCR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HSRD_TOCNT[15:0]
Reset value0000000000000000
0x0080DSI_TCCR2Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LPRD_TOCNT[15:0]
Reset value0000000000000000

Table 294. DSI register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x0084DSI_TCCR3ResResResResResResResPMResResResResResResResResHSWR_TOCNT[15:0]
Reset value00000000000000000
0x0088DSI_TCCR4ResResResResResResResResResResResResResResResResLSWR_TOCNT[15:0]
Reset value000000000000000
0x008CDSI_TCCR5ResResResResResResResResResResResResResResResResBTA_TOCNT[15:0]
Reset value000000000000000
0x0090ReservedReserved
0x0094DSI_CLCRResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResACRDPCC
Reset value00
0x0098DSI_CLTCRResResResResResResResResHS2LP_TIME[9:0]ResResResResResResResLP2HS_TIME[9:0]
Reset value00000000000000000
0x009CDSI_DLTCRHS2LP_TIME[7:0]LP2HS_TIME[7:0]ResMRD_TIME[14:0]
Reset value0000000000000000000000000000000
0x00A0DSI_PCTLRResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResCKEDEN
Reset value00
0x00A4DSI_PCCONFRResResResResResResResResResResResResResResResResSW_TIME[7:0]ResResResResResResResNL11
Reset value000000000000000
0x00A8DSI_PUCRResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResUEDLURD
Reset value00
0x00ACDSI_PTTCCRResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResTX_TRIG[3:0]
Reset value00
0x00B0DSI_PSRResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResUAN1PSS1
Reset value10
0x00B4-0x00B8ReservedReserved
0x00BCDSI_ISR0ResResResResResResResResResResResPE4PE3PE2PE1PE0AE15AE14AE13AE12AE11AE10AE9AE8AE7AE6AE5AE4AE3AE2AE1AE0
Reset value00000000000000000000
0x00C0DSI_ISR1ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResRes
Reset value
0x00C4DSI_IER0ResResResResResResResResResResResPE4IEPE3IEPE2IEPE1IEPE0IEAE15IEAE14IEAE13IEAE12IEAE11IEAE10IEAE9IEAE8IEAE7IEAE6IEAE5IEAE4IEAE3IEAE2IEAE1IEAEDIE
Reset value00000000000000000000
0x00C8DSI_IER1ResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResResRes
Reset value
0x00CC-0x00D4ReservedReserved

Table 294. DSI register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x00D8DSI_FIR0Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FPE4FPE3FPE2FPE1FPE0FAE15FAE14FAE13FAE12FAE11FAE10FAE9FAE8FAE7FAE6FAE5FAE4FAE3FAE2FAE1FAE0
Reset value000000000000000000000
0x00DCDSI_FIR1Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.FGPRXEFGPRDEFGPTXEFGPWREFGCWREFLPWREFEOTPEFPSEFORCEFECCMEFECCSEFTOLPRXFTOHSTX
Reset value0000000000000
0x00F0-0x00FCReservedReserved
0x0100DSI_VSCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.URRes.Res.Res.Res.Res.Res.Res.Res.EN
Reset value00
0x0104-0x0108ReservedReserved
0x010CDSI_LCVCIDRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VCID[1:0]
Reset value00
0x0110DSI_LCCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LPERes.Res.Res.Res.Res.COLC[3:0]
Reset value00000
0x0114ReservedReserved
0x0118DSI_LPMCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LPSIZE[7:0]VLPSIZE[7:0]
Reset value0000000000000000
0x011C-0x0134ReservedReserved
0x0138DSI_VMCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.LPCEFBTAAELPFFELPBPELVAELPVFPELPVBPELPVSAEVMT[1:0]
Reset value0000000000
0x013CDSI_VPCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VPSIZE[13:0]
Reset value00000000000000
0x0140DSI_VCCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NUMC[12:0]
Reset value0000000000000
0x0144DSI_VNPCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.NPSIZE[12:0]
Reset value0000000000000
0x0148DSI_VHSACCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HSA[11:0]
Reset value000000000000
0x014CDSI_VHBPCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HBP[11:0]
Reset value000000000000
0x0150DSI_VLCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.HLINE[14:0]
Reset value000000000000000
0x0154DSI_VVSACCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VSA[9:0]
Reset value0000000000
0x0158DSI_VBPCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VBP[9:0]
Reset value0000000000

Table 294. DSI register map and reset values (continued)

OffsetRegister313029282726252423222120191817161514131211109876543210
0x015CDSI_VVFPCCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VFP[9:0]
Reset value0000000000
0x0160DSI_VVACCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VA[13:0]
Reset value00000000000000
0x0164-
0x018C
ReservedReserved
0x0400DSI_WCFGRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.VSPOLARTEPOLTESRCCOLMUX[2:0]DSIM
Reset value000000000
0x0404DSI_WCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.DSIENLTDCCENSHTDNCOLM
Reset value0000
0x0408DSI_WIERRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RRIERes.PLLUIEPLLIERes.Res.Res.Res.Res.Res.ERIETEIE
Reset value00000
0x040CDSI_WISRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.RRIFRRSPLLUIFPLLIFPLLSRes.Res.Res.Res.Res.Res.BUSYERIFTEIF
Reset value00000000
0x0410DSI_WIFCRRes.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.CRRIFRes.CPLLUIFCPLLIFRes.Res.Res.Res.Res.Res.Res.Res.CERIFCTEIF
Reset value00000
0x0414ReservedReserved
0x0418DSI_WPCR0Res.Res.Res.Res.TCLKPOSTENTLPCXENTHSEXITENTLPXDENTHSZEROENTHSTRAILENTHSPREPENTCLKZEROENTCLKPREPENPDENRes.TDDLRes.CDOFFDLFTXSMDLFTXSMCLHSIDL1HSIDL0HSICLSWDL1SWDL0SWCLUIX4[5:0]
Reset value000000000000000000000000000
0x041CDSI_WPCR1Res.Res.Res.Res.Res.LPXFT[1:0]Res.Res.Res.FLPXLPMRes.Res.HSXSRCDL[1:0]HSXSRCL[1:0]Res.Res.Res.Res.Res.SDCCRes.Res.LPSRDL[1:0]LPSRCL[1:0]Res.Res.Res.Res.HSTXDL1[1:0]HSTXDCL[1:0]
Reset value0000000000000000
0x0420DSI_WPCR2THSTRAIL[7:0]THSPREP[7:0]TCLKZEO[7:0]TCLKPREP[7:0]
Reset value00000000000000000000000000000000
0x0424DSI_WPCR3TLPXC[7:0]THSEXIT[7:0]TLPXD[7:0]THSZERO[7:0]
Reset value00000000000000000000000000000000
0x0428DSI_WPCR4Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.Res.THSZERO[7:0]
Reset value00000
0x042CReservedReserved
0x0430DSI_WRPCRRes.Res.Res.Res.Res.Res.REGENRes.Res.Res.Res.Res.Res.Res.ODF[1:0]Res.Res.Res.IDF[3:0]Res.Res.Res.Res.NDIV[6:0]Res.Res.PLLLEN
Reset value00000000000000

Refer to Section 2.3 on page 134 for the register boundary addresses.