IMX219 get_mbus_config fail
When connecting the IMX219 camera, I encounter the following error:
imx219 2-0010 get_mbus_config fail, pls check it.
This issue occurs with kernel 6.1, but it works correctly with kernel 5.10.160. As a result, I'm unable to capture video from /dev/video0.
Any guidance or suggestions for resolving this would be greatly appreciated.
[ 6.509422] rockchip-iodomain fdc20000.syscon:io-domains: pmuio2(3300000 uV) supplied by vcc_3v3
[ 6.509543] rockchip-iodomain fdc20000.syscon:io-domains: vccio1(3300000 uV) supplied by vccio_acodec
[ 6.509634] rockchip-iodomain fdc20000.syscon:io-domains: vccio2(1800000 uV) supplied by vcc_1v8
[ 6.509734] rockchip-iodomain fdc20000.syscon:io-domains: vccio3(3300000 uV) supplied by vccio_sd
[ 6.509783] rockchip-iodomain fdc20000.syscon:io-domains: vccio4(1800000 uV) supplied by vcc_1v8
[ 6.509830] rockchip-iodomain fdc20000.syscon:io-domains: vccio5(3300000 uV) supplied by vcc_3v3
[ 6.509879] rockchip-iodomain fdc20000.syscon:io-domains: vccio6(3300000 uV) supplied by vcc_3v3
[ 6.509925] rockchip-iodomain fdc20000.syscon:io-domains: vccio7(3300000 uV) supplied by vcc_3v3
[ 6.510331] imx219 2-0010: Consider updating driver imx219 to match on endpoints
[ 6.510381] rockchip-csi2-dphy csi2-dphy1: dphy1 matches imx219 2-0010:bus type 5
[ 6.510401] rockchip-csi2-dphy csi2-dphy1: imx219 2-0010 get_mbus_config fail, pls check it
[ 6.511024] rockchip-csi2-dphy csi2-dphy1: imx219 2-0010 get_mbus_config fail, pls check it
[ 6.511057] rockchip-csi2-dphy csi2-dphy1: imx219 2-0010 get_mbus_config fail, pls check it
[ 6.511084] rkisp-vir0: Async subdev notifier completed
[ 6.511098] rockchip-csi2-dphy csi2-dphy1: csi2 dphy1 probe successfully!
[ 6.511480] mpp_rkvenc fdf40000.rkvenc: Adding to iommu group 4
I found a patch for imx219 and ov5647 in another fork
https://github.com/Joshua-Riek/linux-rockchip/commit/1b4e0edcaad78ed2b298318f8482f14838ac993b
I found a patch for imx219 and ov5647 in another fork
Grab it and provide a PR.
I got confirmation from customer on custom board based on rk3568, patched ov5647 can be captured and streaming.
Before patch for OV5647
root@smarc:~# dmesg | grep -i -e ov5647 -e csi -e mipi -e dphy [ 8.226269] platform csi2-dphy1: Fixed dependency cycle(s) with /rkisp-vir0/port/endpoint@0 [ 8.805189] SCSI subsystem initialized [ 9.666901] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 241) [ 9.670025] rockchip-csi2-dphy-hw fe870000.csi2-dphy-hw: csi2 dphy hw probe successfully! [ 10.197453] i2c 4-0036: Fixed dependency cycle(s) with /csi2-dphy1/ports/port@0/endpoint@1 [ 10.236802] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: enter mipi csi2 hw probe! [ 10.237172] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: probe success, v4l2_dev:mipi-csi2-hw! [ 10.242327] rkisp rkisp-vir0: Entity type for entity rkisp-csi-subdev was not initialized! [ 10.337266] ov5647 4-0036: Consider updating driver ov5647 to match on endpoints [ 10.337298] rockchip-csi2-dphy csi2-dphy1: dphy1 matches ov5647 4-0036:bus type 5 [ 10.337313] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 10.337775] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 10.337794] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 10.337822] rockchip-csi2-dphy csi2-dphy1: csi2 dphy1 probe successfully! [ 14.642550] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 14.655974] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 14.658456] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 14.667623] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 14.673766] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 14.675991] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 14.693690] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it [ 14.700768] rockchip-csi2-dphy csi2-dphy1: ov5647 4-0036 get_mbus_config fail, pls check it
After patch for OV5647
root@smarc:~# dmesg | grep -i -e ov5647 -e csi -e mipi -e dphy [ 8.216025] platform csi2-dphy1: Fixed dependency cycle(s) with /rkisp-vir0/port/endpoint@0 [ 8.795314] SCSI subsystem initialized [ 9.655310] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 241) [ 9.658522] rockchip-csi2-dphy-hw fe870000.csi2-dphy-hw: csi2 dphy hw probe successfully! [ 10.184039] i2c 4-0036: Fixed dependency cycle(s) with /csi2-dphy1/ports/port@0/endpoint@1 [ 10.187504] ov5647 4-0036: driver version: 00.01.01 [ 10.187800] ov5647 4-0036: OV5647 power on [ 10.716071] ov5647 4-0036: OV5647 power off [ 10.718561] ov5647 4-0036: OmniVision OV5647 camera driver probed [ 10.722982] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: enter mipi csi2 hw probe! [ 10.723355] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: probe success, v4l2_dev:mipi-csi2-hw! [ 10.728530] rkisp rkisp-vir0: Entity type for entity rkisp-csi-subdev was not initialized! [ 10.819350] ov5647 4-0036: Consider updating driver ov5647 to match on endpoints [ 10.819386] rockchip-csi2-dphy csi2-dphy1: dphy1 matches m00_b_ov5647 4-0036:bus type 5 [ 10.819940] rockchip-csi2-dphy csi2-dphy1: csi2 dphy1 probe successfully!
Waiting feedback for patched IMX219 driver.
P.S. But rk3588 has some issues with kernel 6.1 (ISP/CIF/MIPI-CSI)
But rk3588 has some issues with kernel 6.1
"Some"? :) Well, this https://github.com/armbian/linux-rockchip/pull/289 is best what is publicly available and we have negative support budget to maintain this stack.
@igorpecovnik relax man, no one blamed or shamed you. I jumped into Rockchip 2 months ago, and deal with customized USB, PCIe, DisplayPort, HDMI and I2S for different codecs for the customers. Jumped into MIPI-CSI 3-4 weeks ago, and I'm trying to support customer into this area. Luck of documentation from Rockchip makes it even harder. Binding these cameras via DTS another story, 1 week of pain.
Meanwhile from the latest customer update about patched IMX219, it works on rk3568 also. Patched imx219 can be captured and streaming.
Before patch for IMX219
root@smarc:~# dmesg | grep -i -e imx219 -e csi -e mipi [ 8.222906] platform csi2-dphy1: Fixed dependency cycle(s) with /rkisp-vir0/port/endpoint@0 [ 8.801019] SCSI subsystem initialized [ 9.664466] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 241) [ 9.667560] rockchip-csi2-dphy-hw fe870000.csi2-dphy-hw: csi2 dphy hw probe successfully! [ 10.190952] i2c 4-0010: Fixed dependency cycle(s) with /csi2-dphy1/ports/port@0/endpoint@1 [ 10.194076] imx219 4-0010: Looking up VANA-supply from device tree [ 10.194111] imx219 4-0010: Looking up VANA-supply property in node /i2c@fe5d0000/cam0_imx219@10 failed [ 10.194172] imx219 4-0010: supply VANA not found, using dummy regulator [ 10.194388] imx219 4-0010: Looking up VDIG-supply from device tree [ 10.194414] imx219 4-0010: Looking up VDIG-supply property in node /i2c@fe5d0000/cam0_imx219@10 failed [ 10.194462] imx219 4-0010: supply VDIG not found, using dummy regulator [ 10.194561] imx219 4-0010: Looking up VDDL-supply from device tree [ 10.194587] imx219 4-0010: Looking up VDDL-supply property in node /i2c@fe5d0000/cam0_imx219@10 failed [ 10.194629] imx219 4-0010: supply VDDL not found, using dummy regulator [ 10.208752] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: enter mipi csi2 hw probe! [ 10.209134] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: probe success, v4l2_dev:mipi-csi2-hw! [ 10.214278] rkisp rkisp-vir0: Entity type for entity rkisp-csi-subdev was not initialized! [ 10.303838] imx219 4-0010: Consider updating driver imx219 to match on endpoints [ 10.303877] rockchip-csi2-dphy csi2-dphy1: dphy1 matches imx219 4-0010:bus type 5 [ 10.303891] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 10.304357] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 10.304378] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 10.304405] rockchip-csi2-dphy csi2-dphy1: csi2 dphy1 probe successfully! [ 14.955735] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 14.966300] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 14.972171] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 14.981961] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 14.988296] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 15.010605] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 87.604836] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 87.669250] rockchip-csi2-dphy csi2-dphy1: imx219 4-0010 get_mbus_config fail, pls check it [ 87.676575] rockchip-csi2-dphy1: dphy1, data_rate_mbps 912
After patch for IMX219
root@smarc:~# dmesg | grep -i -e imx219 -e csi -e mipi -e dphy [ 8.218330] platform csi2-dphy2: Fixed dependency cycle(s) with /rkisp-vir1/port/endpoint@0 [ 8.797975] SCSI subsystem initialized [ 9.659508] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 241) [ 9.662701] rockchip-csi2-dphy-hw fe870000.csi2-dphy-hw: csi2 dphy hw probe successfully! [ 10.188661] i2c 3-0010: Fixed dependency cycle(s) with /csi2-dphy2/ports/port@0/endpoint@1 [ 10.192448] imx219 3-0010: driver version: 00.01.01 [ 10.217353] imx219 3-0010: Model ID 0x0219, Lot ID 0x818c83, Chip ID 0x00f2 [ 10.217397] ==> imx219 ken: 1104 imx219_probe [ 10.221868] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: enter mipi csi2 hw probe! [ 10.222252] rockchip-mipi-csi2-hw fdfb0000.mipi-csi2-hw: probe success, v4l2_dev:mipi-csi2-hw! [ 10.227458] rkisp rkisp-vir1: Entity type for entity rkisp-csi-subdev was not initialized! [ 10.320906] imx219 3-0010: Consider updating driver imx219 to match on endpoints [ 10.320943] rockchip-csi2-dphy csi2-dphy2: dphy2 matches m01_b_imx219 3-0010:bus type 5 [ 10.321692] rockchip-csi2-dphy csi2-dphy2: csi2 dphy2 probe successfully!
P.S. the customer kernel was based on branch rk-6.1-rkr3
relax man, no one blamed or shamed you
Didn't take it that way, no worries. Heard that too many times.
1 week of pain
Understand. Aim of Armbian is to address and mitigate this common pain. With what we have, as much as possible, best effort.
Luck of documentation from Rockchip makes it even harder.
This is what they sell, alongside with support. In case you want to speed up and your company can cover, I can privately link you with a person that knows more and is operating in this area. Just an idea.
Patched imx219 can be captured and streaming.
Great to hear that!
Hi @igorpecovnik , I created a PR #313 to fix this issue, because @Joshua-Riek didn't reply on a previously created issue.
On RK3588 (branch rk-6.1-rkr4.1) no success
[ 10.834107] platform csi2-dphy1: Fixed dependency cycle(s) with /mipi2-csi2
[ 10.834160] platform mipi2-csi2: Fixed dependency cycle(s) with /csi2-dphy1
[ 10.834398] platform mipi2-csi2: Fixed dependency cycle(s) with /rkcif-mipi-lvds2
[ 10.834447] platform rkcif-mipi-lvds2: Fixed dependency cycle(s) with /mipi2-csi2
[ 10.834640] platform rkcif-mipi-lvds2-sditf: Fixed dependency cycle(s) with /rkisp0-vir1
[ 10.834685] platform rkisp0-vir1: Fixed dependency cycle(s) with /rkcif-mipi-lvds2-sditf
[ 11.697634] rockchip-csi2-dphy-hw fedc0000.csi2-dphy0-hw: csi2 dphy hw probe successfully!
[ 11.697765] rockchip-csi2-dphy-hw fedc8000.csi2-dphy1-hw: csi2 dphy hw probe successfully!
[ 12.181109] platform csi2-dphy1: Fixed dependency cycle(s) with /i2c@fead0000/cam2_imx219@10
[ 12.181170] i2c 5-0010: Fixed dependency cycle(s) with /csi2-dphy1
[ 12.191872] imx219 5-0010: driver version: 00.01.01
[ 13.237879] imx219 5-0010: imx219 power on
[ 13.241700] imx219 5-0010: Model ID 0x0219, Lot ID 0x818c83, Chip ID 0x00f2
[ 13.241717] imx219 5-0010: imx219 power off
[ 13.241735] ==> imx219 ken: 1165 imx219_probe
[ 13.243104] rockchip-mipi-csi2-hw fdd10000.mipi0-csi2-hw: enter mipi csi2 hw probe!
[ 13.243249] rockchip-mipi-csi2-hw fdd10000.mipi0-csi2-hw: probe success, v4l2_dev:mipi0-csi2-hw!
[ 13.243309] rockchip-mipi-csi2-hw fdd20000.mipi1-csi2-hw: enter mipi csi2 hw probe!
[ 13.243416] rockchip-mipi-csi2-hw fdd20000.mipi1-csi2-hw: probe success, v4l2_dev:mipi1-csi2-hw!
[ 13.243468] rockchip-mipi-csi2-hw fdd30000.mipi2-csi2-hw: enter mipi csi2 hw probe!
[ 13.243569] rockchip-mipi-csi2-hw fdd30000.mipi2-csi2-hw: probe success, v4l2_dev:mipi2-csi2-hw!
[ 13.243617] rockchip-mipi-csi2-hw fdd40000.mipi3-csi2-hw: enter mipi csi2 hw probe!
[ 13.243717] rockchip-mipi-csi2-hw fdd40000.mipi3-csi2-hw: probe success, v4l2_dev:mipi3-csi2-hw!
[ 13.243765] rockchip-mipi-csi2-hw fdd50000.mipi4-csi2-hw: enter mipi csi2 hw probe!
[ 13.243861] rockchip-mipi-csi2-hw fdd50000.mipi4-csi2-hw: probe success, v4l2_dev:mipi4-csi2-hw!
[ 13.243929] rockchip-mipi-csi2-hw fdd60000.mipi5-csi2-hw: enter mipi csi2 hw probe!
[ 13.244050] rockchip-mipi-csi2-hw fdd60000.mipi5-csi2-hw: probe success, v4l2_dev:mipi5-csi2-hw!
[ 13.244689] rockchip-mipi-csi2 mipi2-csi2: attach to csi2 hw node
[ 13.244725] rockchip-mipi-csi2: probe success, v4l2_dev:(efault)!
[ 13.246134] rkisp_hw fdcb0000.rkisp: Adding to iommu group 15
[ 13.246312] rkisp_hw fdcb0000.rkisp: is_thunderboot: 0
[ 13.246328] rkisp_hw fdcb0000.rkisp: Missing rockchip,grf property
[ 13.246355] rkisp_hw fdcb0000.rkisp: max input:0x0@0fps
[ 13.246505] rkisp_hw fdcb0000.rkisp: no find phandle sram
[ 13.246843] rkisp rkisp0-vir1: rkisp driver version: v02.06.01
[ 13.246946] rkisp rkisp0-vir1: No memory-region-thunderboot specified
[ 13.247087] rkisp rkisp0-vir1: Entity type for entity rkisp-isp-subdev was not initialized!
[ 13.595729] rockchip-csi2-dphy csi2-dphy1: csi2 dphy1 probe successfully!
[ 13.672713] rockchip-dmc dmc: fixed_rate(isp|cif0|cif1|dualview) = 2112000000
[ 13.746668] rkisp rkisp0-vir1: clear unready subdev num: 1
[ 13.747025] rkisp0-vir1: Async subdev notifier completed
media-ctl --print-dot
digraph board {
rankdir=TB
n00000001 [label="{{<port0> 0 | <port1> 1} | rkisp-isp-subdev\n/dev/v4l-subdev0 | {<port2> 2 | <port3> 3}}", shape=Mrecord, style=filled, fillcolor=green]
n00000001:port2 -> n00000006
n00000001:port2 -> n0000000c
n00000001:port2 -> n00000012
n00000001:port2 -> n00000018
n00000001:port3 -> n00000030
n00000006 [label="rkisp_mainpath\n/dev/video0", shape=box, style=filled, fillcolor=yellow]
n0000000c [label="rkisp_selfpath\n/dev/video1", shape=box, style=filled, fillcolor=yellow]
n00000012 [label="rkisp_fbcpath\n/dev/video2", shape=box, style=filled, fillcolor=yellow]
n00000018 [label="rkisp_iqtool\n/dev/video3", shape=box, style=filled, fillcolor=yellow]
n0000001e [label="rkisp_rawrd0_m\n/dev/video4", shape=box, style=filled, fillcolor=yellow]
n0000001e -> n00000001:port0 [style=dashed]
n00000024 [label="rkisp_rawrd2_s\n/dev/video5", shape=box, style=filled, fillcolor=yellow]
n00000024 -> n00000001:port0 [style=dashed]
n0000002a [label="rkisp_rawrd1_l\n/dev/video6", shape=box, style=filled, fillcolor=yellow]
n0000002a -> n00000001:port0 [style=dashed]
n00000030 [label="rkisp-statistics\n/dev/video7", shape=box, style=filled, fillcolor=yellow]
n00000036 [label="rkisp-input-params\n/dev/video8", shape=box, style=filled, fillcolor=yellow]
n00000036 -> n00000001:port1
}
I made the similar patch https://github.com/armbian/linux-rockchip/pull/316 for original imx219 driver. The same issue, no imx219 pad. If I remove ISP node and pass into mipi-lvds then imx219 pad is appearing in /dev/media0, but I can't do anything with camera, /dev/video0 returns stream error. I'm not expert in Rockchip MIPI-CSI2 but if it works fine on RK3566/RK3568 then the issue definitely in RK3588.
@bmx666 these things are all related to a bug noone was able to find since mid of 2024... the 6.1 kernel is flawed, relating also to this post https://forum.radxa.com/t/dev-video-01/20490/34 and to another issue report here: https://github.com/armbian/linux-rockchip/issues/164
@belveder79 at least we have good news: Kernel 5.10 EOL is Dec 2026, and Android will support kernel security patches until July 1, 2027. Android 14 is not an option with kernels 5.15 and 6.1 and Android 15 requires a minimum kernel version of 6.6, which might push Rockchip to migrate to a newer kernel.
just to say that the current armbian branch rk-6.1-rkr5 is still broken...
just to say that the current armbian branch rk-6.1-rkr5 is still broken...
I will get soon access to new Android 15 for RK3588 and RK3588s, hope it will contain kernel 6.1+ and not the old kernel 5.10. In that case I could analyze and PR some patches into ISP/CIF/MIPI-CSI.
just to say that the current armbian branch rk-6.1-rkr5 is still broken...
Hi @belveder79 , seems topic about RK3588 and kernel 6.1 has been already discussed here -> https://github.com/Joshua-Riek/ubuntu-rockchip/issues/613 I recently got access to Rockchip Android 14 kernel 6.1, it contains a lot of updates related to MIPI-CSI2, MIPI-DSI, VOP and etc.
@bmx666 Yes we were discussing this on multiple forums... I don't have the time to walk through the legacy friendlyelec kernel and patch the armbian kernel accordingly. For now I'm working with the official friendlyelec kernel which I compiled myself. That one does not support overlays though afaik, so custom compiling is a must. I've got all my cameras to work with the friendlyelec version without any pain, but for the armbian kernel it just seems that someone needs to look into this issue and fix it some time...
@bmx666 Yes we were discussing this on multiple forums... I don't have the time to walk through the legacy friendlyelec kernel and patch the armbian kernel accordingly. For now I'm working with the official friendlyelec kernel which I compiled myself. That one does not support overlays though afaik, so custom compiling is a must. I've got all my cameras to work with the friendlyelec version without any pain, but for the armbian kernel it just seems that someone needs to look into this issue and fix it some time...
Do you mean this Android kernel -> https://github.com/friendlyarm/kernel-rockchip ?
yes exactly... just following the steps described here