晶门科技SSD2832 1.5
晶门科技SSD2832 1.5
SSD2832
Advanced Information
This document contains information on a new product. Specifications and information herein are subject to change
without notice.
http://www.solomon-systech.com
SSD2832 Rev 1.5 P 1/178 Aug. 2020 Copyright 2020 Solomon Systech Limited
APPENDIX: IC REVISION HISTORY OF SSD2832 SPECIFICATION
For RGB interface, it can support resolution up to WQXGA (2560x1600) (native) and DCI 4K
(4096x2160) (compressed in/out) format with 60Hz refresh rate.
For MCU interface, it can support resolution up to WQXGA (2560x1600) (native) and DCI 4K
(4096x2160) (compressed in/out) format with 30Hz refresh rate.
2 FEATURES
2.1 General
Support panel with resolution up to DCI 4K (4096 x 2160) at refresh rate of 60Hz;
Support MIPI DSI-2 standard version 1.0 with either D-option or C-option for TX;
Support MIPI C-PHY standard version 1.1;
Support MIPI D-PHY standard version 1.1;
Support MIPI DCS standard version 1.02;
Support 2 MIPI C-option DSI engines with throughput up to 20.52Gbps using 6 C-PHY lanes
for each DSI-TX (Each lane is up to 1.5Gsps);
Support 2 MIPI D-option DSI engines with throughput up to 12Gbps using 8 D-PHY lanes
for each DSI-TX (Each lane is up to 1.5Gbps);
Support 16, 18, 24, 30 bits per pixel color at RGB input;
Support 2 parallel MCU interface (DBI version 2.0) up to 48-bit bus width at the input;
Support 2 parallel RGB interface (DPI version 2.0) up to 60-bit bus width with SDR or DDR
pixel clock at the input;
Support serial SPI interface (DBI version 2.0) up to 16-bit data at the input;
Support both Video and Command mode MIPI output;
Support Video BIST pattern generation at the DSI-TX output with different color patterns;
Support input Left-right or odd-even split at the RGB input;
Support Burst or Non-burst video modes at DSI-TX;
Number of lanes at each DSI-TX port can be controlled independently;
On-chip PLL with variable output frequency;
Power supply required: (VDD_CORE and AVDD) 1.3V +/-10%, (VCIP) 3.3V +/-10%;
IO Power supply required : 1.8V and 3.3V +/-10%;
xtal_in/
XTAL
out PLL
OSC
RGB
RGB Interface
RGB
DSI TX
0 (C)
MIPI
Data Buffer CPHY
DSI TX
MIPI 1 (C)
DSI
TX DSI TX
MCU Command 0 (D)
Command MIPI
Interface Buffer DPHY DSI TX
SPI
1 (D)
Local
Register
SSD2832 supports RGB interface with up to 2 pixels per PCLK cycle using SDR or DDR input pixel
clock.
To support different bpp settings, the following data pins are used. For all cases, Red component
should be at the higher bits and Blue component should be at the lower bits. The type of video packets
supported at RGB interface is shown below.
30bpp R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 G9 G8 G7 G6 G5 G4 G3 G2 G1 G0 B9 B8 B7 B6 B5 B4 B3 B2 B1 B0
24bpp X X X X X X R7 R6 R5 R4 R3 R2 R1 R0 G7 G6 G5 G4 G3 G2 G1 G0 B7 B6 B5 B4 B3 B2 B1 B0
18bpp X X X X X X X X X X X X R5 R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B5 B4 B3 B2 B1 B0
16bpp X X X X X X X X X X X X X X R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0
SSD2832 will also monitor the status of CM and SHUT signal. When there is a change in these
signals, it will send out appropriate packets. On the rising edge of CM, the “CM on” packet will be
sent. On the falling edge of CM, the “CM off” packet will be sent. On the rising edge of SHUT, the
“Shut Down Peripheral” packet will be sent. On the falling edge of SHUT, the “Turn On Peripheral”
packet will be sent. With these packets, the MIPI receiver will be able to reconstruct the video signals.
User can also send command mode data through SPI interface, during the video mode transmission.
The data will be sent during the horizontal or vertical blanking period. Since the RGB and SPI interface
are completely separated, the two interfaces can operate independently. The RGB interface is used to
provide display data for the video mode. The SPI interface is used to program the local registers of
SSD2832, or to send command across the link to the MIPI receiver.
sdcx
sck
sdin D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0
sdout
csx
Command Data Data
Write Cycle Write Cycle Write Cycle
sck
sdin A 7 A6 A 5 A 4 A3 A 2 A1 A0 1 1 1 1 1 0 1 0
sdout D7 D6 D 5 D 4 D3 D 2 D 1 D0 D 7 D 6 D5 D 4 D 3 D2 D 1 D 0
csx
Command Command Return Data 0 Return Data 1
Write Cycle Write Cycle Read Cycle Read Cycle
(Write the actual (Write special
address to read) Command(0xFA) to enter
read mode)
sdcx
sck
sdin 1 1 1 1 1 0 1 0
sdout D7 D6 D 5 D 4 D3 D 2 D 1 D0 D 7 D 6 D5 D 4 D 3 D2 D 1 D 0
csx
Command Return Data 2 Return Data 3
Write Cycle Read Cycle Read Cycle
(Write special
Command(0xFA) to enter
read mode)
This interface consists of sck, sdin, sdout and csx. It only supports 8-Bit data. Each cycle contains 8-
Bit data. The first cycle should be a write cycle to specify the register address to access. The
subsequent cycles are read or write cycles for read or write operations.
The csx should be driven from 1 to 0 to start an operation and from 0 to 1 to end an operation. During
the operation, the application processor can write or read multiple bytes.
Instead of sdcx, an sdcx bit is used to indicate whether the operation is for data or command. Each
byte is associated with an sdcx bit at the start. When the sdcx bit is 1, the operation is for data. When
sdcx bit is 0, the operation is for command. The sdcx bit is sent prior to each data byte. In other
words, the sdcx bit is the first bit of every 9 bits during a cycle.
During write operation, sdin will be sampled by SSD2832 at the rising edge of sck. The first rising
edge of sck after the falling edge of csx samples the sdcx bit. The second rising edge samples bit 7 of
the 8-Bit data. The third rising edge of sck samples the bit 6 of the 8-Bit data, and so on. Please see
the diagram below for illustration. Optionally, the csx can be driven to 1 in between cycles.
sck
sdin 0 D7 D6 D5 D4 D3 D2 D1 D0 1 D7 D6 D5 D4 D3 D2 D1 D0 1 D7 D6 D5 D4 D3 D2 D1 D0
sdout
csx
Command Data Data
Write Cycle Write Cycle Write Cycle
sck
sdin 0 A7 A6 A5 A4 A 3 A 2 A1 A0 0 1 1 1 1 1 0 1 0
sdout D 7 D 6 D5 D 4 D 3 D2 D1 D 0 D7 D6 D5 D4 D3 D 2 D 1 D0
csx
Command Command Return Data 0 Return Data 1
Write Cycle Write Cycle Read Cycle Read Cycle
(Write special
(Write the actual
Command(0xFA) to enter
address to read)
read mode)
sck
sdin 0 1 1 1 1 1 0 1 0
sdout D 7 D 6 D5 D 4 D3 D2 D1 D 0 D 7 D6 D 5 D 4 D3 D 2 D 1 D0
csx
Command Return Data 2 Return Data 3
Write Cycle Read Cycle Read Cycle
(Write special
Command(0xFA) to enter
read mode)
This interface consists of sck, sdin, sdout and csx. It only supports 16-bit data. Each cycle contains
16-bit data. The first cycle should be a write cycle to specify the register address to access. The
subsequent cycles are read or write cycles for read or write operations.
The csx should be driven from 1 to 0 to start cycle and from 0 to 1 to end a cycle. During the
operation, the application processor can have multiple write or read cycles. However, the csx must go
from 0 to 1 at the end of each cycle.
Each cycle contains 24 bits. Among the 24 bits, the first 8 bits are for control and the next 16-bit are
the actual data. The first 6 bits are the ID bit for SSD2832, which must be 011100. If this field does
not match, the cycle will not be taken in. The 7th bit is the sdcx bit which is the same as the 8-Bit 3
wire interface. The 8th bit is the RW bit which indicates whether the current cycle is a read or write
cycle. When RW is 1, the cycle is a read cycle. When RW is 0, the cycle is a write cycle.
Note: User needs to de-assert CSX for read of every 16-bit data.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
sck
0 0 0 A0
sdin 0 1 1 1 0 0 0 0 0 0 0 0 0 A7 A6 A5 A4 A3 A2 A1
SDC RW
csx
First Transmission : Command Write Cycle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
sck
csx
Second Transmission : Data Write Cycle
0 0 0 A0
sdin 0 1 1 1 0 0 0 0 0 0 0 0 0 A7 A6 A5 A4 A3 A2 A1
SDC RW
csx
First Transmission : Command Write Cycle
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
sck
sdin 0 1 1 1 0 0 1 1
SDC RW
sdout D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
csx
Second Transmission : Data Read Cycle
The local registers are always accessed in 16-bit data word for the data phase of the MCU cycle,
irrespective of any bus width selection.
rwx
dcx
csx
Figure 5-7: Illustration of Write Operation for Type A, Fixed E Mode Interface
dcx
csx
Figure 5-8: Illustration of Read Operation for Type A, Fixed E Mode Interface
rwx
dcx
csx
Figure 5-9: Illustration of Write Operation for Type A, Clocked E Mode Interface
dcx
csx
Figure 5-10: Illustration of Read Operation for Type A, Clocked E Mode Interface
rdx
dcx
wrx
csx
rdx
dcx
wrx
csx
In the first write cycle, only 8-Bit data are written into the SSD2832, as the command can only be 8-
Bit. No matter whether the interface is 8-bit, 16-bit, 24-bit or 48-bit, lower 8-bits are used. Please
refer to the table below.
In the sub-sequent read or write cycles, command parameters can be written into the SSD2832.
Depending on the interface width, different data pin mapping is adopted. Please refer to the table
below. When the number of parameters is not a multiple of the width of the data bus, the remaining
bytes should be put on the lower data buses at the next data cycle.
1. Host wait for 500us to ensure reset and OSC clock is ready.
MCU Pin Swap configuration is supported using register in command table. The following steps
shall be performed to enable MCU pin swap:
1. Set MCU Swap mode bit to enable MCU Swap. This bit is located at bit 9-10 of In/out
Configuration Register 0xDE.
2. If MCU Data Bus is swapped from interface connectivity, host cannot do a normal
configuration but instead need to configure the register in swapped bit order. The special
command is described in tables below:
3. After configuration, wait for minimum 6us to ensure that MCU Swap bit has taken effect. The
subsequent programming after step 2 does not require bit swap. The rest of the programming
sequence is same as normal MCU programming sequence.
Maximum MCU clk freq <= system_clock freq (refer to Clock Programming)
MCU external clock speed for sending external packet however does not have this limitation.
Refer to the bandwidth consideration on (4) below for maximum MCU clock frequency
calculation.
3. MCU external read clock freq should not be higher than system_clock freq /8, and with
additional delay of 150ns before reading first read-data.
4. When sending external MIPI DSI TX command using MCU, MCU external clock speed shall
fulfil the bandwidth consideration as below:
Bandwidth Requirement:
Bitrate input = MCU clk freq * MCU bus width; MCU bus width: 8/16/24/48 bit depending
on PS setting
DPHY Mode:
Bitrate output = Total number of DPHY lanes * bitrate per lane,
where: bitrate per lane = bit clock frequency (refer to PLL and Clock Programming)
CPHY Mode:
Bitrate output = Total number of CPHY lanes * symbol rate per lane * 2.28,
Note:
The bandwidth consideration is always based on per single MCU and single DSI interface
because merge/split is not supported for MCU command mode.
The data buffer consists of line buffers to store one line worth of video data before packetizing them
for MIPI TX transmission. Data for command 0x2C and 0x3C also make use of the data buffer for
storage, instead of going to the command buffer.
There are one data buffer per MIPI DSI TX port. For DSI TX0, the data buffer size is 2560 pixels. For
DSI TX1, the size is 2064 pixels. Dual DSI TX port can support up to 2 x 2064 = 4128 pixels.
The command buffer consist of a 4096-byte deep FIFO to store commands before packetizing them to
command packets for MIPI TX transmission. Command 0x2C and 0x3C are excluded in this command
buffer. They are routed to use data buffer instead.
MIPI DSI-TX is a dual DSI TX module, supporting up to 2 clock lanes, 8 data lanes for D-option and
up to 6 lanes for C-option.
Each DSI is capable of transferring up to 1.5Gbps per lane for D-option and 3.42Gbps (1.5Gsps) per
lane for C-option.
The MIPI packets that are supported by MIPI DSI-TX are listed in the table below.
Packet ID Type Packet
0x01 Short Sync Event V Start
0x11 Short Sync Event V End
0x21 Short Sync Event H Start
0x31 Short Sync Event H End
0x08 Short End of Transmission
0x02 Short Color Mode(CM) Off
0x12 Short Color Mode(CM) On
0x03 Short Generic Short Write, no parameter
0x13 Short Generic Short Write, 1 parameter
0x23 Short Generic Short Write, 2 parameters
0x04 Short Generic Read, no parameter
0x14 Short Generic Read, 1 parameter
0x24 Short Generic Read, 2 parameters
0x05 Short DCS Short Write, no parameter
0x15 Short DCS Short Write, 1 parameter
0x06 Short DCS Read, no parameter
0x16 Short Execute Queue
0x37 Short Set Maximum Return Size
0x27 Short Scrambling Mode Command
0x09 Long Null Packet
0x19 Long Blanking Packet
0x29 Long Generic Long Write
0x39 Long DCS Long Write
0x0A Long Picture Parameter Set
0x0B Long Compressed Pixel Stream
0x0E Long Packed Pixel Stream, 16-bit RGB, 5-6-5 format
0x1E Long Packed Pixel Stream, 18-bit RGB, 6-6-6 format
0x2E Long Loosely Packed Pixel Stream, 18-bit RGB, 6-6-6 format
0x3E Long Packed 24-bit RGB, 8-8-8 format
0x0D Long Packed 30-bit RGB, 10-10-10 format
MIPI DSI Link controller provides MIPI DSI packet assembly and disassembly. During transmission,
it will form the DSI packet according to the instruction from the state machine. During reception, it
will extract necessary information from the packet and pass to the higher level block. The MIPI DSI
Link Controller is also responsible for generating the CRC and ECC for the out-going bit stream.
During reception, it will check the correctness of the ECC and CRC field of the incoming stream.
When operated in 2-DSI mode, the MIPI DSI Link Controller is able to split the incoming video into
2 equal portions and send each half of the line to each of the MIPI DSI engines. Each MIPI DSI
engine take the half video data and reformat it into RGB 16/18/24/30 bpp packet and send out as 1
packet per line.
A data buffer is used to buffer a single video line from the upstream module and it will regenerate the
Video timing with the video settings stored inside the local registers. The output rate from the buffer
must be greater than the input rate to prevent data overflow.
MIPI DSI Link controller is also capable of sending DCS/Generic commands to external MIPI DSI
drivers via multiple sources.
PHY-controller controls the operation of the analog transceiver. It controls whether the serial link is in
high speed or low power mode and whether it’s in transmit or receive mode.
In transmit mode, the PHY controller will perform the handshaking procedure when switching
between LP mode and HS mode according to the control from PCU. During HS mode, PHY
controller will provide parallel data and clock to the analog transmitter for transmitting in differential
signals serially. During LP mode, the PHY controller will provide the serial data to the analog
transmitter.
In receive mode, the PHY controller will detect the handshaking sequence in LP mode and inform the
PCU. Once entered escape mode, it will collect the serial data from analog receiver and put them in
parallel form for the PCU to process.
Various timing parameter has been defined in MIPI DPHY and CPHY specification. The timing
parameters are a mixture of absolute time and cycle counts. Hence, for different operation speed,
there is different timing requirement. The user can adjust the value in these registers to have different
DPHY timing parameters. This gives maximum flexibility for different operation speed.
Two timers have been defined in SSD2832 to resolve the potential contention issue on the bus. The
two timers are the HS TX timer and LP RX timer. Please see the register description for the detailed
usage.
Whenever the SSD2832 sees a contention being detected, it will reset the state machine and enter the
default mode, which is LP TX idle mode. The data line will be kept at LP11.
This is a crystal oscillator pad. From a circuit point of view, the crystal oscillator I/O cells are not real
oscillators, but amplifiers used to generate high quality clock signals. Full range configurable output
driving capability.
Pin Connection
XTAL_OUT Open
Solution 2
The clocks are programmed at 0xBA and 0xBB commands. The programming is mainly to set the bit
clock rate for each TX DPHY lane, or dual symbol clock for each TX CPHY lane. Note that the
bitrate for each TX CPHY lane is equivalent to (dual symbol clock * 2 * 2.28). Each “dual symbol
clock” would transmit 2 symbols, and each symbol can encode 2.28 bits (MIPI specifications states
that 7 symbols can be used to encode 16bit of data).
The diagram below shows the clock tree and the programming model.
/8 0 System_clock
/7 1
Divide by
((tx_lpd+1)*2) TX_LP_clock
CPHY mode
Divide by
((rx_lpd+1)*2) RX_LP_clock
Note:
TLPX (DSI TX) = 1 / 2*(FTX_LP_clock)
where the f IN is the input reference clock frequency and f OUT is the output clock frequency of the
PLL.
The clock frequencies need to satisfy the constraint below.
8𝑀𝐻𝑧 < 𝑓𝐼𝑁 ≤ 40𝑀𝐻𝑧
8𝑀𝐻𝑧 < 𝑓𝑅𝐸𝐹 ≤ 100𝑀𝐻𝑧
62.5𝑀𝐻𝑧 < 𝑓𝑂𝑈𝑇 ≤ 1500𝑀𝐻𝑧
5.8 PMU
The PMU (Power Management Unit) is responsible for putting SSD2832 into deep-sleep mode,
cutting the power consumption to ultra-low level. Internally, it uses APB interface for register
programming
Note:
Pixel peek can only be supported for the following modes:
Please refer to Pixel Peek Registers Descriptions for the related registers for this feature.
When not
Pin name Type Connect to Description
in use
VDDIO /
RESET I System Reset signal to the whole chip, active low
GND VDDIO
INT_B O - Output Interrupt Signal Open
VDDIO /
PD_N I Power Down, active low
GND VDDIO
Interface selection signals
VDDIO / - 0 : A combination of RGB and SPI interface is
IF_SEL0 I
GND selected VDDIO /
- 1 : MCU interface is selected GND
When not
Pin name Type Connect to Description
in use
CSX0 I Chip Select of SPI interface VDDIO
VDDIO /
SDC I Data or Command of SPI interface (for 8-bit 4 wire)
GND
VDDIO /
SCK I SPI Signal Serial clock of SPI interface
GND
VDDIO /
SDI I Serial data input of SPI interface
GND
SDO O Serial data output of SPI interface Open
Table 7-6: SPI Interface Description
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME VSA
TYPE RW
RESET 0x02
BIT 7 6 5 4 3 2 1 0
NAME HSA
TYPE RW
RESET 0x0A
BIT 23 22 21 20 19 18 17 16
NAME HBP[15:8]
TYPE RW
RESET 0x00
BIT 15 14 13 12 11 10 9 8
NAME VBP[7:0]
TYPE RW
RESET 0x02
BIT 7 6 5 4 3 2 1 0
NAME HBP[7:0]
TYPE RW
RESET 0x14
BIT 23 22 21 20 19 18 17 16
NAME HFP[15:8]
TYPE RW
RESET 0x00
BIT 15 14 13 12 11 10 9 8
NAME VFP[7:0]
TYPE RW
RESET 0x02
BIT 7 6 5 4 3 2 1 0
NAME HFP[7:0]
TYPE RW
RESET 0x14
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME HACT[15:8]
TYPE RW
RESET 0x07
BIT 7 6 5 4 3 2 1 0
NAME HACT[7:0]
TYPE RW
RESET 0x80
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME VACT[15:8]
TYPE RW
RESET 0x04
BIT 7 6 5 4 3 2 1 0
NAME VACT[7:0]
TYPE RW
RESET 0x38
BIT 23 22 21 20 19 18 17 16
NAME HSD
TYPE RW
RESET 0x02
BIT 15 14 13 12 11 10 9 8
NAME VS_P HS_P PCLK_P SDR RGB_PACK_SEQ VPF_EXT CBM
TYPE RW RW RW RW RW RW RW
RESET 0x0 0x0 0x0 0x1 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME NVB NVD BLLP VCS VM VPF
TYPE RW RW RW RW RW RW
RESET 0x0 0x0 0x1 0x0 0x1 0x0
SDR SDR - Single Data Rate 0 – Data is launch at both rising and
Bit 12 falling edge
This bit control whether the RGB input is single 1 – Data is launch at either rising or
data rate or dual data rate. falling edge, depends on the
PCLK_P bit
RGB_PACK RGB_PACK_SEQ - RGB Packing Sequence For RGB input and 2 DSI_TX
_SEQ output(1 to 2)
BLLP BLLP – Blanking and Low Power Control 0 – Blanking packet will be sent
Bit 5 during BLLP period
This bit specifies the SSD2832 operation during 1 – LP mode will be used during
BLLP period. This bit takes effect only for non- BLLP period
burst mode and NVD being 0.
Refer to section 15 Interleaving Non-
Video Packets with Video Packets
for detailed information.
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
OTHER_
NAME VEN_CTR SCR_EN TXD LPE EOT ECD
CMD
TYPE RO RW RW RW RW RW RW RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1
BIT 7 6 5 4 3 2 1 0
NAME REN DCS CSS HCLK VEN SLP CKE HS
TYPE RW RW RW RW RW RW RW RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
When OTHER_CMD is 1,
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME VCM VCE VC2 VC1
TYPE RW RW RW RW
RESET 0x1 0x0 0x1 0x1
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME PEN
TYPE RO RO RO RO RO RO RO RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
PLL_TES
NAME FR MS
T
TYPE RW RW RW
RESET 0x3 0x0 0x01
BIT 7 6 5 4 3 2 1 0
NAME NS
TYPE RW
RESET 0x20
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RW
RESET 0x07
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME TX_LPD
TYPE RW
RESET 0x03
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME TDC_L[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME TDC_L[7:0]
TYPE RW
RESET 0x00
e.g.
1 1440
1
LCD
1440 (H) x 2560 (V)
2560
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME TDC_H[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME TDC_H[7:0]
TYPE RW
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME PST[12:8]
TYPE RO RO RO RW
RESET 0x0 0x0 0x0 0x1F
BIT 7 6 5 4 3 2 1 0
NAME PST[7:0]
TYPE RW
RESET 0xFF
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME PD[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME PD[7:0]
TYPE RW
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME SWR
TYPE RO RO RO RO RO RO RO RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME COP
TYPE RO RO RO RO RO RO RO RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME MRS[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME MRS[7:0]
TYPE RW
RESET 0x01
BIT 23 22 21 20 19 18 17 16
NAME RDC1[7:0]
TYPE RO
RESET 0x00
BIT 15 14 13 12 11 10 9 8
NAME RDC0[15:8]
TYPE RO
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME RDC0[7:0]
TYPE RO
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME ACK1[7:0]
TYPE RO
RESET 0x00
BIT 15 14 13 12 11 10 9 8
NAME ACK0[15:8]
TYPE RO
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME ACK0[7:0]
TYPE RO
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME RT1 RTB1 FBC1 FBT1 FBW1
TYPE RO RO RO RWAC RWAC RWAC RW RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME RT0 RTB0 FBC0 FBT0 FBW0
TYPE RO RO RO RWAC RWAC RWAC RW RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME LPTOE1 HSTOE1 ARRE1 BTARE1 RDRE1
TYPE RO RW RW RO RW RW RO RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME CBEE0 CBAE0 MLEE0 MLAE0
TYPE RW RW RO RO RO RO RW RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME PLSE LPTOE0 HSTOE0 ARRE0 BTARE0 RDRE0
TYPE RW RW RW RO RW RW RO RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME LPTO1 HSTO1 ATR1 ARR1 BTAR1 RDR1
TYPE RO RESW1C RESW1C RESW1C RESW1C RESW1C RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME CBE0 CBA0 CLS0 DLS0 MLE0 MLA0
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME PLS LPTO0 HSTO0 ATR0 ARR0 BTAR0 RDR0
TYPE RO RESW1C RESW1C RESW1C RESW1C RESW1C RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME CBO1 MLO1 CONT1 VMM1
TYPE RESW1C RO RO RESW1C RO RO RO RESW1C
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME CRCE0 ECCE2_0 ECCE1_0
TYPE RO RO RO RO RO RESW1C RESW1C RESW1C
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME CBO0 MLO0 CONT0 VMM0
TYPE RESW1C RO RO RESW1C RO RO RO RESW1C
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME HZD
TYPE RW
RESET 0x14
BIT 7 6 5 4 3 2 1 0
NAME HPD
TYPE RW
RESET 0x02
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME CZD
TYPE RW
RESET 0x28
BIT 7 6 5 4 3 2 1 0
NAME CPD
TYPE RW
RESET 0x03
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME CPED
TYPE RW
RESET 0x04
BIT 7 6 5 4 3 2 1 0
NAME CPTD
TYPE RW
RESET 0x16
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME CTD
TYPE RW
RESET 0x0A
BIT 7 6 5 4 3 2 1 0
NAME HTD
TYPE RW
RESET 0x0A
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME WUD[15:8]
TYPE RW
RESET 0x10
BIT 7 6 5 4 3 2 1 0
NAME WUD[7:0]
TYPE RW
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME TGO
TYPE RO RO RO RO RW
RESET 0x0 0x0 0x0 0x0 0x4
BIT 7 6 5 4 3 2 1 0
NAME TGET
TYPE RO RO RO RO RW
RESET 0x0 0x0 0x0 0x0 0x5
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME HTT_L[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME HTT_L[7:0]
TYPE RW
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME HTT_H[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME HTT_H[7:0]
TYPE RW
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
TE_OUT_ TE_OUT_ TE_IN_SE TE_IN_SE
NAME CMD_BC TER1 TER0
SEL1 SEL0 L1 L0
TYPE RO RW RW RW RW RW RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME RRA
TYPE RW
RESET 0xFA
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME LOCK[15:8]
TYPE RW
RESET 0x14
BIT 7 6 5 4 3 2 1 0
NAME LOCK[7:0]
TYPE RW
RESET 0x50
BIT 23 22 21 20 19 18 17 16
NAME COMP_SLICE
TYPE RW RO RW
RESET 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
DIS_CON
NAME TM EIC
T
TYPE RW RW RW
RESET 0x0 0x00 0x1
BIT 7 6 5 4 3 2 1 0
NAME PNB END CO
TYPE RW RW RW
RESET 0x01 0x0 0x1
BIT 23 22 21 20 19 18 17 16
NAME TEC1[7:0]
TYPE RW
RESET 0x01
BIT 15 14 13 12 11 10 9 8
NAME TEC0[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME TEC0[7:0]
TYPE RW
RESET 0x01
BIT 23 22 21 20 19 18 17 16
NAME LPTX_DS[1:0] BG_TRIM_V0P6
TYPE RW RW RW
RESET 0x0 0x3 0x4
BIT 15 14 13 12 11 10 9 8
BG_IDUT
NAME BG_TC BG_TEN BG_TRIM_0P5
Y[2]
TYPE RW RW RW RW
RESET 0x4 0x0 0x3 0x1
BIT 7 6 5 4 3 2 1 0
NAME BG_IDUTY[1:0] BG_IREG BG_ISEL EN_BG
TYPE RW RW RW RW
RESET 0x0 0x1 0x4 0x1
BIT 23 22 21 20 19 18 17 16
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME VEC XEQ1 XEQ0
TYPE RO RO RO RO RO RW RWAC RWAC
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME VBN VFN
TYPE RW RW
RESET 0x0 0x0
BIT 23 22 21 20 19 18 17 16
BIT_SW PIXEL_S PIXEL_S
NAME
AP0 WAP1 WAP0
TYPE RW RW RW RW RW RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
TX_REA
NAME TX_WRITE TX_DUAL TX_LS1 TX_LS0
D
TYPE RW RW RW RW RW
RESET 0x0 0x1 0x0 0x0 0x0
BIT 39 38 37 36 35 34 33 32
NAME DATA[23:16]
TYPE W
RESET 0x00
BIT 31 30 29 28 27 26 25 24
NAME DATA[15:8]
TYPE W
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME DATA[7:0]
TYPE W
RESET 0x00
BIT 15 14 13 12 11 10 9 8
NAME ADDR[15:8]
TYPE W
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME ADDR[7:0]
TYPE W
RESET 0x00
BIT 23 22 21 20 19 18 17 16
NAME DATA[23:16]
TYPE R
RESET 0x0
BIT 15 14 13 12 11 10 9 8
NAME DATA[15:8]
TYPE R
RESET 0x0
BIT 7 6 5 4 3 2 1 0
NAME DATA[7:0]
TYPE R
RESET 0x0
Address Module
BIT 23 22 21 20 19 18 17 16
NAME id[23:16]
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME id[15:8]
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0
BIT 7 6 5 4 3 2 1 0
NAME id[7:0]
TYPE RO RO RO RO RO RO RO RO
RESET 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1
BIT 23 22 21 20 19 18 17 16
NAME v2c
TYPE RW RW RW RW RW RW
RESET 0x2 0x1 0x0 0x0 0x0 0x0
BIT 15 14 13 12 11 10 9 8
NAME
TYPE RW RW RW RW
RESET 0x0 0x3 0x1 0x0
BIT 7 6 5 4 3 2 1 0
NAME flip1 flip0
TYPE RW RW RW RW RW RW
RESET 0x0 0x0 0x0 0x0 0x0 0x0
BIT 23 22 21 20 19 18 17 16
NAME scratch[23:16]
TYPE RW
RESET 0x00
BIT 15 14 13 12 11 10 9 8
NAME scratch[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME scratch0[7:0]
TYPE RW
RESET 0x00
Tri-state Output
IOZ
Leakage Current
- -1 - +1 A
Input Leakage
IIN - -1 - +1 A
Current
VIH VIH
tR
csx tF
VIL VIL
tCYCLE_WR /tCYCLE_RD
pwCSH pwCSL
e
tDHW
tDSW
VIH VIH
data
(WRITE) Valid Data
VIL VIL
tACC tDHR
data VIH VIH
(READ)
Valid Data
VIL VIL
tDSW tDHW
VIH VIH
sdin Valid Data
VIL VIL
Read
tACC tDHR
VIH VIH
sdout Valid Data
VIL VIL
Note: The link should run at greater or equal than the pclk frequency * bit per pixel (bpp).
tvsys tvsyh
vsync
thsys thsyh
hsync
thv
tDOTCLK
pclk
tds tdh
data
Tch2ch
Ch 0 RGB
Ch 1 RGB
In SSD2832, command 0xB0 to 0xFF are used for local registers. APB peripherals which have the
registers accessed via command 0xE0. See the table below.
Refer to the respective interfaces (RGB, SPI or MCU) for details on the use of these interfaces to
program local registers.
The table below shows the local register map summary in SSD2832.
Command Description
Some of the commands would have additional data
0xB0 – 0xDF
parameters added to support extension of certain register
fields. For example VBP (Vertical back porch) is an 8-bit
field. With the extension of the number of data parameters,
VBP can now become a 16-bit field. The original register
fields’ location would be maintained in the first 2 data
parameters for back-ward compatibility purpose. Only 2
data parameters would be added.
This is the command for APB peripheral access (e.g.
0xE0
GPIO)
In the subsequent read or write cycle, the data width is only 16-bit or 2 bytes no matter the interface
width is selected, except for 8-bit format. Please refer to the table below.
If there are 4 bytes in the legacy registers due to data parameters extension, there will be additional
data cycles accordingly.
1st Don’t care Don’t care Don’t care Data Byte 0 (1)
2nd Don’t care Don’t care Don’t care Data Byte 1 (2)
8-bit
3rd Don’t care Don’t care Don’t care Data Byte 2 (3)
4th Don’t care Don’t care Don’t care Data Byte 3
Table 15-2: MCU Interface Data Pin Mapping for Legacy Register
In the sub-sequent write cycle, the data width is only 16-bit or 2 bytes, no matter the interface width is
selected, excepted for 8-bit format. Please refer to the table below.
In the first write cycle, only 8-bit data are written into the SSD2832, as the address can only be 8-bit.
No matter whether the interface is 8-bit, 16-bit, 24-bit or 48-bit, lower 8 bits are used. Please refer to
the table below.
Interface Data pins
types
D47-D24 D23-D16 D15-D8 D7-D0
48-bit,
24-bit,
Don’t care Don’t care Don’t care 0xE0
16-bit,
8-bit
Table 15-5: MCU Interface Data Pin Mapping for Extended Registers Address Set 1
In the sub-sequent write cycles, the data width is only 16-bit or 2 bytes no matter what interface width
is selected, excepted for 8-bit format. Please refer to the table below.
Interface Data pins
types Cycle
D47-D24 D23-D16 D15-D8 D7-D0
48-bit,
24-bit, 1st Don’t care Don’t care Addr High Addr Low
16-bit
1st Don’t care Don’t care Don’t care Addr Low
8-bit
2nd Don’t care Don’t care Don’t care Addr High
Table 15-6: MCU Interface Data Pin Mapping for Extended Registers Address Set 2
In the read cycles, the host read the data from 0xE1 register in 16-bit or 2 bytes format no matter what
interface width is selected, except for 8-bit format. Please refer to the table below.
Interface Data pins
types
D47-D24 D23-D16 D15-D8 D7-D0
48-bit,
24-bit,
Don’t care Don’t care Don’t care 0xE1
16-bit,
8-bit
Table 15-7: MCU Interface Data Pin Mapping for Extended Registers Data Read 1
For this mode, the user must set IF_SEL0 to “0” to select the interface as a combination of RGB and
SPI interface. The video data come from the RGB interface and the chip configuration is done
through the SPI interface.
The video timing parameter for MIPI DSI outputs are programmed at command 0xB1 to 0xB6.
The table below shows the minimum requirements for RGB parallel input and chip configuration,
with respect to the video timing parameter for MIPI DSI output. The units are pixel for horizontal
parameters and line for vertical parameters.
RGB Parallel Input Video Timing Output Video Timing Parameter (Per output DSI)
Parameter - Programmed at 0xB1 to 0xB6 commands
Single DSI Output:
Video Mode = 1 or 2:
HBP = (Panel HBP + Panel HSW)
Input HBP = Panel HBP /(Data_Width/24
Video Mode = 0:
HBP = (Panel HBP)
Horizontal Back Porch Video Mode = 1 or 2: Minimum of 20,
(HBP) Multiple of 2
Dual DSI Output:
Video Mode = 0: Minimum of 18, Multiple of
Video Mode = 1 or 2:
2
HBP = (Panel HBP + Panel HSW) / 2
Video Mode = 0:
HBP = (Panel HBP) / 2
SSD2832
Local registers
SPI Interface
SSD2832
MIPI CPHY or DPHY TX 1
The user, firstly, needs to configure the MIPI TX timing parameters through registers programming.
Then, the user can turn on the RGB interface and enable the SSD2832 to start transmission. All three
video mode sequence defined in the MIPI DSI specification are supported.
The PLL multiplication factor should be set such that the serial link data rate is faster than the
incoming data rate. Please refer to the table below for the PLL settings.
DEN
HBP HACT HFP
Pclk
MIPI_Data[23:0]
VSA
Vsync
Figure 15-1: Illustration of RGB Interface Parameters for Non-burst Mode with Sync Pulses
Hsync
DEN
HBP HACT HFP
Pclk
MIPI_Data[23:0]
Vsync
Figure 15-2: Illustration of RGB Interface Parameters for Non-burst Mode with Sync Events and Burst Mode
Non-video data can be transmitted during the vertical blanking of the video frames, or when nvb (in 0xB6
register) is set, during any BLLP period (including those in the horizontal blanking). It is recommended to send
non-video data during vertical blanking.
The nvd and bllp field (in 0xB6 command) determines how the non-video data is sent. See below table for
illustration.
The number of non-video data packets that would be sent out is determined by the pnb field (in 0xD6
command). If there are more non-video data packets to be sent than pnb, it would be sent in the next available
vertical blanking line, or when nvd field (in 0xB6 command) is set, it would be sent in the next horizontal
blanking time.
vbn and vfn fields (in 0xDD command) are used to prohibit non-video packets from being sent out after vbn
lines before the first vertical active line, and before vfn lines after the last vertical active line.
Please refer to section Write Operation and Read Operation for more details on transmission of the non-video
data packets.
For RGB input, the main thing to consider is the input bitrate must be lesser than or equal to the
output bit rate.
E.g. if dual-pixel interface is used with PCLK = 150MHz, and 24bpp, then
Bitrate input = 150MHz * 2 * 24bits = 7.2Gbps
DPHY output:
Bitrate output = Total number of DPHY lanes * bitrate per lane
CPHY output:
Bitrate output = Total number of CPHY lanes * symbol rate per lane * 2.28
MCU interface supports 48-bit, 24-bit data, 16-bit and 8-bit data bus. To support different bus width,
the following data pins of MCU interface are used.
data[47:0] for 48-Bit interface
data[23:0] for 24-bit interface
data[15:0] for 16-bit interface
data[7:0] for 8-bit interface
In SSD2832, MCU interface is up to 48-bit data interface. The following command mode use cases
are possible:
SSD2832
Local registers
SSD2832
MIPI CPHY or DPHY TX 1
Local registers
SSD2832 can send image data to downstream display module using command mode using DCS
Write Memory Command 2Ch/3Ch. The sequence below is recommended when host intend to
use command mode:
1. Prior to start video data transmission for each frame, host shall send a LP NOP Packet
(Command 00h) to put MIPI-TX MIPI lanes into LP-11 state. This is to ensure TX lane does
not remain in HS for too long and eventually causes HS TX Timer (htt) timeout.
2. Host shall then send HS NOP Packet (Command 00h) to put TX link into HS state as
preparation for incoming 2C/3C command. Due internal latency, it is recommended to poll
for CBE status set to ensure the HS command has been sent out to TX.
3. Now TX link is in HS state, host can send DCS Write Memory Command starting from 2Ch
command and subsequently 3Ch commands.
4. If MCU interface is used, before start of transmission for next 3Ch command, host shall poll
for MLA status set to ensure there is buffer available for next in-coming command. If
Partition Mode is enabled (TDC>PST), host shall poll for MLE status instead. Host can also
wait for interrupt or wait for a fixed delay instead if it does not poll for interrupt status.
5. If 2Ch or 3Ch command data size is more than maximum data size, Partition Mode is
automatically enabled to split in-coming packet to multiple output packets.
Figure 15-3: Command use case Sequence with TDC < PST
For DCS Write Packet, partition is supported for 0x2C or 0x3C DCS command. This is because
the DCS command 0x2C and 0x3C are to write display data into the LCD panel display memory.
The payload will be partitioned into several packets where the payload of each packet is
determined by the Partition register (PST). The first byte is the DCS command and the following
bytes are the payload. Only the last packet might contain less payload, as the total payload might
not be integer multiple of partition size. If the incoming DCS command is 0x2C, the DCS
command for the first packet is 0x2C and the DCS command for all other packets is 0x3C. If the
incoming DCS command is 0x3C, the DCS command of all the packets is 0x3C.
For example, if the byte size field is 200 and partition field is 80, 3 packets will be sent. The first
two have 80 bytes of payload. The last packet has 40 bytes of payload.
1. Configure Packet Size Threshold (PST) by writing to Packet Size Control Register 3 (0xBE).
PST has the following requirement:
PST < 8192 Bytes
PST < TDC (if MCU interface)
PST must be multiple of 12 bytes
2. Perform the normal steps of sending 2Ch/3Ch to display module. SSD2832 will automatically
split packet in to multiple 2C/3Ch packets with word count = PST, with last packet word
count < PST if there is remainders.
The MIPI TX output of SSD2832 can convert video packets to command mode packets (i.e. 0x2C
command for the first video line, and 0x3C commands for the subsequent video lines).
Note:
For this feature, it is important to note that once Video-to-Command mode is turned on, the MIPI
would be in HS link when there is active video input. It would remain in HS link until the mode is
turned off. Since there is a HS timeout built-in SSD2832, user is recommended to switch off Video-
to-command mode periodically (e.g. after a 2-3 frames of conversion)
2832 is able to perform MIPI read write by using either the SPI interface or the MCU interface.
The SPI interface is used together with the parallel RGB interface for control and command. At the IC
initialization stage, options for handling the non-video data should be set at the RGB Interface Control
Register 6 (0xB6).
For each read/write operation, control and packet registers should be set up accordingly to match
properties of different MIPI packets.
Configuration Register (0xB7) controls the format and structure of the MIPI packets. DCS, Generic,
PPS or Compression Mode packet, SP/LP, EOT or not, ECC or not. These settings should be changed
if the MIPI packet is different from the last used. It is recommended to confirm the settings every time
before a MIPI packet sent.
Virtual Channel Control (0xB8) controls the virtual channel of the packets.
Packet Size Control (0xBC to 0xBE) controls the length of the packet to be sent. TDC could affect the
packet type in the following MIPI packet transmission. Partition mode is offered when PST is set
lower than TDC for transmitting 0x2C/3C DCS packets.
The SSD2832 can issue four kinds of packets for write operation, which are Generic Short Write
Packet, Generic Long Write Packet, DCS Short Write Packet and DCS Long Write Packet. The VC
ID of the outgoing packets can also be programmed through registers.
The SSD2832 needs to know the payload size of the outgoing packets. Hence, the user needs to
program the corresponding control registers prior to sending the MIPI data.
To send a DCS or Generic Write Packet in address 0xB0 to 0xFF, the user needs to write the
command/header and the payload to the Packet Data Drop register (0xBF). If the size field is no more
than 2 for Generic packet and 1 for DCS packet, the SSD2832 will send out DCS or Generic Short
Write Packet with the correct type. Otherwise, DCS or Generic Long Write Packet will be sent out.
After performing a write operation, the user can optionally make a BTA to let the MIPI slave report
its status. The SSD2832 will automatically make a BTA after each write operation.
N Y
The SSD2832 can issue two kinds of packets for read operation, which are Generic Read Packet, and
DCS Read Packet. The bit DCS controls whether Generic Read Packet or DCS Read Packet will be
sent out. The VC ID of the outgoing packets can also be programmed through registers.
Before the read packet is sent out, the SSD2832 will always send out the Set Maximum Return Size
Packet. This is to limit the Read Response Packet sent by the MIPI slave such that there is no over
flow. Two factors determine the maximum size. One is the limit of the SSD2832 and the other is the
limit of the application processor. The user should choose the smaller one among these two limits to
use as the maximum return size.
The parameter in the Set Maximum Return Size Packet is taken from local register. The user could
program the Set Maximum Return Size Register before every read so that the correct value is sent
through Set Maximum Return Size Packet. If the value is already the desired value, the user can
choose not to program it. SSD2832 will still automatically send out Set Maximum Return Size Packet
before the every Read Packet.
To send a DCS Read or Generic Read Packet, the user just needs to write the DCS (as there is no
parameter for DCS read) or Generic command, or write to Packet Drop Data register when the address
is from 0xB0 to 0xFF.
After sending out the read packet, the SSD2832 will automatically perform a BTA to wait for the
Read Response Packet from the MIPI slave. After seeing read valid status bit (0xC6) been set to 1, the
user should first check the number of bytes returned by the MIPI slave. By using this information, the
user will know how many data should be read out from data register (0xFF). After all the return data
are read out, the read valid status bit will be set to 0 by the SSD2832.
Even the read valid status bit is set to 1, the user can choose not to read the data out from data register.
The user can continue performing another operation. Once the user does so, the read valid status bit
will be set to 0 by the SSD2832.
There might be Acknowledge and Error Report Packet sent by the MIPI slave at the same time.
Under certain circumstance, the MIPI slave might only send back Acknowledge and Error Report
Packet without any data and the read valid status bit will not be set. Therefore, it is recommended that
the user check the bus turnaround bit first. The bus turnaround bit is to indicate whether the MIPI
slave has passed the bus authority back to the SSD2832 or not. Only when the bus turnaround is 1,
there might be return data. If there is no returned data, the user should follow Acknowledgement
Operation.
There are 2 types of buffers inside the SSD2832, which are MCU interface line buffer (ML) and
MCU/SPI command interface buffer (CB).
The ML buffers are used to store the data (DCS command 0x2C and 0x3C) written through MCU
interface when the if_sel is ‘01’. They are also used to store the video data written through RGB
interface when the if_sel is ‘00’.
For CB buffers, all command packets will be stored into them. They can store multiple packets, up to
4096 bytes in total. Below is a list of possible packets
Generic Short Write Packet
Generic Read Packet
DCS Short Write Packet
DCS Read Packet
Generic Long Write Packet
DCS Long Write Packet
In case of automatic partitioning, the packet length is determined by the PST field. It is not
recommended to make the PST field so small.
When the if_sel is “00”, the user can write the data through SPI interface. All packets will be written
into the CB buffers. Hence, the user needs to check the corresponding interrupts. The usage of the
interrupts is listed below.
CBE
CBA
To indicate that the Command buffer can hold at least 1 more packet. The user can write 1 such
packet into CB buffer.
MLE
To indicate that MCU Long buffer is empty. Since the ML buffer can hold 2 packets, the user can
write up to 2 such packets into ML buffer without needing to look at the interrupt status.
MLA
To indicate that the MCU Long buffer can hold at least 1 more packet. The user can write 1 such
packet into ML buffer.
The interrupts mentioned here can be used as flow control between the application processor and the
SSD2832. However, it requires the user to know the buffer operation well. The PO interrupt is a
combination of the eight. It makes decision according to the parameters provided by the user for the
next packet to be written. Hence, the user does not need to know which buffer is going to be used and
how the buffer status is.
An interrupt signal int has been provided to interrupt the application processor so that it does not need
to poll the status all the time. This will save the processing time of the application processor. int can
be programmed to active high or active low, when the event has happened.
There are many sources that can be mapped to the interrupt signal. The user can select different
source to perform different task. If more than 1 source is selected, the int signal will be asserted when
the event for 1 of the sources has happened. In this case, the user needs to read the register ISR to
determine what event has happened. The different sources can be enabled/disabled through register
ICR. Below is the list of available interrupt sources and their usage.
RDR
To indicate that return data from one of the MIPI slave is available for read.
BTAR
To indicate whether the SSD2832 has the bus authority or not. It can be used after SSD2832 makes a
BTA. If the MIPI slave has returned the bus authority back to SSD2832, the interrupt will be set to
indicate so. Please note that, on power up, the bus authority is already on the SSD2832. Hence, the
SSD2832 will show that it has the bus authority.
ARR
To indicate whether the SSD2832 has received the acknowledge response from the MIPI slave. The
acknowledge response can either report error or not error. This is to be determined by the ATR bit.
The above three interrupts are provided to the user to handle reading data from the MIPI slave or
getting acknowledgement response from the MIPI slave.
PLS
To indicate whether the PLL has been locked or not. If the PLL is not locked, the programming speed
at the external interface must be slow. After changing the PLL setting or changing the reference clock
source, the user also needs to use this interrupt to determine the PLL status.
On power up, only PLS interrupt is enabled. This is to let the user determine the programming speed
before configuring the SSD2832.
LPTO
HSTO
The above two interrupts are provided to the user for error handling.
One important thing to note is the interrupt latency. The output interrupt signal does not change
immediately after an operation. This is due to the internal processing of the SSD2832. For example,
after changing the interrupt source from one to another, the output int level will remain at the old level
for a short period after the programming is done. Another example is that after programming the
TDC field, the interrupt will take a short period to reflect the correct PO status on int. There is
always a delay between the actual event and the interrupt.
In order to guarantee that the user can get the correct interrupt, it is recommended that the user
performs a read of any SSD2832 local register before taking in the interrupt signal or polling the
interrupt status bits. The read operation will cover the interrupt latency period. Alternatively, the user
can wait for certain amount of time to make sure the interrupt reflects the true status. Below is a
diagram for illustration.
int
Time
N
BTAR == 1?
Y
N Error!
ARR == 1?
No Acknowledgement
Y
N Handle Slave Error
ATR == 1?
Report
N
BTAR == 1?
Y
N Error!
ARR == 1?
No Acknowledgement
Y
Slave has no error. Y N Handle Slave Error
Proceed ATR == 1?
Report
N Y
RDR == 1? Correctable?
Y N
Y
RDR == 1?
SSD2832 takes in TE_in pin, reshape and output TE_out pin. The programmable parameters are the
pulse width, polarity, and delay.
TE_out Pulse
TE_in
Modifier
Application Display Driver
Processor SSD2832
The TE operation can be enabled by setting bit FBT and FBW to 1 before writing the last command to the MIPI
slave. Afterwards, the application processor can instruct the SSD2832 to send out the last command in a write
packet. Since FBW is 1, the SSD2832 will automatically perform a BTA after the write operation. The MIPI
slave will response and pass the bus authority back. Since FBT is 1, the SSD2832 will perform another BTA
without sending any data. This makes the MIPI slave enter TE mode.
The MIPI slave will send a TE trigger message back when it gets the TE event. After getting the trigger
message, the SSD2832 will set the TE pin to 1 to indicate that TE event has been received. At the same time,
bit TER will be set to 1. The application processor can write 1 to this bit to clear it. As the TE trigger message
only determines when the TE pin will be set to 1, a counter is used to determine when to set the TE pin to 0.
The TE pin will be set to 0, once the counter reaches the value in TEC. The counter uses the reference clock to
do counting.
If the MIPI slave does not send back the TE trigger message but just perform a BTA to pass the bus back, the
SSD2832 will automatically perform another BTA to pass the bus to the MIPI slave again. It will continue do
so until the MIPI slave respond with the TE trigger message, or the FBT bit is set to 0, or the LP RX timer
expires.
If the MIPI slave does not send back the TE trigger message and still holds the bus, the user can set the bit FBC
to 1 to force a bus contention. After bus contention is resolved, the slave will pass the bus back to SSD2832.
SSD2832 supports dual MIPI TX port. Hence there would be 2 TE outputs accordingly.
Note: The minimum HTOTAL (HBP + HSW + HACT + HFP) needs to be at least 1200.
The following tables describe the various Video BIST mode in detail. Please also refer to Video BIST
Register Descriptions for the related registers descriptions.
9 10 11 12 13 14 15 16
The product(s) listed in this datasheet comply with Directive (EU) 2015/863 of 31 March 2015 amending Annex II to Directive
2011/65/EU of the European Parliament and of the Council as regards the list of restricted substances and People’s Republic of
China Electronic Industry Standard GB/T 26572-2011 “Requirements for concentration limits for certain hazardous substances in
electronic information products (电子电器产品中限用物質的限用要求)”. Hazardous Substances test report is available upon request.
http://www.solomon-systech.com