RPi Camera not working through the CSI port of the J90

Hello,

I’m trying to connect the RPi Camera to the Jetson TX2 through the CSI-CD port of the J90 Motherboard. According to the technical reference (https://auvidea.com/download/manual/J90/J90_technical_reference_1.2.pdf, Page 9), the pin GPIO3_CAM0_RST must be set to high to enable the camera module, and a low pulse performs a power on reset.

We can see in the Jetson TX2 Generic Customer Pinmux Template that GPIO2/CAM0_RST# correspond to GPIO3_PR.05 = GPIO 161 in gpio-names.h. To access this GPIO, we need to write 461 to /sys/class/gpio/export (320 + 161)

To to toggle the GPIO 161 low briefly i launched these command :

cd /sys/class/gpio/
echo 461 > export
echo out > direction
echo 1 > value
echo 0 > value
echo 1 > value

Normally, at this point, i2cdetect -y -r 2 must detect a device at address 0f and gstreamer should work. But nothing happen. GStreamer fail to open the camera, and i2cdetect -y -r 2 show nothing at the address 0f. (I also tried with GPIO3/CAM1_RST#)

Is someone have an idea of the problem ?

Hi thomas
It’s better to probe to make sure the GPIO status is correct first.

Response from Auvidea :

Hi Belos,

sorry for the late response.

The TX2 does not support the RPI Camera. There is no driver ready at the moment. I can’t say when the driver will be ready for that.

Kind regards,

Max

Having bought this very board explicitly because they claim support for TX2 and RPi cameras, I’m quite disappointed in the software support so far.

I wonder if the sources for the firmware and camera drivers are available somewhere, so that we can work on making it work ourselves?

For the moment, I asked Auvidea : “Which CSI camera works with Auvidea J90 and Jetson TX2?”. Unfortunately they take a long time to respond. :(

I tried another low-cost camera for raspberry, which this time is detected via I2C (Kuman SC09 with OV5647 sensor) by putting GPIO0/CAM0_PWR# to high. But the camera driver is missing into the kernel.

By modifying a little bit the patch 0001-add-imx219-subdevice-driver.patch for the TX1, it can be applied to the TX2.

But it lacks a dts file for the TX2.

Today, Auvidea has released the first firmware for the TX2, wich fix the USB problems.

With this firmware the RPi camera is detected via I2C, and the GPIO 461 is automatically put to high.
But no device appears in /dev and gstreamer still not work.

I have hooked IMX-219 cameras to both ports CD and EF, and I don’t see the devices being recognized on the bus. No GPIO is exported in /sys/class/gpio by default. (The cameras don’t have LEDs, I don’t think? So I can’t tell if they’re actually on?)

I just get a bunch of this in the dmesg/logs:

[  108.675459] tegra-i2c 3190000.i2c: --- register dump for debugging ----
[  108.682144] tegra-i2c 3190000.i2c: I2C_CNFG - 0x22c00
[  108.687339] tegra-i2c 3190000.i2c: I2C_PACKET_TRANSFER_STATUS - 0x10001
[  108.694017] tegra-i2c 3190000.i2c: I2C_FIFO_CONTROL - 0xe0
[  108.699577] tegra-i2c 3190000.i2c: I2C_FIFO_STATUS - 0x800070
[  108.705443] tegra-i2c 3190000.i2c: I2C_INT_MASK - 0xac
[  108.710684] tegra-i2c 3190000.i2c: I2C_INT_STATUS - 0x0
[  108.715979] tegra-i2c 3190000.i2c: msg->len - 1
[  108.720608] tegra-i2c 3190000.i2c: is_msg_write - 1
[  108.725534] tegra-i2c 3190000.i2c: buf_remaining - 0
[  108.730551] tegra-i2c 3190000.i2c: i2c transfer timed out, addr 0x0050, data 0x00
[  109.739470] tegra-i2c 3190000.i2c: --- register dump for debugging ----

Auvidea released a 1.4 version firmware (kernel and patches) for the support on Jetson TX2 (JetPack 3.1 with L4T 28.1) of J90/J100/J106/J120/J130/J140

https://auvidea.com/download/firmware/TX2/v1.4/ChangesTX2J140_Kernel_r28.1_v1.4.tar.gz

Cheers

Hi,

Does it mean that firmware 1.4 addressed compatibility issue with TX2 on J90 board with RPi cameras?

-albertr

Hi,

Does it mean that firmware 1.4 addressed compatibility issue with TX2 on J90 board with RPi cameras?

-albertr

Hi guys! has anybody successfully flashed Jetson TX2 with firmware 1.4 from Auvidea?
Does it works with RPi cams? USB3.0 works?
Would somebody write an instruction step by step, how to do it?:)
Thanks!

BZ

bzasadny, I simply followed the readme.txt listed in the download.

I’m using a TX2, Auvidea J106 board, and an RPi V2.1 camera.

If I:

  • plug the camera into port E of the Auvidea J106
  • turn-on GPIO 461
  • then do an i2cdetect on bus #7

then I can see a device at address 0x10 (the IMX219 sensor) and a device at address 0x64 (the crypto chip).

(Surely other ports work, but that’s the only one I’ve tried so far.)

I guess the i2c busses got renamed or something since TX1? … and I’m still trying to keep up with how all the GPIOs have moved since TX1…

Hello. spin.interrupt
I also use TX2, J106 and RPi v2.1 camera.
When I connect the camera to the port A/C/E, I can detect the address 0x10 and 0x64 (what’s the meaning of the address 0x64? the i2c address of the port ?).
But when I use port B/C/F, I can’t get the acknowledge from the address.
Do you have this problem and any clues to solve it ?

Hello,

Because of your message, I decided to manually re-confirm this (for my own curiosity, mostly).

  • I have a TX2, plugged into a J106 board. I am using a single RPi 2.1 camera.
  • I have to manually set the GPIO high to turn the camera on.
  • I use "i2cdetect -y -r " to detect devices.

On Port A, I see
i2c bus#1, address 0x10

On Port B, I see
i2c bus#1, address 0x12

On Port C, I see
i2c bus#2, address 0x10

On Port D, I see
i2c bus#2, address 0x12

On Port E, I see
i2c bus#7, address 0x10

On Port F, I see
i2c bus#7, address 0x12

… which is, I believe, the expected behavior. (A-and-B, and C-and-D, and E-and-F are sharing busses, so they shift the address by 1 or 2, depending on your board.)

AFAIK, the camera is at 0x10 (shifted to 0x12 on every other port). There’s some kind of memory chip or encryption chip at 0x64. I remember seeing the 0x64 previously, but I’m not seeing it today… (I’ve made a lot of different device trees, and a few different kernels in the past few weeks… so who knows what got changed…)

This guy did a reverse-engineer of the RPi2.1 camera board:

https://hackaday.io/project/19480-raspberry-pi-camera-v21-reversed

… he mentions the encryption chip at address 0x64. (I’m hoping that we can simply ignore that chip when we use this camera on the Jetson…)

Hello spin.interrupt
So sorry for reply till now :(
I repeat the steps in readme.txt several times ,and get the same problem. I tried both the version 1.4 and 1.5. (versin 1.5 date is Jun 2018)
I describe the details in my new topic https://devtalk.nvidia.com/default/topic/1028854/jetson-tx2/can-t-detect-the-camera-i2c-address-using-j106-board-on-tx2/
Could you see video* in /dev ?
/dev/video0 – port A
/dev/video1 – port B
. .
. .
. .
/dev/video5 – prot F
And could you get the camera capture using the command

export CAPS="video/x-raw(memory:NVMM), width=(int)1640, height=(int)1232, format=(string)I420, framerate=(fraction)30/1"
DISPLAY=:0 gst-launch-1.0 nvcamerasrc sensor-id=2 fpsRange="30 30" ! $CAPS ! autovideosink

the sensor-id matches the port number
0 – port A
1 – port B
. .
. .
. .
5 – port F
Maybe the command is not right ,because I failed to capture on port A/C/E…
Finally .what’s the FDT in your /boot/extlinux/extlinux.conf and the result of the command

cat /proc/device-tree/nvidia,dtsfilename

Thank you sincerely.

Hello BradleyY,

I’m sorry to say that I haven’t gotten the video working from the RPi camera yet. I can see the chips on the i2c busses, but that’s all. (One of our goals here is to build our own camera systems from scratch, including a 6-camera RPi system, but I’ve also been busy with other things… I’d love to have a solution for this…)

Hello spin.interrupt

My project is similar to yours. And if you have a solution later ,could you let me know that .Also if I could get any progress, I’ll post it in my topic https://devtalk.nvidia.com/default/topic/1028854/jetson-tx2/can-t-detect-the-camera-i2c-address-using-j106-board-on-tx2/
Thanks you very much.

Hello spin.interrupt,

I asked AUVIDEA my question.and got :
AUVIDEA:the TX2 doesn’t support the camera for CSI-2 at the moment. We cant predict when it will be available.

Hello!
I’m following this blog http://cospandesign.github.io/linux,tx2,kernel,driver/2017/12/15/tx2-rpi-camera-port.html. I am able to see 64 after turning on gpio 461 manually. but i don’t see any /dev/video* entries. Can you help me regarding this and let me know how you got rpi 2.1 cameras working on J106 with TX2?

A list of steps i did is here as follows:
https://github.com/CospanDesign/cospandesign.github.io/issues/2