This repository contains the device driver for the TIER IV Automotive HDR Camera C1, C2, and C3.
If you want to use the official driver, please refer to the Installation and Usage section and proceed with the installation.
If you want to modify the driver, please refer to the How to create a package from source section.
For the simple image parameter tuning tool(t4cam-ctrl), please refer to the documentation here t4cam-ctrl.
- Download the latest release of the driver from the releases page.
- Follow the installation instructions provided in the quickstart guide.
We provide a pre-build kernel module (.ko files) for these ECUs. Please download the pre-build binary from release page and follow the instructions.
You can download the deb package and build kernel module on the target ECU.
The device type (i.e., C1 or C2) assignment is fixed at every GMSL2 port. The following table shows the default assignment:
overlay command \ | GMSL2 port No. | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|---|---|
TIERIV(Tier4) ISX021 GMSL2 Camera Device Tree Overlay |
C1 | C1 | C1 | C1 | C1 | C1 | C1 | C1 | |
TIERIV(Tier4) IMX490 GMSL2 Camera Device Tree Overlay |
C2 | C2 | C2 | C2 | C2 | C2 | C2 | C2 | |
TIERIV(Tier4) IMX728 GMSL2 Camera Device Tree Overlay |
C3 | C3 | C3 | C3 | C3 | C3 | C3 | C3 | |
TIERIV(Tier4) ISX021 IMX490 GMSL2 Camera Device Tree Overlay |
C1 | C1 | C2 | C2 | C1 | C1 | C2 | C2 | |
TIERIV(Tier4) ISX021 IMX490 IMX728 GMSL2 Camera Device Tree Overlay |
C1 | C1 | C2 | C2 | C3 | C3 | C3 | C3 |
(e.g., If user executes $ sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 2="TIERIV ISX021 GMSL2 Camera Device Tree Overlay"
on the driver installation process, all ports are assigned for C1 cameras. Please see drivers/README.md for the detail of the overlay command.)
This assignment can be changed by the following steps:
-
Generate a
dts
file to describe user desired assignment$ cd drivers/tools/ # Specify device type assignment from port #1 to #8 one by one $ python3 make_overlay_dbt.py c1 c1 c1 c1 c2 c2 c2 c2
- Port #(2n-1) and #(2n), where n = [1, 2, 3, 4], must be the same assignment. If invalid assignments are specified, the script returns errors, otherwise a dts file will be created.
- By the above example, a file named
tier4-isx021-imx490-c1-c1-c2-c2-device-tree-overlay.dts
will be created.
-
Generate
dtbo
fromdts
$ dtc -O dtb -o ${OVERLAY_DTBO_FILE} -@ ${OVERLAY_DTS_FILE}
${OVERLAY_DTBO_FILE}
indicates the string that file name extension is replaced fromdts
todtbo
.- e.g.,
tier4-isx021-imx490-c1-c1-c2-c2-device-tree-overlay.dtbo
- e.g.,
${OVERLAY_DTS_FILE}
is the dts file generated at the above step.
-
Copy the result to appropriate directory and run configure
$ sudo cp ${OVERLAY_DTBO_FILE} /boot/ $ sudo fdtoverlay \ -o /boot/kernel_tegra194-rqx-58g-user-custom.dtb \ -i /boot/dtb/kernel_tegra194-rqx-58g.dtb \ /boot/${OVERLAY_DTBO_FILE}
-
Shutdown and reboot the system
$ sudo shutdown -h now
Then, reboot (turn on) the system manually.
$> sudo apt update
$> sudo apt install make build-essential debhelper debmake devscripts dkms
$> dpkg-buildpackage -b -rfakeroot -us -uc
You can confirm the package file with the following command.
$> ls ../*deb
We welcome contributions to the Automotive HDR Camera Device Driver. If you have a bug fix or new feature that you would like to contribute, please submit an issue or a pull request.