Imx219 on CM5 board

Hello,
I’m using a CM5 connected on CM5 io board v2.2 and a 8Mpx radxa camera.
I’m using a rpicam fpc to connect the camera to the port 0 and activate the device tree overlay “Enable Radxa Camera 8M 219 on CSI0”.

I reboot and got following dmesg output (extract):

[ 9.279361] imx219 7-0010: driver version: 00.01.01
[ 9.303609] imx219 7-0010: Model ID 0x0219, Lot ID 0x3a2259, Chip ID 0x0516
[ 9.304147] rkcifhw fdce0000.rkcif: Adding to iommu group 14
[ 9.304424] rkcifhw fdce0000.rkcif: No reserved memory region assign to CIF
[ 9.304514] rkcif rkcif-mipi-lvds: Adding to iommu group 14
[ 9.304530] rkcif rkcif-mipi-lvds: rkcif driver version: v00.01.0a
[ 9.304589] rkcif rkcif-mipi-lvds: attach to cif hw node
[ 9.304592] rkcif rkcif-mipi-lvds: rkcif wait line 0
[ 9.304596] : terminal subdev does not exist
[ 9.304648] : terminal subdev does not exist
[ 9.304682] : terminal subdev does not exist
[ 9.304715] : terminal subdev does not exist
[ 9.304748] : get_remote_sensor: video pad[0] is null
[ 9.304786] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ 9.304838] : get_remote_sensor: video pad[0] is null
[ 9.304876] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ 9.304927] : get_remote_sensor: video pad[0] is null
[ 9.304964] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ 9.305015] : get_remote_sensor: video pad[0] is null
[ 9.305052] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ 9.305830] rkcif rkcif-mipi-lvds: No memory-region-thunderboot specified
[ 9.305922] rkcif rkcif-mipi-lvds2: Adding to iommu group 14
[ 9.305939] rkcif rkcif-mipi-lvds2: rkcif driver version: v00.01.0a
[ 9.305981] rkcif rkcif-mipi-lvds2: attach to cif hw node
[ 9.305984] rkcif rkcif-mipi-lvds2: rkcif wait line 0
[ 9.305987] : terminal subdev does not exist
[ 9.306028] : terminal subdev does not exist
[ 9.306060] : terminal subdev does not exist
[ 9.306093] : terminal subdev does not exist
[ 9.306126] : get_remote_sensor: video pad[0] is null
[ 9.306164] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ 9.306215] : get_remote_sensor: video pad[0] is null
[ 9.306252] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ 9.306303] : get_remote_sensor: video pad[0] is null
[ 9.306341] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ 9.306391] : get_remote_sensor: video pad[0] is null
[ 9.306429] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!

When I try to grab a picture I got nothing and I think regarding the dmesg boot log it’s normal. The software is just stucked, I have to CTRL+C to kill it.

rock@radxa-cm5-io:~$ gst-launch-1.0 v4l2src device=/dev/video11 io-mode=4 ! videoconvert ! video/x-raw,format=NV12,width=1920,height=1080 ! jpegenc ! multifilesink location=file.name.jpg
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock

handling interrupt.
Interrupt: Stopping pipeline …
Execution ended after 0:00:08.552053004
Setting pipeline to NULL …
Freeing pipeline …

Here is the update of the dmesg during the running of the software:

[ 1205.976432] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976471] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[0] get remote terminal sensor failed!
[ 1205.976488] stream_cif_mipi_id0: update sensor info failed -19
[ 1205.976544] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976549] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[1] get remote terminal sensor failed!
[ 1205.976553] stream_cif_mipi_id1: update sensor info failed -19
[ 1205.976608] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976613] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[2] get remote terminal sensor failed!
[ 1205.976617] rkcif_tools_id2: update sensor info failed -19
[ 1205.976668] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976672] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[2] get remote terminal sensor failed!
[ 1205.976676] stream_cif_mipi_id2: update sensor info failed -19
[ 1205.976727] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976732] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[3] get remote terminal sensor failed!
[ 1205.976735] stream_cif_mipi_id3: update sensor info failed -19
[ 1205.976786] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976791] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[0] get remote terminal sensor failed!
[ 1205.976795] rkcif_scale_ch0: update sensor info failed -19
[ 1205.976846] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976850] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[1] get remote terminal sensor failed!
[ 1205.976854] rkcif_scale_ch1: update sensor info failed -19
[ 1205.976910] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976915] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[2] get remote terminal sensor failed!
[ 1205.976918] rkcif_scale_ch2: update sensor info failed -19
[ 1205.976970] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.976974] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[3] get remote terminal sensor failed!
[ 1205.976978] rkcif_scale_ch3: update sensor info failed -19
[ 1205.977029] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.977034] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[0] get remote terminal sensor failed!
[ 1205.977037] rkcif_tools_id0: update sensor info failed -19
[ 1205.977088] rockchip-csi2-dphy0: No link between dphy and sensor
[ 1205.977092] rkcif-mipi-lvds: rkcif_update_sensor_info: stream[1] get remote terminal sensor failed!
[ 1205.977096] rkcif_tools_id1: update sensor info failed -19
[ 1205.991100] rkcif-mipi-lvds2: stream[0] start streaming
[ 1205.991768] rkcif-mipi-lvds2: Allocate dummy buffer, size: 0x001fb000
[ 1205.997129] rockchip-mipi-csi2 fdd30000.mipi2-csi2: stream on, src_sd: 00000000bac80c9d, sd_name:rockchip-csi2-dphy0
[ 1205.997151] rockchip-mipi-csi2 fdd30000.mipi2-csi2: stream ON
[ 1205.997179] rockchip-csi2-dphy0: dphy0, data_rate_mbps 912
[ 1205.997203] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:1, dphy0
[ 1205.997208] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:1, dphy0
[ 1210.524099] rkcif-mipi-lvds2: stream[0] start stopping, total mode 0x1, cur 0x1
[ 1211.549747] rockchip-mipi-csi2 fdd30000.mipi2-csi2: stream off, src_sd: 00000000bac80c9d, sd_name:rockchip-csi2-dphy0
[ 1211.549814] rockchip-mipi-csi2 fdd30000.mipi2-csi2: stream OFF
[ 1211.550515] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream_stop stream stop, dphy0
[ 1211.550531] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:0, dphy0
[ 1211.550563] rockchip-csi2-dphy csi2-dphy0: csi2_dphy_s_stream stream on:0, dphy0
[ 1211.564538] rkcif-mipi-lvds2: stream[0] stopping finished, dma_en 0x0

I also try to activate the following overlay instead of the last one: “Enable Raspberry Pi Camera V2 on CSI0”

(I don’t understand why there is two differents overlays with different configuration for the same camera chip)

And I got exaclty the same behavior.

Any idea on whet should I do ?

Hi, nicolas_HILAIRE
Can you detect the device’s I2C address using the i2c-tools utility? Try using this command: i2cdetect -r -y 7. Additionally, can you test the CSI1 interface? Please disable other overlays while testing.

Thanks for your answer.

Yes the camera in i2c bus is well detected

Here is the i2cdetect output

rock@radxa-cm5-io:~$ sudo i2cdetect -r -y 7
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – --
10: UU – -- – -- – -- – -- – -- – -- – -- –
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --
rock@radxa-cm5-io:~$

On the CM5 io board the Csi1 interface is plugged onto smaller fpc connector, and I can’t connect the imx219 board on it.

But I have made a try with the imx415 radxa camera on it with the right overlay activated and I got the same result with the same errors in the dmesg output

For all of my tests all other overlays are always disabled, even the imx415 during the imx219 test and vice versa.

Moreover, I have tested with an official rpi 2.1 camera with camera pi overlay activated and got exactly the same errors.

You can use this image to test the camera, this is the image of the 6.1 kernel, which is currently in the testing phase, not a release version.
https://github.com/radxa-build/radxa-cm5-io-6_1/releases/download/t6/radxa-cm5-io-6_1_bookworm_kde_t6.output.img.xz

Hi ken, I have a Rock 5C and have similar issues with Radxa 8M 219 camera. Is there an image for my board with 6.1 kernel that I could try?. Thanks a lot!!!

https://github.com/radxa-build/rock-5c-6_1/releases/download/rsdk-t3/rock-5c-6_1_bookworm_kde_t3.output.img.xz

HEllo, I can confirm it is working well with an earlier version of the kernel, Thanks !