Sony IMX390 Linux driver
|
Problems running the pipelines shown on this page? Please see our GStreamer Debugging guide for help. |
Disclaimer
The IMX390 is a sensor for automotive. RidgeRun can help you extending the driver as needed but the customer needs to be sure that they qualify as an automotive client for Sony in order to get access to the sensor documentation and provide it to RidgeRun. Otherwise, RidgeRun would be blocked on providing support.
Sony IMX390 features
The Sony IMX390 is a CMOS image sensor with the following features:
- FPD-Link™ III camera with DS90UB953A Serializer
- 192 degree and 56 degree lens options
- Resolution: 1920 x 1080 @ 60fps
- Formats: 24/20/12b RAW Combined HDR
- Ultra-lightweight (<10 g excluding lens)
- Excellent thermal management
- Perfect camera axis alignment
- Designed for harsh environmental conditions
- Supports leading vision and sensor processors
- Supports NVIDIA Jetson TX1/TX2 and AGX Xavier
Enabling the driver
Follow these instructions to build and install the kernel image and device tree.
1. Install dependencies
2. Set the environment variables for the sources L4T 31-1-0
3. Install the toolchain
4. Download the kernel sources
5. Apply driver patches
Before start building the kernel and dtb sources, apply the patch with IMX390 camera sources:
Copy the patches tarball into sources directory, decompress the tarball and apply the patch with the commands:
XAVIER_SOURCES=$(pwd) mv 4.2_d3_ds90ub960_imx390.tar.gz $XAVIER_SOURCES/sources cd $XAVIER_SOURCES/sources tar -xvf 4.2_d3_ds90ub960_imx390.tar.gz quilt push
6. Compile kernel and dtb
Follow the steps:
cd $XAVIER_SOURCES/sources CROSS_COMPILE=${HOME}/toolchain_bin_${VERSION}/${TOOLCHAIN_DIR}/bin/$CC_PREFIX KERNEL_OUT=$XAVIER_SOURCES/images/build KERNEL_MODULES_OUT=$XAVIER_SOURCES/images/modules cd $XAVIER_SOURCES/public_sources make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT tegra_defconfig make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT menuconfig make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} -j6 Image make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} -j6 dtbs make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT CROSS_COMPILE=${CROSS_COMPILE} -j6 modules make -C kernel/kernel-4.9/ ARCH=arm64 O=$KERNEL_OUT modules_install INSTALL_MOD_PATH=$KERNEL_MODULES_OUT
7. Flash Xavier
This guide assumes that the user already has JetPack 4.2 installed. This link contains details about how to install JetPack 4.2: https://docs.nvidia.com/sdk-manager/download-run-sdkm/index.html
JETPACK_4_2 contains the directory where JetPack 4.2 was installed. For example.
export JETPACK_4_2=$HOME/JetPack-L4T-4.2
Make sure the Xavier is in recovery mode
cd ${JETPACK_4_2}/JetPack_4.2_Linux_P2888/Linux_for_Tegra # Copy kernel generated cp $XAVIER_SOURCES/images/build/arch/arm64/boot/Image kernel/ # Copy device tree generated cp $XAVIER_SOURCES/images/build/arch/arm64/boot/dts/tegra194-p2888-0001-p2822-0000.dtb kernel/dtb/ # Copy new modules sudo cp -a $XAVIER_SOURCES/images/modules/lib rootfs/ # Flash memory sudo ./flash.sh jetson-xavier mmcblk0p1
Using the driver
Capture at 1936x1100p@60fps
gst-launch-1.0 nvarguscamerasrc sensor-id=0 maxperf=true ! nvvidconv ! queue ! xvimagesink sync=false async=true
For direct inquiries, please refer to the contact information available on our Contact page. Alternatively, you may complete and submit the form provided at the same link. We will respond to your request at our earliest opportunity.
Links to RidgeRun Resources and RidgeRun Artificial Intelligence Solutions can be found in the footer below.