On Wed Jun 11 10:48:32 2025 +0200, Benjamin Mugnier wrote:
> Proper clock configuration is required to advance through FSM states.
> Prior than this having a different clock value than default sensor's
> value was used (12 MHz) could prevent the sensor from booting.
> 
> Signed-off-by: Benjamin Mugnier <benjamin.mugn...@foss.st.com>
> Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
> Signed-off-by: Hans Verkuil <hverk...@xs4all.nl>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/i2c/vd55g1.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

---

diff --git a/drivers/media/i2c/vd55g1.c b/drivers/media/i2c/vd55g1.c
index 336dc3c85ac9..dec6e3e231d5 100644
--- a/drivers/media/i2c/vd55g1.c
+++ b/drivers/media/i2c/vd55g1.c
@@ -1038,8 +1038,6 @@ static int vd55g1_enable_streams(struct v4l2_subdev *sd,
        if (ret < 0)
                return ret;
 
-       vd55g1_write(sensor, VD55G1_REG_EXT_CLOCK, sensor->xclk_freq, &ret);
-
        /* Configure output */
        vd55g1_write(sensor, VD55G1_REG_MIPI_DATA_RATE,
                     sensor->mipi_rate, &ret);
@@ -1613,6 +1611,9 @@ static int vd55g1_power_on(struct device *dev)
                goto disable_clock;
        }
 
+       /* Setup clock now to advance through system FSM states */
+       vd55g1_write(sensor, VD55G1_REG_EXT_CLOCK, sensor->xclk_freq, &ret);
+
        ret = vd55g1_patch(sensor);
        if (ret) {
                dev_err(dev, "Sensor patch failed %d\n", ret);

Reply via email to