[RFC] media: i2c: ov5640: Implement get_mbus_config

From: Leonardo Costa

Date: Mon Sep 21 2026 - 14:05:36 EST


Hi all,

Some time ago, we had sent a patch that implemented the .get_mbus_config
function for the OV5640 camera. This change was necessary for the camera to
work with the i.MX6 after the v5.18 release.

https://lore.kernel.org/all/20230306063649.7387-1-marcel@xxxxxxxxxxxx/T/#u

The patch stirred some discussion, since .get_mbus_config wasn't supposed to be
implemented on drivers that don't have dynamic lane configuration. There were
proposals of implementing it in other points of the camera pipeline, but no
conclusion was reached.

We are planning to send the overlays for this camera for the Apalis iMX6, but
we verified that this patch is still needed for the camera to work on the
current mainline. Below are the commands to configure the pipeline, which
explicitly require a .get_mbus_config from the camera driver.

root@apalis-imx6-11367581:~# media-ctl -l "'ov5640 1-003c':0 -> 'imx6-mipi-csi2':0[1]"
root@apalis-imx6-11367581:~# media-ctl -l "'imx6-mipi-csi2':2 -> 'ipu1_csi1':0[1]"
root@apalis-imx6-11367581:~# media-ctl -l "'ipu1_csi1':2 -> 'ipu1_csi1 capture':0[1]"
root@apalis-imx6-11367581:~# media-ctl -V "'ov5640 1-003c':0 [fmt:UYVY8_1X16/1920x1080 field:none]"
root@apalis-imx6-11367581:~# media-ctl -V "'imx6-mipi-csi2':2 [fmt:UYVY8_1X16/1920x1080 field:none]"
[ 47.438237] ipu1_csi1: entity ov5640 1-003c does not implement get_mbus_config()
[ 47.438265] ipu1_csi1: failed to get upstream media bus configuration
root@apalis-imx6-11367581:~# media-ctl -V "'ipu1_csi1':2 [fmt:UYVY8_1X16/1920x1080 field:none]"
Unable to setup formats: Inappropriate ioctl for device (25)
[ 62.616177] ipu1_csi1: entity ov5640 1-003c does not implement get_mbus_config()
[ 62.616204] ipu1_csi1: failed to get upstream media bus configuration

I am not very familiar with this subsystem, and it's been years since this
discussion took place, so I wanted to know what are your thoughts about this
patch and what the correct approach would be here. Was there any change that
would make this patch ok to be applied today? Do you think this still should
be included somewhere else on the pipeline?

Kind regards,
Leonardo