The camera overlay looks ok to me. The resulting 5.10 and 6.1 camera nodes look virtually identical. See below for zipped dts.
Maybe it’s in the rk3588s.dtsi file some error has been introduced? The rk3588s.dtsi is included from rkk3588.dtsi. I guess the idea is that everything in rk3588s is also in rk3588. But maybe that doesn’t hold true for the MIPI/CSI devices?
According to the datasheet rk3588 supports 2 dcphy and up to 4 dphy CSI inputs with total 8 lanes, while the rk3588s supports 2 dcphy and up to 3 dphy CSI inputs with total 4 lanes.
Here is dmesg output showing the failure to set up rkcif-mipi-lvds2
.
[ +5.496351] rkcifhw fdce0000.rkcif: Adding to iommu group 16
[ +0.002283] rkcifhw fdce0000.rkcif: No reserved memory region assign to CIF
[ +0.000848] rkcif rkcif-mipi-lvds2: Adding to iommu group 16
[ +0.000095] rkcif rkcif-mipi-lvds2: rkcif driver version: v00.02.00
[ +0.000394] rkcif rkcif-mipi-lvds2: attach to cif hw node
[ +0.000033] rkcif rkcif-mipi-lvds2: rkcif wait line 0
[ +0.000032] : terminal subdev does not exist
[ +0.000023] : terminal subdev does not exist
[ +0.000020] : terminal subdev does not exist
[ +0.000020] : terminal subdev does not exist
[ +0.000019] : get_remote_sensor: video pad[0] is null
[ +0.000018] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ +0.000025] : rkcif_scale_set_fmt: req(80, 60) src out(0, 0)
[ +0.000029] : get_remote_sensor: video pad[0] is null
[ +0.000017] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ +0.000020] : rkcif_scale_set_fmt: req(80, 60) src out(0, 0)
[ +0.000025] : get_remote_sensor: video pad[0] is null
[ +0.000017] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ +0.000020] : rkcif_scale_set_fmt: req(80, 60) src out(0, 0)
[ +0.000025] : get_remote_sensor: video pad[0] is null
[ +0.000017] : rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ +0.000021] : rkcif_scale_set_fmt: req(80, 60) src out(0, 0)
[ +0.007855] rkcif-mipi-lvds2: get_remote_sensor: remote pad is null
[ +0.000022] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ +0.000014] stream_cif_mipi_id0: update sensor info failed -19
[ +0.001055] rkcif-mipi-lvds2: get_remote_sensor: remote pad is null
[ +0.000022] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[1] get remote sensor_sd failed!
[ +0.000013] stream_cif_mipi_id1: update sensor info failed -19
[ +0.000128] rkcif-mipi-lvds2: get_remote_sensor: remote pad is null
[ +0.000021] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[2] get remote sensor_sd failed!
[ +0.000014] stream_cif_mipi_id2: update sensor info failed -19
[ +0.002936] rkcif-mipi-lvds2: get_remote_sensor: remote pad is null
[ +0.000020] rkcif-mipi-lvds2: rkcif_update_sensor_info: stream[0] get remote sensor_sd failed!
[ +0.000012] rkcif_scale_ch0: update sensor info failed -19
[ +0.000478] rkcif rkcif-mipi-lvds2: Entity type for entity rockchip-mipi-csi2 was not initialized!
[ +0.000030] rockchip-mipi-csi2: Async registered subdev
[ +0.000025] imx415 3-001a: Consider updating driver imx415 to match on endpoints
[ +0.000017] rockchip-csi2-dphy csi2-dphy0: dphy0 matches m00_b_imx415 3-001a:bus type 5
[ +0.001187] stream_cif_mipi_id3: Failed to get runtime pm, -13
[ +0.001098] rkcif-mipi-lvds2: Async subdev notifier completed
[ +0.000029] rkcif rkcif-mipi-lvds2: No memory-region-thunderboot specified
The 5.10 official image b18 and the 6.1 armbian vendor dts are here (both with 4k camera overlays added):
fdt.dts.zip (77.0 KB)
In any case, it seems that the problem is that the device /dev/v4l-subdev4 which would have corresponded to rkcif-mipi-lvds2 is never created. Still don’t know why.
Here is newer version 2.0 of that rockchip camera developer guide document BTW. (Why is documentation found in so many different places?)