MIPI DSI Display driver development for NVIDIA Tegra TX2

As a well-known product engineering company, Embien has been working with various Original Equipment Manufacturers (OEMs) in supporting new drivers and features for their offerings. These OEMs could be using different chipsets and peripherals in their designs based on application-specific requirements. In one such instance, Embien worked with a medical OEM in supporting and developing a MIPI DSI Display driver for their NVIDIA Tegra TX2 based design. We also enabled Capacitive Touch Support for Jetson Kit over the I2C interface. This case study describes the activity in detail and how Embien, with its expertise in Linux and NVIDIA technologies could come up quickly with the solution.

MIPI DSI Display

For any modern equipment, the User Interface plays a significant part in its success as it is the means through which the end-user works with it. It calls for a display on which attractive graphics can be run. There are a variety of display technologies available in the market with interfaces such as RGB, LVDS, HDMI, MIPI DSI, SPI, and even I2C. While RGB is the simplest, it is also a parallel interface needing more pin-outs from the processor and more importantly the distance between display and processor is limited. To overcome this, serial interfaces such as LVDS are used. Technically LVDS offers serialization of parallel interfaces. For applications needing more throughput (higher resolution and frame rate), MIPI DSI is becoming the interface of choice. MIPI (Mobile Industry Processor Interface) is an open alliance of technology companies, primarily silicon vendors, that defines various interfaces for mobile ecosystems such as camera, display, debug ports, etc. Of these, the Display Serial Interface (DSI) specification, proposes a standard interface for the displays. It is a differential scheme where the clock and data (called lanes) are driven differentially.

Needing a dedicated physical layer called the D-PHY, the interface can support large throughputs up to 4.5Gbps per lane. For higher bandwidth requirements, the implementation can simply add more lanes increasing the throughput by the same factor.

MIPI is also a complex standard that involves rigid framing and critical timing requirements. The display controller must generate various packets such as Short Packets (SP) for synchronization purposes and Long Packet (LP) that carries data. http://mipiworld.blogspot.com/2013/

Data transmission

The above picture provides an overview of data transmission between the display controller and the display.

MIPI DSI Display driver for NVIDIA Tegra TX2

The OEM, we worked with required a MIPI DSI display to be interfaced with the NVIDIA Tegra TX2 platform. As a PoC, it was needed to showcase the development with the “Jetson TX1/TX2 Developer Kit Carrier board”. Embien quickly designed and developed a simple display interface board that connects itself to the 2x60 pin display expansion connector “J23” of the carrier board.

Necessary pinouts are carried away from the connector and provided to the off-the-shelf TFT display “WF50DTYA3MNG10” supporting the MIPI DSI interface.

Necessary power for the touch panel and display controller were consumed from the carrier board whereas the backlight LED was driven using a suitable LED driver chip.

MIPI DSI

Once the board is connected, all the pins are driven from the Tegra TX2. Embien adopted and existing MIPI DSI Display driver from the L4T 28.1 base to suit the requirements of the “WF50DTYA3MNG10” display. As per the modular structure, most of the configurations are kept in the device tree structure (DTS) files for quick modification. The power regulators are managed by the driver following the higher-level calls coming from the window manager to power on/off the display. The backlight interface is also managed by a PWM-backlight driver so that the brightness can be controlled directly by the user. MIPI specific configurations as well as display specific register writes were done over Nvidia, dsi-init-cmd option. Display specific packet sequence was defined using Nvidia,dsi-pkt-seq and suspend operations via Nvidia, dsi-suspend-cmd.

With these changes, Embien could successfully bring up the MIPI DSI Display driver support on top of the Tegra TX2 platform quickly.

Capacitive Touch Support for Jetson Kit

The display also hosts an in-built capacitive touch screen managed by a controller called “GT928”. Available as an I2C device, this device is connected to the NVIDIA Tegra TX2 I2C interfaces. Embien designed the hardware to house a separate interface connector to connect this touch screen to. The Interrupt signal from the touch screen was also routed to the Tegra.

The Linux driver from the mainline kernel was then ported to the Tegra kernel with suitable bindings provided in the DTS. The device presented to the user via the dev/event/input0 interface is opened by the application and worked seamlessly with the Ubuntu Desktop.

Thus we could help our customers use the MIPI DSI Display driver on their NVIDIA Tegra TX2 along with capacitive touch support in a short period. Having experience in enabling embedded devices and drivers for almost all generations of Tegra platforms including Tegra TK1, TX1, TX2, and Xavier, Embien is the best choice to add teeth to your NVIDIA Tegra based designs. Feel free to get in touch with us to add a reliable and proven partner to your product engineering ecosystem.