The purpose of this page is to describe the Linux DRM KMS driver for Xilinx MIPI
Digital Serial Interface 2 Transmitter subsystem (MIPI DSI2 Tx SS) soft IP.
The Linux MIPI DSI2 Tx Subsystem driver (xlnx_dsi.c
) is part of the Xilinx DRM KMS framework, and provides the encoder and connector functionality.
IP / Driver Features
|IP Features||2017.1 - 2019.1||2019.2 and above|
|Support 1 to 4 Lanes||Yes||Yes|
|Input Pixels per clock 1 / 2 / 4|
DSI Data Types
RGB888, RGB565, RGB666 L, RGB666 P, Compressed
Supports all except Compressed (DRM framework limitation)
|Supports all except Compressed (DRM framework limitation)|
|Interrupt generation to indicate subsystem status information||No|
|DCS(Display Command Set) command mode||No||Yes|
Other supported features
The MIPI DSI-2 Tx Subsystem driver supports the following features -
- Enable/Disable EoTp Generation
- Send blanking packet/use LP mode for BLLP periods
- Blanking packet type for BLLP region
- Blanking Packet/Null Packet
- Video mode transmission sequence
- BLLP duration of VACT region packet
- payload size in bytes(WC). Applicable only Burst mode
- Write short packets with different data types to control the Panel. Refer Xilinx PG238.
- Reading the DSI panel parameters from EDID
- No interrupts are supported.
CONFIG_DRM_XLNX_DSI should be enabled. This depends on CONFIG_DRM_XLNX and CONFIG_DRM
Device tree binding
The dts node should be defined with correct hardware configuration. How to define the node is documented here, xlnx,dsi.txt
The IP has been tested for 1920x1200 RGB888 4 Lanes 2 pixels per clock along with Frame buffer Read and Video Mixer IP.
Xorg (X11) and Mali GPU
The MIPI DSI-2 Tx Subsystem can be used with Xorg and the Zynq UltraScale+ MPSoC Mali400 GPU.
Since Xorg works with AR24 DRM format (DRM_FORMAT_ARGB8888), please ensure that this is enabled/supported in Video Framebuffer Read / Video_Mixer IP connected.
A user should enable the following packages in the PetaLinux Configuration to enable and test the GPU (Xilinx Arm Mali-400 Driver) acceleration:
Steps to manually launch Xorg
Xorg clients look for the env variable to find corresponding server. Thus export before running clients from serial console.
Run OpenGL ES test applications.
Disable Xorg Timeouts:
The default settings for Xorg may cause the screen to go black after a 10 minute timeout. The user can disable these in their xorg.conf file using the following.
xset can be used to change some settings. The following can be used to change the power sate and force display on if a timeout occurs.
Power & Clock Management
There is no power down for the MIPI DSI IP. However the MIPI DSI IP clocks can be controlled using the Common Clock Framework.
ZCU102 Rev 1.0
- AR66769 - MIPI DSI TX Subsystem - Release Notes and Known Issues for the Vivado 2016.1 tool and later versions
- Added support to Generic long write command
- Added support to DCS command mode
- Added support for clock framework
- Updated the drm property creation logic
9d61db1 drm: xlnx: dsi: Fix the drm property creation
3792d72 drm: xlnx: dsi: Add support for clock framework
26a8a4d Merge tag 'v4.19' into master
- Disabling bridge when DSI is disabled
- Fix a kernel panic when "halt" is run
- Added xlnx bridge support
- Initial version based on new xlnx drm framework
- Driver now moved to different drivers/gpu/drm/xlnx/xlns_dsi.c
- Older driver drivers/gpu/drm/xilinx/xilinx_drm_dsi.c not supported.
- Fix the Horizontal Active calculation
- Other minor fixes
- 3a49cee drm: xilinx: dsi: Fixes the Hact calculation
- 00bf902 drm: xilinx: dsi: Fix for checkpatch
- 33ab072 drm: xilinx: dsi: Don't check unsigned with negative
- 434275c drm: xilinx: dsi: Add static and remove unused variable
- 9db27d0 drm: xilinx: dsi: Add const for constant callback functions
- 9c6f82c drm: xilinx: dsi: Change the documentation style
- Initial version of driver added
- 63b99c0 drm: xilinx: mipi: DRM/KMS driver for MIPI DSI2 Tx subsystem