drivers: media: i2c: imx296,imx477: Configure tigger_mode every time

Don't assume the camera has been reset each time we start streaming,
but always write registers relating to trigger_mode, even in mode 0.

IMX477: Stop driving XVS on stop streaming, to avoid spurious pulses.

Signed-off-by: Nick Hollinghurst <nick.hollinghurst@raspberrypi.com>
This commit is contained in:
Nick Hollinghurst
2023-12-06 14:27:57 +00:00
committed by Dom Cobley
parent ccee02befc
commit 1bd22d1c03

View File

@@ -583,10 +583,11 @@ static int imx296_stream_on(struct imx296 *sensor)
imx296_write(sensor, IMX296_CTRL00, 0, &ret); imx296_write(sensor, IMX296_CTRL00, 0, &ret);
usleep_range(2000, 5000); usleep_range(2000, 5000);
if (trigger_mode == 1) { /* external trigger mode: 0=normal, 1=triggered */
imx296_write(sensor, IMX296_CTRL0B, IMX296_CTRL0B_TRIGEN, &ret); imx296_write(sensor, IMX296_CTRL0B,
imx296_write(sensor, IMX296_LOWLAGTRG, IMX296_LOWLAGTRG_FAST, &ret); (trigger_mode == 1) ? IMX296_CTRL0B_TRIGEN : 0, &ret);
} imx296_write(sensor, IMX296_LOWLAGTRG,
(trigger_mode == 1) ? IMX296_LOWLAGTRG_FAST : 0, &ret);
imx296_write(sensor, IMX296_CTRL0A, 0, &ret); imx296_write(sensor, IMX296_CTRL0A, 0, &ret);