]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: i2c: alvium: enable acquisition frame rate
authorTommaso Merciai <tomm.merciai@gmail.com>
Mon, 10 Jun 2024 08:10:32 +0000 (10:10 +0200)
committerHans Verkuil <hverkuil-cisco@xs4all.nl>
Sat, 15 Jun 2024 09:16:39 +0000 (11:16 +0200)
Alvium camera by default is in free running mode. Datasheet say that
acquisition frame rate reg can only be used if frame start trigger
mode is set to off.
Enable r/w acquisition frame rate and turn off trigger mode.

Signed-off-by: Tommaso Merciai <tomm.merciai@gmail.com>
[Sakari Ailus: Fix spelling of "acquisition".]
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
drivers/media/i2c/alvium-csi2.c

index 7a38c424ea48b954bd7d0aa2b5d4936bc4b3b8f2..a88809333e56fe4a666133ce3429a5b2dd30252f 100644 (file)
@@ -1189,6 +1189,20 @@ static int alvium_set_frame_rate(struct alvium_dev *alvium, u64 fr)
        struct device *dev = &alvium->i2c_client->dev;
        int ret;
 
+       ret = alvium_write_hshake(alvium, REG_BCRM_ACQUISITION_FRAME_RATE_EN_RW,
+                                 1);
+       if (ret) {
+               dev_err(dev, "Fail to set acquisition frame rate enable reg\n");
+               return ret;
+       }
+
+       ret = alvium_write_hshake(alvium, REG_BCRM_FRAME_START_TRIGGER_MODE_RW,
+                                 0);
+       if (ret) {
+               dev_err(dev, "Fail to set frame start trigger mode reg\n");
+               return ret;
+       }
+
        ret = alvium_write_hshake(alvium, REG_BCRM_ACQUISITION_FRAME_RATE_RW,
                                  fr);
        if (ret) {