Hi everyone,
I’m trying to read CSI registers on the TX1 using devmem2 tool.
My setup consists of a TX1 mounted on the CarrierBoard from Leopard Imaging.
It’s running R28.1 and I’m able to view a camera stream using argus_camera.
For development purposes, I want to read CSI status registers. Therefore I’ve checked the TX1 Reference Manual for CSI register address and found:
CSI 5408:0000
Now to read e.g. the CSI Input Stream A Control register, which is decleared with
Offset: 0x20e | Byte Offset: 0x838
resulting in the address 0x54080A46, I’ve executed
sudo devmem2 0x54080A46
and received
/dev/mem opened.
Memory mapped at address 0x7f8a9a6000.
Bus error
Same as for other registers.
If tried this with and without running camera stream in background.
Q: Any idea how to read the value at the specific address in the CSI?
Thanks for your Help!
Try the 0x54080a44 of 32 bit data. You can only access the end address for the 4 times like 0, 4, 8, c
Thanks for your answer.
One further question;
When reading the CSI Control register with
Offset: 0x295
Byte Offset: 0xa54
Which results in 0x54080CE9 and with respect to address alignment (thanks to your hint) in 0x54080CE8.
I expect that devmem2 would return a 32 bit value. But instead I receive:
sudo devmem2 0x54080CE8
Memory mapped at address 0x7f83dde000.
Value at address 0x54080CE8 (0x7f83ddece8): 0x0
Q1: Can you give me a hint what I’m missing here?
Q2: Is there a more convenient way to get a detailled log/report of the CSI status?
Thanks
Hey ShaneCCC,
Sorry for late response,
the folder you’ve mentioned doesn’t contain anything but a makefile on my system. Btw it’s located in
/usr/src/linux-headers-4.4.38-tegra/drivers/media/platform/tegra/camera/vi/
Is it the wrong location?
Did you get the kernel source follow the l4t document?