Enumerations

enum class DsiOperationMode : uint8_t
Name Value
kVideo 0
kCommand 1

mipi_dsi2 4.2 "Command And Video Modes", pages 14-15.

Defined at line 89 of file ../../src/graphics/display/lib/mipi-dsi/include/lib/mipi-dsi/mipi-dsi.h

enum class DsiVideoModePacketSequencing : uint8_t
Name Value Comments
kSyncPulsesNoBurst 0

Packets explicitly mark the start and end of each synchronization pulse.

Synchronization pulses (Horizontal and Vertical) are marked with both Start
and End packets. This minimizes the complexity of recovering video timing
in the receiver, at the expense of sending more data across the DSI link.

Each line of pixel data is transmitted at the equivalent DPI transmission
rate, possibly by splitting the line into multiple pixel stream packets and
null packets.

mipi_dsi2 8.11.2 "Non-Burst Mode with Sync Pulses", page 122

kSyncEventsNoBurst 1

Only the start of each synchronization pulse is marked by a packet.

Synchronization pulses (Horizontal and Vertical) are conveyed by Start
packets. This reduces DSI link usage, at the expense of having the receiver
be responsible for inferring the end of synchronization pulses.

Each line of pixel data is transmitted at the equivalent DPI transmission
rate, possibly by splitting the line into multiple pixel stream packets and
null packets.

mipi_dsi2 8.11.3 "Non-Burst Mode with Sync Events", page 123

kBurst 2

Each line of pixel data is transmitted as quickly as possible.

Synchronization pulses (Horizontal and Vertical) are conveyed by Start
packets. This reduces DSI link usage, at the expense of having the receiver
be responsible for inferring the end of synchronization pulses.

Each line of pixel data is transmitted in a single packet, saturating the
DSI link bandwidth. The DSI link may be driven to a LP (Low Power) mode
between the end of the pixel stream packet and the next synchronization
packet. This reduces the power usage of the DSI link, but places increased
demands on receiver logic such as line buffers.

mipi_dsi2 8.11.4 "Burst Mode", page 124

The sequence of packets used to convey pixel and timing data in Video Mode.

The MIPI DSI standard defines multiple methods for transmitting video data

(pixel data and synchronization pulses). The methods differ in complexity

required in the receiver and performance characteristics, such as DSI link

power consumption.

The DSI standard calls these methods "packet sequences", because they differ

in the packet data types that are used.

mipi_dsi2 8.11.1 "Transmission Packet Sequences", pages 120-121

Defined at line 105 of file ../../src/graphics/display/lib/mipi-dsi/include/lib/mipi-dsi/mipi-dsi.h

enum class DsiPixelStreamPacketFormat : uint8_t
Name Value Comments
k20BitYcbcr422LooselyPacked 0x0c

mipi_dsi2 8.8.14 "Loosely Packed Pixel Stream, 20-bit YCbCr 4:2:2 Format,
Data Type = 00 1100 (0x0C)", page 93

k24BitYcbcr422 0x1c

mipi_dsi2 8.8.15 "Packed Pixel Stream, 24-bit YCbCr 4:2:2 Format, Data
Type = 01 1100 (0x1C)", page 94

k16BitYcbcr422 0x2c

mipi_dsi2 8.8.16 "Packed Pixel Stream, 16-bit YCbCr 4:2:2 Format, Data
Type = 10 1100 (0x2C)", page 95

k20BitYcbcr422 0x3c

The MIPI DSI 1 standard does not include the 20-bit YCbCr 4:2:2 format.

mipi_dsi2 8.8.17 "Packed Pixel Stream, 20-bit YCbCr 4:2:2 Format, Data
Type = 11 1100 (0x3C)", page 96

k30BitR10G10B10 0x0d

mipi_dsi2 8.8.18 "Packed Pixel Stream, 30-bit Format, Long Packet, Data
Type = 00 1101 (0x0D)", page 97

k36BitR12G12B12 0x1d

mipi_dsi2 8.8.19 "Packed Pixel Stream, 36-bit Format, Long Packet, Data
Type = 01 1101 (0x1D)", page 98

k12BitYcbcr420 0x3d

mipi_dsi2 8.8.20 "Packed Pixel Stream, 12-bit YCbCr 4:2:0 Format, Data
Type = 11 1101 (0x3D)", page 99

k16BitR5G6B5 0x0e

mipi_dsi2 8.8.21 "Packed Pixel Stream, 16-bit Format, Long Packet, Data
Type 00 1110 (0x0E)", page 100

k18BitR6G6B6 0x1e

mipi_dsi2 8.8.22 "Packed Pixel Stream, 18-bit Format, Long Packet, Data
Type = 01 1110 (0x1E)", page 101

k18BitR6G6B6LooselyPacked 0x2e

mipi_dsi2 8.8.23 "Pixel Stream, 18-bit Format in Three Bytes, Long Packet,
Data Type = 10 1110 (0x2E)", page 102

k24BitR8G8B8 0x3e

mipi_dsi2 8.8.24 "Packed Pixel Stream, 24-bit Format, Long Packet, Data
Type = 11 1110 (0x3E)", page 103

kCompressed 0x0b

Compressed pixel data without any particular format designation.

The compression format can be negotiated using Compression Mode Command
packets and/or Picture Parameter Set packets.

mipi_dsi1 8.8.25 "Compressed Pixel Stream, Long Packet, Data Type =
00 1011 (0x0B)", pages 104-105

Describes the pixel data format and layout in a DSI pixel stream packet.

MIPI DSI specifies pixel stream packets as a subset of the Processor-Sourced

(Processor-to-Peripheral Direction) packets. Each pixel stream packet format

has its own Packet Data Type value (bits 0-5 in the Data Identifier). So, the

Data Type values for pixel stream packets are a subset of the values defined

in mipi_dsi2 8.7.1 "Processor-sourced Data Type Summary".

Each enum member's value is the Packet Data Type value. This makes it

convenient to use the enum members with display engine hardware that relies

on the DSI pixel stream packet Data Type values.

Most layouts described by the DSI standard are "packed", meaning that every

bit of the packet is meaningful. By contrast, "loosely packed" formats leave

some bits unused, which enables some optimizations in the receiver's decoding

logic. This enum's naming scheme only calls out loosely packed formats.

Defined at line 164 of file ../../src/graphics/display/lib/mipi-dsi/include/lib/mipi-dsi/mipi-dsi.h

Records