Skip to content

media: i2c: Expand gain values for ov5693#168

Open
djrscally wants to merge 1 commit into
linux-surface:v6.19-surface-develfrom
djrscally:ov5693-gain
Open

media: i2c: Expand gain values for ov5693#168
djrscally wants to merge 1 commit into
linux-surface:v6.19-surface-develfrom
djrscally:ov5693-gain

Conversation

@djrscally

Copy link
Copy Markdown
Collaborator

The ov5693 driver currently allows values for the
V4L2_CID_ANALOGUE_GAIN control in the range 1-127. The input values are left-shifted 4 bits before being applied to the hardware. The 4 least significant bits are fractional bits, which means that in practice gain can only be applied in steps of 1.0.

Update the allowed range to take any value that fits into the 11-bit register and stop masking off the fractional bits.

Note that libcamera treated the ov5693 as though this change were already applied, which meant that by default 16x gain was being applied. This change therefore reduces the noise of the user-facing camera quite a bit; see the attached images
post-fix
pre-fix

The ov5693 driver currently allows values for the
V4L2_CID_ANALOGUE_GAIN control in the range 1-127. The input values
are left-shifted 4 bits before being applied to the hardware. The 4
least significant bits are fractional bits, which means that in
practice gain can only be applied in steps of 1.0.

Update the allowed range to take any value that fits into the 11-bit
register and stop masking off the fractional bits.

Signed-off-by: Daniel Scally <dan.scally@ideasonboard.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant