media: imx296: Add standby delay during probe
authorNaushir Patuck <naush@raspberrypi.com>
Fri, 15 Nov 2024 18:07:17 +0000 (20:07 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Thu, 19 Dec 2024 11:50:13 +0000 (12:50 +0100)
Add a 2-5ms delay when coming out of standby and before reading the
sensor info register durning probe, as instructed by the datasheet. This
standby delay is already present when the sensor starts streaming.

During a cold-boot, reading the IMX296_SENSOR_INFO register would often
return a value of 0x0000, if this delay is not present before.

Fixes: cb33db2b6ccf ("media: i2c: IMX296 camera sensor driver")
Cc: stable@vger.kernel.org
Tested-by: Alexandru Ardelean <aardelean@baylibre.com>
Signed-off-by: Naushir Patuck <naush@raspberrypi.com>
Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/media/i2c/imx296.c

index 83149fa..f3bec16 100644 (file)
@@ -954,6 +954,8 @@ static int imx296_identify_model(struct imx296 *sensor)
                return ret;
        }
 
+       usleep_range(2000, 5000);
+
        ret = imx296_read(sensor, IMX296_SENSOR_INFO);
        if (ret < 0) {
                dev_err(sensor->dev, "failed to read sensor information (%d)\n",