MIPI DSI Display driver development for NVIDIA Tegra TX2

CASE STUDY SNAPSHOT

Customer : An established medical OEM based out of South America
Size : 200-1000
Project vertical : Medical Devices
Challenge : Support MIPI DSI Display driver development for NVIDIA Tegra TX2 platform
Solution : Worked extensively to port the driver and enabled Capacitive Touch Support for Jetson
Services Availed :  Embedded Device Driver Development, OS Porting and BSP Development, Embedded Hardware Design
Tools and Technologies :
  • Frameworks: Linux4Tegra (L4T)
  • MPU: Nvidia Tegra TX2
  • Programming Language: C
  • OS: Linux Kernel

INTRODUCTION

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.

CHALLENGE

Being based out of different geography, the customer time zone was about 12 hours different from ours. Further as it was one of the earlier revisions with limited availability, the hardware was not in the state to be shipped. Hence our team had to manage their work hours to overlap maximum with the customer time zone and had to port the DSI driver.

SOLUTION

Our team first reviewed the schematics and understood the changes to be made. Then working on extended hours our team collaborated with the customer and started working on the MIPI DSI Display driver development for the NVIDIA Tegra TX2 platform.

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 a 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 development 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 were 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 were driven from the Tegra TX2. Embien adopted the 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 were kept in the device tree structure (DTS) files for quick modification. The power regulators were managed by the driver following the higher-level calls coming from the window manager to power on/off the display. The backlight interface was 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 complete MIPI DSI Display driver development for the NVIDIA Tegra TX2 platform r support on top of the Tegra TX2 platform quickly.

Capacitive Touch Support for Jetson Kit

The display also hosted an in-built capacitive touch screen managed by a controller called “GT928”. Available as an I2C device, this device was connected to the NVIDIA Tegra TX2 I2C interfaces. 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 was opened by the application and worked seamlessly with the Ubuntu Desktop, successfully demonstrating the capacitive touch support for Jetson platform.

BENEFITS

With in-depth experience and expertise in Nvidia and Linux developments, some of the benefits our team could offer were

  • Ported MIPI DSI Display driver on their NVIDIA Tegra TX2 platform
  • Supported capacitive touch support in a short period.
  • Dedicated support outside normal working hours to support different time zone.
  • Effective remote development and debugging mechanisms.
  • Industry standard design and coding methodologies.

CONCLUSION

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.

Want to add customer drivers for your Nvidia/Linux platforms?
Speak to the team that did the MIPI DSI Display driver development for the NVIDIA Tegra TX2 platform.