I have a MIPI driver fully developed in the L4T 32.3.1 but I want to use the VPI 1.0 libraries in the application so I decided to upgrade to L4T 32.5.1 which is the latest version. To do so I just flashed a TX2-4GB jetson with the nvidia SDK manager without my driver, then I have this python script to test the i2c communications with the FPGA connected via MIPI.
When the script runs in the 32.3.1 version I have the result ‘4’ which is the right value to read from the 0x00 address, but when I execute the script in the 32.5.1 version I have ‘-121’, this value appears always, and it is what i2c returns when nothing is attached to the port.
I have also tried with the L4T 32.5 and the script works fine.
All the test that I have done are without the driver code in the kernel, the L4T versions are the ones that SDK Manager downloads and installs.
Is there any kind of configuration I can change in the 32.5.1 version to make it work fine?
Hi ShaneCCC, yes, as you said 32.5 is working but 32.5.1 is not working.
I have the TX2 developer kit, and do the test with the 32.5 in the J21 pin nº3 and with an oscilloscope I can see the request, and when I do the same but for the camera I2C clock signal I can see in the oscilloscope the clock of the request.
Then the same test with the 32.5.1, in the J21 pin nº3 I can see the request signal, but in the camera I2C clock signal there is no activity with the oscilloscope.
To test the signal in the camera connector, I am using this piece connecting the oscilloscope to the pin 2 in the J4 connector.
Connect the oscilloscope to PIN 27 in J21 TX2 development kit.
run the script python3 i2c_gpio.py -p 0
press key ‘r’
in the oscilloscope I see activity, the read request part of the communications
To test the I2C bus 1
Connect the oscilloscope to PIN 3 in J21 TX2 development kit.
run the script python3 i2c_gpio.py -p 1
press key ‘r’
in the oscilloscope I see activity, the read request part of the communications
As you can see bus 1 has 2.2 V and not 3.3 V I dont know why this happens, but even the voltage is not 3.3 you can see the request signal
To test the I2C bus 2
The bus 2 is the one that sends the data over the MIPI port.
Connect this piece to the camera port of the TX2 developer kit. As you can see in page 17, the J4 connector PIN4 has I2C data.
using the L4T 32.5.1
run the script python3 i2c_gpio.py -p 2
press key ‘r’
in the oscilloscope does nothing, there is no I2C signal in the I2C bus 2.
using the L4T 32.5
run the script python3 i2c_gpio.py -p 2
press key ‘r’
I see activity in the oscilloscope.
@ShaneCCC as you can see in the images, the 32.5 version works, beacuse there is a 3e address detected, but in the 32.5.1 there is nothing, so its not working, aslo the status of the i2c@3180000 is “okay” so if I understand it, it means that you can send data over the bus with the python script