Toshiba TC358743 Linux driver for Jetson

From RidgeRun Developer Connection
Jump to: navigation, search

Nvidia-preferred-partner-badge-rgb-for-screen.png

Error something wrong.jpg Problems running the pipelines shown on this page?
Please see our GStreamer Debugging guide for help.

RR Contact Us.png


Toshiba TC358743 HDMI® Interface Bridge features

Reference: Toshiba TC358743 bridge chip

The Toshiba TC358743 is an HDMI 1.4 to MIPI CSI-2 1.01 bridge chip capable of handling video data up to 1080P at 60 fps.

Supported platforms

  • NVIDIA Jetson TX1
  • NVIDIA Jetson TX2
  • NVIDIA Jetson Nano
  • NVIDIA Jetson Xavier

Features included in this driver


TX1
Feature Details SDK Support
1280x720@30fps 2/4 Lanes, UYVY Jetpack 3.2
1280x720@60fps 2/4 Lanes, UYVY Jetpack 3.2
1920x1080@30fps 2/4 Lanes, UYVY Jetpack 3.2
TX2
Feature Details SDK Support
1280x720@30fps 2/4 Lanes, UYVY Jetpack 3.2
1280x720@60fps 2/4 Lanes, UYVY Jetpack 3.2
1920x1080@30fps 2/4 Lanes, UYVY Jetpack 3.2
Nano
Feature Details SDK Support
1280x720@30fps 2/4 Lanes, UYVY Jetpack 4.2 / Jetpack 4.3
1280x720@60fps 2/4 Lanes, UYVY Jetpack 4.2 / Jetpack 4.3
1920x1080@30fps 2/4 Lanes, UYVY Jetpack 4.2 / Jetpack 4.3
Xavier
Feature Details SDK Support
1280x720@30fps 2/4 Lanes, UYVY Jetpack 4.5
1280x720@60fps 2/4 Lanes, UYVY Jetpack 4.5
1920x1080@30fps 2/4 Lanes, UYVY Jetpack 4.5

Build instructions

Build kernel using Jetpack and tc358743 driver

Jetson TX1 TX2

Building kernel sources

Follow the instructions in Compiling Jetson TX1 TX2 source code (Build_Kernel) to build the kernel sources.

Enable driver

Once you are following there is a step make menuconfig it allows you to enable the tc358743 driver as built-in.

make O=$TEGRA_KERNEL_OUT menuconfig

Select the driver. The menu option is located:

-> Device Drivers
  -> Multimedia support (MEDIA_SUPPORT [=y])
    -> Encoders, decoders, sensors and other helper chips
       <*> Toshiba TC358743 decoder

Jetson Nano

Building kernel sources

Follow the instructions in NVIDIA_Jetson_Nano - Building the Kernel from Source to build the kernel sources for the Jetson Nano.

Enable driver

Once you are following the guide there is a step make menuconfig, which allows you to enable the tc358743 driver as built-in.

make ARCH=arm64 O=$KERNEL_OUT menuconfig

Select the driver. The menu option is located:

-> Device Drivers
  -> Multimedia support (MEDIA_SUPPORT [=y])
    -> NVIDIA overlay Encoders, decoders, sensors and other helper chips
       <*> Toshiba TC358743 decoder

Test your Kernel image using Jetpack root file system

Check the kernel version. At this moment you can test the image created in order to see the new kernel is working correctly. You have to see a new kernel version with the correct date of compilation:

Jetson TX1/TX2

uname -a
Linux tegra-ubuntu 4.4.38 #21 SMP PREEMPT Thu May 9 14:30:09 CST 2019 aarch64 aarch64 aarch64 GNU/Linux

J100 TX2

You can see that the driver is probed, execute the line: dmesg | grep "(Tegra I2C adapter)"

Expected output:

[2.683236] tc358743 1-000f: tc358743 found @ 0xf (Tegra I2C adapter)

video devices created:

ls /dev/video*
/dev/video0

Jetson Nano

uname -a 
Linux nvidia 4.9.140 #6 SMP PREEMPT Tue May 7 16:25:38 CST 2019 aarch64 aarch64 aarch64 GNU/Linux

Nano EVM kit

You can see that the driver is probed, execute the line: dmesg | grep "(Tegra I2C adapter)"

Expected output:

nvidia@nvidia:~$ dmesg | grep "(Tegra I2C adapter)"
[    4.226382] tc358743 6-000f: tc358743 found @ 0xf (Tegra I2C adapter)

video devices created:

ls /dev/video*
/dev/video0

Examples

GStreamer TX1 TX2 Nano Xavier

720p@30 - 720p@60

gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=5 ! 'video/x-raw,format=UYVY,width=1280,height=720' ! \
filesink location=test.yuv
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=UYVY,width=1280,height=720' ! \
nvvidconv ! 'video/x-raw(memory:NVMM),format=I420,width=1280,height=720' ! nvoverlaysink
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=UYVY,width=1280,height=720' ! \
nvvidconv ! omxh264enc ! mpegtsmux ! filesink location=test.ts

1080p@30

gst-launch-1.0 v4l2src device=/dev/video0 num-buffers=5 ! 'video/x-raw,format=UYVY,width=1920,height=1080' ! \
filesink location=test.yuv
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=UYVY,width=1920,height=1080' ! \
nvvidconv ! 'video/x-raw(memory:NVMM),format=I420,width=1920,height=1080' ! nvoverlaysink
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,format=UYVY,width=1920,height=1080' ! \
nvvidconv ! omxh264enc ! mpegtsmux ! filesink location=test.ts

See also

Toshiba TC358743 Linux driver for iMX6


RidgeRun Resources

Quick Start Client Engagement Process RidgeRun Blog Homepage
Technical and Sales Support RidgeRun Online Store RidgeRun Videos Contact Us

OOjs UI icon message-progressive.svg Contact Us

Visit our Main Website for the RidgeRun Products and Online Store. RidgeRun Engineering informations are available in RidgeRun Professional Services, RidgeRun Subscription Model and Client Engagement Process wiki pages. Please email to support@ridgerun.com for technical questions and contactus@ridgerun.com for other queries. Contact details for sponsoring the RidgeRun GStreamer projects are available in Sponsor Projects page. Ridgerun-logo.svg
RR Contact Us.png