晶门科技SSD2829T 1.2
晶门科技SSD2829T 1.2
SSD2829T
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
SSD2829T Rev 1.2 P 1/159 Feb 2018 Copyright 2018 Solomon Systech Limited
Appendix: IC Revision history of SSD2829T Specification
SSD2829T is a MIPI master bridge chip that converts RGB / MCU interface to MIPI DPHY DSI Output.
For RGB interface, it can support resolution up to WQHD (2560x1600) (native) and UHD (4096x2160)
(compressed in/out) format with 60Hz refresh rate.
For MCU interface, it can support resolution up to WQHD (2560x1600) (native) and UHD (4096x2160)
(compressed in/out) format with 30Hz refresh rate.
2 FEATURES
Support panel at refresh rate of 60Hz with resolution up to
- WQHD (2560x1600) (native)
- UHD (4096 x 2160) (compressed in/out)
Support MIPI DSI standard version 2.0
Support MIPI D-PHY standard version 1.1
Support MIPI DCS standard version 2.0
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 single or dual DSI mode at DSI-TX output
Support 16, 18, 24-bit per pixel color
Support MCU interface (DBI version 2.0) up to 24-bits bus width at the input
Support RGB interface (DPI version 2.0) 48-bits bus width with SDR or DDR pixel clock at the input
Support serial SPI interface (DBI version 2.0) up to 16-bits at the input
Support both Video and Command mode
Support input Left-right or odd-even split in the RGB input
Support Video BIST generation at the DSI-TX output with different color patterns
Support Burst or Non-burst video modes
Each DSI-TX port can control the number of lane independently
On-chip PLL with variable output frequency
Power supply: (VDDD and VDDA) 1.3V +/-10%
IO Power supply: 1.8V +/-10% or 3.3V +/-10%
3 ORDERING INFORMATION
Table 3-1: Ordering Information
xtal_in/
out
XTAL
PLL
OSC
RGB
RGB Interface
MIPI
Data Buffer DPHY DSI TX
1
MIPI
DSI
TX
Command MIPI
MCU Buffer DPHY DSI TX
Command
1
Interface
SPI
Local
Register
The RGB interface receives parallel video data and routes them to the data buffer. The RGB interface supports
2 pixels per PCLK cycle. The RGB interface input is 48-bit wide and it supports 2-pixels per RGB module
using SDR or DDR input pixel clock. The maximum speed for the RGB interface is 160MHz.
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 line buffer per MIPI DSI TX port. For DSI TX0, the line 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 bytes 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.
There are one command FIFO per MIPI DSI TX port.
The MIPI packets that are supported by MIPI DSI-TX are listed in the table below.
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-bit packet and send out as 1 packet per line.
A line 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.
D23 D22 D21 D20 D19 D18 D17 D16 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
24bpp 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 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 R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0
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
5.7 PLL
5.8 PMU
The PMU (Power Management Unit) is responsible for putting SSD2829T into deep-sleep mode, cutting the
power consumption to ultra-low level. Internally, it uses APB interface for register programming
Pin # QFP Pin name Pin # QFP Pin name Pin # QFP Pin name Pin # QFP Pin name
1 AVDD 33 DATA0_13 65 DATA0_44 97 AVDD
2 VSS 34 DATA0_14 66 DATA0_45 98 AVDD_CDR
3 VDD_CORE 35 DATA0_15 67 DATA0_46 99 TXB_DN3
4 IF_SEL0 36 DATA0_16 68 DATA0_47 100 TXB_DP3
5 VDDIO 37 DATA0_17 69 DATA0_48 101 TXB_DN0
6 VSS 38 DATA0_18 70 DATA0_49 102 TXB_DP0
7 VSS 39 DATA0_19 71 DATA0_50 103 VDRV
8 VSS 40 DATA0_20 72 DATA0_51 104 AVDD
9 RST_IN 41 DATA0_21 73 DATA0_52 105 TXB_CN
10 VDDIO 42 DATA0_22 74 DATA0_53 106 TXB_CP
11 VDD_CORE 43 DATA0_23 75 SDO 107 TXB_DN1
12 VSS 44 TE_OUT_0 76 SDI 108 VDRV
13 CSX0 45 TE_OUT_1 77 SCK 109 TXB_DP1
14 CLK_IN 46 VDDIO 78 DEN 110 TXB_DN2
15 PD_N 47 XTAL_IN 79 PCLK 111 TXB_DP2
16 VSYNC 48 XTAL_OUT 80 HSYNC 112 AVDD_RC
17 HSYNC 49 VSS 81 VSYNC 113 VCIP
18 PCLK 50 VDD_CORE 82 TE_IN_1_CM 114 VDRV_REG
19 DEN 51 DATA0_30 83 TE_IN_0_CM 115 AVSS
20 DATA0_0 52 DATA0_31 84 VSS 116 TXA_DN3
21 DATA0_1 53 DATA0_32 85 VDD_CORE 117 TXA_DP3
22 DATA0_2 54 DATA0_33 86 VDDIO 118 TXA_DN0
23 DATA0_3 55 DATA0_34 87 SDC 119 TXA_DP0
24 DATA0_4 56 DATA0_35 88 PS4 120 VDRV
25 DATA0_5 57 DATA0_36 89 PS3 121 AVDD
26 DATA0_6 58 DATA0_37 90 PS2 122 TXA_CN
27 DATA0_7 59 DATA0_38 91 PS1 123 TXA_CP
28 DATA0_8 60 DATA0_39 92 PS0 124 TXA_DN1
29 DATA0_9 61 DATA0_40 93 INT_B 125 VDRV
30 DATA0_10 62 DATA0_41 94 VDD_CORE 126 TXA_DP1
31 DATA0_11 63 DATA0_42 95 VSS 127 TXA_DN2
32 DATA0_12 64 DATA0_43 96 AVDD 128 TXA_DP2
Key:
I = Input
O =Output
IO = Bi-directional (input/output)
P = Power pin
When not
Pin name Type Connect to Description
in use
DATA0[53:30] I/O RGB data for RGB Interface Open
RGB data for RGB Interface Open
DATA0[23:0] I/O
MCU data for MCU interface
- Vsync for lower RGB interface VDDIO /
- E clock signal for MCU interface GND
VSYNC / E /
I (This is for MIPI DBI type A interface)
WRX
- Write enable signal for MCU interface. Enabled
when low. (This is for MIPI DBI type B interface)
- PCLK for lower RGB interface VDDIO /
- Read/Write selection signal for MCU interface. GND
PCLK / RWX / Read cycle when high, write cycle when low.
I
RDX (This is for MIPI DBI type A interface)
MCU/RGB
- Read enable signal for MCU interface. Enabled
Signals
when low. (This is for MIPI DBI type B interface.)
- Hsync for lower RGB interface VDDIO /
HSYNC I
GND
- Den for lower RGB interface VDDIO /
DEN; DCX I
- Data or command signal for MCU interface GND
Input Tearing Effect Signal for MCU VDDIO /
TE_IN_0 I
GND
TE_OUT_0 O Output Tearing Effect Signal for MCU Open
Reserved VDDIO /
TE_IN_1 I
GND
TE_OUT_1 O Reserved Open
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
BLLP BLLP – Blanking and Low Power Control 0 – Blanking packet will be sent
Bit 5 during BLLP period
This bit specifies the SSD2829T operation 1 – LP mode will be used during
during BLLP period. This bit takes effect only BLLP period
for non burst mode and NVD being 0.
D23 D22 D21 D20 D19 D18 D17 D16 D15 D14 D13 D12 D11 D10 D9 D8 D7 D6 D5 D4 D3 D2 D1 D0
24bpp 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 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 R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0
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 RDRE1
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 VID_COMPRESSED_BYTE_COUNT[15:8]
TYPE RW
RESET 0x00
BIT 7 6 5 4 3 2 1 0
NAME VID_COMPRESSED_BYTE_COUNT[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 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 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
Maximum ratings are those values beyond which damages to the device may occur. Functional operation should be restricted to the
limits in the Electrical Characteristics tables or Pin Description section
This device contains circuitry to protect the inputs against damage due to high static voltages or electric fields; however, it is advised
that normal precautions be taken to avoid application of any voltage higher than maximum rated voltages to this high impedance
circuit. For proper operation it is recommended that VCI and VOUT be constrained to the range VSS < VDD VCI < VOUT. Reliability of
operation is enhanced if unused input is connected to an appropriate logic voltage level (e.g., either V SS or VDD). Unused outputs must
be left open. This device may be light sensitive. Caution should be taken to avoid exposure of this device to any light source during
normal operation. This device is not radiation protected.
10 DC OPERATING CONDITIONS
Tri-state Output
IOZ - -1 - +1 A
Leakage Current
Input Leakage
IIN - -1 - +1 A
Current
VIH VIH
dcx
VIL VIH
tAS
tAH
VIH VIH
rwx
VIL VIL
VIH VIH
tF tR
csx
VIL VIL
tCYCLE_WR /tCYCLE_RD
pwCSH pwCSL
e
tDHW
tDSW
VIH VIH
data
Valid Data
(WRITE) VIL VIL
tACC tDHR
data VIH VIH
(READ)
Valid Data
VIL VIL
Write
VIH VIH
dcx
VIL VIL
tAS tAH
VIH VIH
csx tF tR
VIL VIL
tCYCLE_WR
pwCSH
pwCSL
wrx
rdx
tDHW
tDSW
VIH VIH
data Valid Data
VIL VIL
VIH VIH
dcx
VIL
VIL
tAS tAH
VIH VIH
csx tR
tF
VIL VIL
wrx
tCYCLE_RD PWCSH
PWCSL
rdx
tACC tDHR
data VIH VIH
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
VDDIO
VCIP
>=0ms
AVDD
VDD_CORE
>=0ms
>=10ms
RESB
>=0ms
XTAL_IN
>=1ms
Input
interface PLL ON
e.g. SPI
Leave ULP mode
>=1ms
RGB signals
VDDIO
VCIP
>=0ms
AVDD
VDD_CORE
>=0ms
RESB
>=0ms
XTAL_IN
RGB signals
Command Description
Some of the commands would have additional data parameters added to support
0xB0 – 0xDF
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. SCM)
0xE0
If all 6 data parameters are given, SSD2829T would issue APB write access with
the APB_ADDR and APB_DATA.
If only 2 data parameters are given, SSD2829T would store the APB_ADDR for
read operation. Host can do a data read to read back the APB_DATA.
The legacy registers (16-bit accessed) are accessed in term of 2 bytes per cycle for all MCU interfaces, except
8-bit format which requires 3 cycles to access (1 command, 2 data cycles)
In the first write cycle, only 8-bit data are written into the SSD2829T, as the address can only be 8-bit. No
matter whether the interface is 8-bit, 16-bit and 24-bit lower 8 bits are used. Please refer to the table below.
Table 15-3: MCU Interface Data Pin Mapping for Legacy Register
Note:
(1) If the local registers have 4 bytes of data, host can either write 2 bytes or 4 bytes of data.
(2) If the local registers have only 2-bytes of data, any extra write will be ignored
(3) For 8-bit interface, all writes must be in multiple of 2 cycles
The APB peripheral’s registers are accessed by 0xE0. The data content of 0xE0 are 6 bytes and arranged in the
order of {addr low, addr high, data0, data1, data2, data3}, where addr low is sent first.
In the first write cycle, only 8-bit data are written into the SSD2829T, as the address can only be 8-bit. No
matter whether the interface is 8-bit, 16-bit and 24-bit, lower 8 bits are used. Please refer to the table below.
Table 15-5: MCU Interface Data Pin Mapping for Extended Registers Write
The APB peripheral’s registers are accessed by 0xE0. The content of 0xE0 are 2 bytes and arranged in the order
of {addr low, addr high}, where addr low is sent first.
In the first write cycle, only 8-bit data are written into the SSD2829T, as the address can only be 8-bit. No
matter whether the interface is 8-bit, 16-bit or 24-bit, lower 8 bits are used. Please refer to the table below.
Prior to the read cycles, the host must set the address of the extended registers to be read through write 0xE1.
In the sub-sequent write cycle, the data width is only 16-bit or 2 bytes no matter what interface width is selected,
except for 8-bit format. Please refer to the table below.
Table 15-7: MCU Interface Data Pin Mapping for Extended Registers Address Set
24-bit, 1st Don’t care Don’t care Read Data 1 Read Data 0
16-bit 2 nd
Don’t care Don’t care Read Data 3 Read Data 2
1 st
Don’t care Don’t care Don’t care Read Data 0
2nd Don’t care Don’t care Don’t care Read Data 1
8-bit
3rd Don’t care Don’t care Don’t care Read Data 2
4th Don’t care Don’t care Don’t care Read Data 3
Table 15-8: MCU Interface Data Pin Mapping for Extended Registers Address Set
This interface consists of sdc, sck, sdin, sdout and csx. It only supports 8-Bit data. Each cycle contains 8-Bit
data. The first cycle should be a command write cycle to specify the register address for 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 1
operation, the application processor can write or read multiple bytes.
sdcx indicates whether the operation is for data or command. When sdcx is 1, the operation is for data. When
sdcx is 0, the operation is for command. sdcx is sampled at every 8 th rising edge of sck during 1 operation.
During write operation, sdin will be sampled by SSD2829T at the rising edge of sck. The first rising edge of
sck after the falling edge of csx samples the bit 7 of the 8-Bit data. The second rising edge of sck samples the
bit 6 of the 8-Bit data, and so on. The value of sdcx is sampled at the 8 th rising edge of sck, together with bit 0
of the 8-Bit data. Please see the diagram below for illustration. Optionally, the csx can be driven to 1 in between
cycles.
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 for 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 1
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. When sdcx is 1, the operation is for display data. When sdcx is 0, the operation is
for command. The sdcx bit is sent priori to each byte. In other words, the sdcx bit is the first bit of every 9 bits
during 1 operation.
During write operation, sdin will be sampled by SSD2829T 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.
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 for 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 1 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-bit data. Among the 24-bit data, the first 8-Bit are for control purpose and the next 16-
bit are the actual data. The first 6 bits are the ID bit for SSD2829T, 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.
MCU interfaces support 8-bit, 16-bit and 24-bit data bus. Below are the data pins used for each interface. For
8-Bit interface, the least significant byte should be written first. For 16 or 24-bit interfaces, the lease significant
word should be written first.
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.
This interface consists of data, rwx, dcx, e and csx. It supports 24-bit, 16-bit and 8-bit data bus. The first cycle
should be a command write cycle to specify the register address for access. The subsequent cycles are read or
write cycles for read or write operations.
‘e’ signal should be driven to 1 in this mode.
rwx indicates whether the operation is a read or a write operation. When rwx is 1, the operation is a read
operation. When rwx is 0, the operation is a write operation.
During write operation, dcx indicates whether the operation is for data or command. When dcx is 1, the
operation is for data. When dcx is 0, the operation is for command. During the read operation, the dcx should
be 1.
During the write operation, data are sampled at the rising edge of csx. During read operation, data are provided
at the falling edge of csx and the application processor should use the rising edge of csx to sample.
Figure 15-8: Illustration of Read Operation for Type A, Fixed E Mode Interface
This interface consists of data, rwx, dcx, e and csx. It supports 24-bit, 16-bit and 8-bit data bus. The first cycle
should be a command write cycle to specify the register address for access. The subsequent cycles are read or
write cycles for read or write operations.
csx should be driven to 0 in this mode.
rwx indicates whether the operation is a read or a write operation. When rwx is 0, the operation is a write
operation. When rwx is 1, the operation is a read operation.
During write operation, dcx indicates whether the operation is for data or command. When dcx is 1, the
operation is for data. When dcx is 0, the operation is for command. During the read operation, the dcx should
be 1.
During the write operation, data are sampled at the falling edge of E. During read operation, data[23:0] are
provided at the rising edge of e and the application processor should use the falling edge of e to sample.
Below is a diagram for illustration.
Figure 15-9: Illustration of Write Operation for Type A, Clocked E Mode Interface
This interface consists of data, rdx, wrx, dcx, and csx. It supports 24-bit,16-bit and 8-bit data bus. The first
cycle should be a command write cycle to specify the register address for access. The subsequent cycles are
read or write cycles for read or write operations.
csx should be driven to 0 in this mode.
When wrx is driven from 1 to 0 and 0 to 1, the operation is a write operation. When rdx is driven from 1 to 0
and 0 to 1, the operation is a read operation.
During write operation, dcx indicates whether the operation is for data or command. When dcx is 1, the
operation is for data. When dcx is 0, the operation is for command. During the read operation, the dcx should
be 1.
During the write operation, data are sampled at the rising edge of wrx. During read operation, data[23:0] are
provided at the falling edge of rdx and the application processor should use the rising edge of rdx to sample.
Below is a diagram for illustration.
Any write to the address ranges from 0x00 to 0xAF will be sent out as MIPI command packet. The type of
packet, whether it is short or long packet, DCS or generic packet is determined by the SSD2829T local registers.
Hence the user should program the local registers prior to any transmission at the MIPI link.
If the host wants to send any addresses in the range of 0xB1 to 0xFF to external MIPI receiver, it can do so
using packet drop command in the 0xBF register.
In the first write cycle, only 8-Bit data are written into the SSD2829T, as the command can only be 8-Bit. No
matter whether the interface is 8-bit, 16-bit or 24-bit, lower 8-bits are used. Please refer to the table below.
Table 15-9: MCU Interface Data Pin Mapping for Command Cycle
Table 15-10: MCU Interface Data Pin Mapping for Parameter Cycles
The local registers for SSD2829T resided in the range from 0xB1 to 0xFF. There are 2 types of local registers,
legacy registers and extended registers.
To expand certain field in the legacy registers, the data bits in that address is extended to 32-bit, or 4-bytes
width from 2-bytes.
The extended registers can be accessed by indirect addressing through the address location 0xE0. The content
of 0xE0 defines the 16-bits addresses and 32-bits data for the extended registers.
To support different bpp settings, the following data pins are used. For all cases, Red component should be at
the upper bits and Blue component should be at the lower bits. The type of video packets supported for each
RGB interface is shown below.
Data Bus RGB format
[15:0] 16-bits per pixel for Pixel 1
[45:30] 16-bits per pixel for Pixel 2
[17:0] 18 bits per pixel for Pixel 1
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 SSD2829T, or to send command
across the link to the MIPI receiver.
For this mode, the user must set if_sel[1:0] to “00” to select the interface as a combination of RGB and SPI
interface. The video data come from the RGB interface and the configuration is done through the SPI interface.
The possible video paths (and non-video command paths) supported in this mode are shown below. The SPI
interface can be used to program local registers or transmit command packets during video blanking to MIPI
output.
SSD2829T
SSD2829T
MIPI DPHY TX 1
HSA
Hsync
DEN
HBP HACT HFP
Pclk
MIPI_Data[23:0]
VSA
Vsync
Figure 15-13: 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-14: 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.
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 SSD2829T has the bus authority or not. It can be used after SSD2829T makes a
BTA. If the MIPI slave has returned the bus authority back to SSD2829T, the interrupt will be set to indicate
so. Please note that, on power up, the bus authority is already on the SSD2829T. Hence, the SSD2829T will
show that it has the bus authority.
ARR
To indicate whether the SSD2829T 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 SSD2829T.
LPTO
To indicate that there is LP RX time out.
HSTO
To indicate that there is HS TX time out.
The above two interrupts are provided to the user for error handling.
PO
To indicate whether the SSD2829T is ready to accept any data from the user. The SSD2829T has several
internal buffers to hold the data written by the user. When the user writes after than the serial link speed,
those buffers will be full. If the user still writes data to SSD2829T, those data will be lost. The length of the
payload of the next packet that the user is going to write is determined by TDC, PST, and DCS fields. The
SSD2829T will use these fields to decide whether the user can write the next packet or not. Hence, after
programming the above mentioned fields, the user needs to check the interrupt status before writing.
int
Time
There are 2 types of buffers inside the SSD2829T, 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’. However, since there is no flow control for the RGB interface video packets, the status is only
valid for MCU interface.
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
To indicate that the Command buffer is empty.
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
SSD2829T. 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.
The address range for the SSD2829T local register is from 0xB1 to 0xFF. The user can access the registers in
this range to configure and control the SSD2829T. For Generic packet that starts from 0xB1 to 0xFF, it can be
written through the Packet Drop register. When the user writes data to it, the data will be sent over the serial
link to the MIPI slave. The data packet sent will either be DCS or generic packet.
SSD2829T
Local registers
MCU-0
MIPI DPHY TX 0
SSD2829T
MIPI DPHY TX 1
Local registers
The SSD2829T 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 SSD2829T 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 0xB1 to 0xFF, the user needs to write the command/header
and the payload to the Packet Data Drop register. If the size field is no more than 2 for Generic packet and 1
for DCS packet, the SSD2829T will send out DCS or Generic Short Write Packet with the correct type.
Otherwise, DCS or Generic Long Write Packet will be sent out.
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 a few packets where the payload of each packet is determined by the Partition register. The
first byte is the DCS command and the following partition 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.
After performing a write operation, the user can optionally make a BTA to let the MIPI slave report its status.
The SSD2829T will automatically make a BTA after each write operation.
The SSD2829T 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 SSD2829T 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 SSD2829T 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.
SSD2829T will always automatically send out Set Maximum Return Size Packet before the 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 0xB1 to
0xFF.
Similar to the write operation, the Total Data Count Register field is used to determine the payload size of the
outgoing packet. For DCS Read Packet, the payload is just the DCS command. There is no parameter
associated. For Generic Read Packet, the SSD2829T will send out the correct packet type according to the
Total Data Count value.
After sending out the read packet, the SSD2829T will automatically perform a BTA to wait for the Read
Response Packet from the MIPI slave. The return data will be stored in a data register. No matter what read
packet is sent out, there is only one packet returning data. Therefore, no matter whether the read is DCS read
or Generic read, no matter what command is used in DCS read, the return data is always stored in the same
data register. The user can read the data out when the read valid status bit is set to 1. After seeing read valid
status bit 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. After all the return
data are read out, the read valid status bit will be set to 0 by the SSD2829T.
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 SSD2829T.
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. Thus, 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 SSD2829T or not. Only when the bus turnaround is 1, there might be return data. If
there is no return data, the user should follow Acknowledgement Operation to handle the acknowledgement.
The MIPI TX output of SSD2829T 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 SSD2829T, user is recommended to switch off Video-to-command mode periodically
(e.g. after a 2-3 frames of conversion)
The state machine controls the sending and receiving of the data packet over the serial link. It is triggered by
an event from the application processor or the received data. Once a complete packet is written into the
SSD2829T buffer, it will send it out through the serial link. The user can write 1 to bit COP (cancel-operation)
at any time to cancel all the current operations.
When the SSD2829T is in high speed mode, the serial link is mainly used to send display data. If there is no
data to send, it will send null packet to maintain the serial link timing. If the application processor does not
have display data to send in a long period, it can turn the serial link into low power mode by setting the register
bit HS to 0.
When the SSD2829T is in low power mode, the serial link is mainly used to send command and configuration
data. If there are no data to be sent, the SSD2829T will be idle in LP TX stop mode.
The user can also enter sleep mode by writing 1 to SLP bit. Once the SLP bit is set to 1, the SSD2829T will
automatically enter LP mode. If the HS bit is 1, the SSD2829T will clear the HS bit to 0 and switch from HS
to LP mode. Afterwards, the SSD2829T will issue ULPS trigger message to the MIPI slave to enter Ultra Low
Power State. During this state, the clock to SSD2829T can be switched off such that the SSD2829T only
consumes leakage current. This will save the overall system power consumption. When exiting from the ULPS,
the user can write 0 to SLP bit. However, the user should be aware that the time to exit from ULPS is relatively
long. Hence, the user cannot perform any data transmission before the system exits from ULPS.64
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 entering 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 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.
Pin Connection
XTAL_OUT Open
Solution 2
The SSD2829T can perform a BTA to give the bus authority to the MIPI slave and let it report its status. The
BTA can be enabled by setting FBW bit to 1 and performing a write operation, or just performing a read
operation. After the MIPI slave passes the bus authority back, the SDD2829T will set bit BTAR to 1.
If there is no error on the slave side, the MIPI slave will return ACK trigger message, if the packet before
BTA is a write packet. The MIPI slave will return Read Response Packet, if the packet before BTA is a read
packet. In this case, after receiving the response from the MIPI slave, SSD2829T will set bit ARR and ATR
bits to 1. ARR indicates that response has been received from MIPI slave. ATR indicates that the MIPI
slave has reported no error with ACK trigger message. Consequently, the register ARSR will be cleared to 0.
If there is error on the slave side, the MIPI slave will return Acknowledge and Error Report packet, if the
packet before BTA is a write packet. The MIPI slave will return Read Response Packet (depending on the
error type) and Acknowledge and Error Report Packet, if the packet before BTA is a read packet. In this case,
after receiving the response from the MIPI slave, SSD2829T will set bit ARR bit to 1 and ATR bits to 0.
ARR indicates that response has been received from MIPI slave. ATR indicates that the MIPI slave has sent
Acknowledge and Error Report Packet instead of ACK trigger message. Therefore, the MIPI slave has
reported error. The error reported by the MIPI slave will be stored in register ARSR. The user can read this
register to see what error the MIPI slave has encountered.
For the detailed description of each error bit, please refer to MIPI DSI specification. Below are the flow
charts of handling the MIPI slave acknowledgement. They are just for reference.
N
BTAR == 1?
Y
N Error!
ARR == 1?
No Acknowledgement
Y
N Handle Slave Error
ATR == 1?
Report
Y
N
ARR == 1? Error!
No Acknowledgement
Y N
Slave has no error. Y Handle Slave Error
Proceed ATR == 1?
Report
N Y
RDR == 1? Correctable?
Y N
Y
RDR == 1?
15.13.1Using IO Pins
SSD2829T takes 1 TE_in pin, reshape them and output them to 1 TE_out pin. The programmable parameters
are the pulse width, polarity, and delay.
TE_out 0 TE_in 0
Pulse
Modifier
SSD2829T
Application Display Driver
Processor
The TE operation is to perform a BTA following the previous BTA without transmitting anything in between.
The bus is handed to the MIPI slave for providing TE information. After getting the TE event from display
driver, the MIPI slave will pass the bus authority back to the SSD2829T by using BTA trigger message.
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 SSD2829T to send out the last command in
a write packet. Since FBW is 1, the SSD2829T 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 SSD2829T 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 SSD2829T 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
SSD2829T 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 SSD2829T.
SSD2829T supports dual MIPI TX port. Hence there would be 2 TE outputs accordingly.
Two timers have been defined in SSD2829T 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 SSD2829T 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.
2 vb_repeat_cnt_l
For Mode 0x5 - # of lines for each
color step.
0 – 1 line.
1 – 1 line.
2 – 2 lines.
r1,g1,b1 = (0,0,0) r1,g1,b1 = (0,0,0) …
r2,g2,b2 = (1,1,1) r2,g2,b2 = (63,0,0)
3 vb_r1
repeat_cnt = 1 Start color (common for mode 0x4,
4 vb_g1
0x5)
MODE 0x4 MODE 0x5 5 vb_b1
6 vb_r2
Color increment value for each step
7 vb_g2
(common for mode 0x4, 0x5)
8 vb_g2
9 vb_x_start_h
Not used
10 vb_x_start_l
11 vb_x_end_h
Not used
12 vb_x_end_l
13 vb_y_start_h
Not used
14 vb_y_start_l
15 vb_y_end_h
Not used
16 vb_y_end_l
SSD2829T supports pixel peek, which is allows user to peek at the pixel value on a programmable pixel location
in the video frame. The pixel location can be configured to be marked out on the screen (through SSD2829T
MIPI TX output) through a cursor (example shown below).
Note:
Pixel peek can only be supported for the following modes:
Each of the dual MIPI TX can be configured to perform horizontal flip independently of each other. For example:
The product(s) listed in this datasheet comply with Directive 2011/65/EU of the European Parliament and of the council of 8 June 2011
on the restriction of the use of certain hazardous substances in electrical and electronic equipment 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