[libcamera-devel] IMX258 and speckled images

Dave Stevenson dave.stevenson at raspberrypi.com
Sat Jun 25 09:41:07 CEST 2022


On Fri, 24 Jun 2022, 07:49 Umang Jain, <umang.jain at ideasonboard.com> wrote:

> Hi Dave,
>
> On 6/23/22 22:58, Dave Stevenson wrote:
> > Hi Kieran
> >
> > Thanks for responding
> >
> > On Thu, 23 Jun 2022 at 17:40, Kieran Bingham
> > <kieran.bingham at ideasonboard.com> wrote:
> >> Hi Dave,
> >>
> >> Quoting Dave Stevenson via libcamera-devel (2022-06-22 11:34:16)
> >>> Hi All.
> >>>
> >>> A quick query as I'm aware that others on here are using the Sony
> IMX258 sensor.
> >>> Are you using the sensor driver as-is from mainline[1], or does it
> need changes?
> >> I think the Nautilus uses the IMX258. But as a ChromeOS device, the
> >> driver should be expected to be as-is from mainline.
> >>
> >>
> >>> A third party manufacturer has made an IMX258 module for the Pi[2],
> >>> but we're getting dark speckles in the raw image, which we're guessing
> >>> is down to PDAF pixel correction. The module manufacturer also
> >>> believes that there may be versions of the module with and without
> >>> PDAF pixels, which may well explain the issue.
> >> I guess this might look like noise on the resulting image? or is it
> >> fixed spots that look like broken pixels? (An image might help if
> >> feasible).
> > Sorry, I should have thought to send images with my first email :-/
> >
> >
> https://drive.google.com/file/d/1i4T3CuB-zJU8MT0XX_XC-UsKRitTxdTF/view?usp=sharing
> > JPGs and DNGs for two scenes in each mode.
> > Register 0x4e21 as 0x14 is the current driver's behaviour. Setting it
> > to 0x10 clears the odd pixels. What does bit 2 do?!
>
>
> So here are few quick raw and .ppm images captured on the imx258 sensor
> on Nautilus.
>
>
> https://drive.google.com/drive/folders/1nkY24qy4TgVcQuWfNUGyGJdJEOhKHS1Z?usp=sharing
>
> The driver seems to diverge from mainline with 2 commits that I can see of:
>
> https://chromium.googlesource.com/chromiumos/third_party/kernel/+log/refs/heads/chromeos-5.4/drivers/media/i2c/imx258.c
>
> but it doesn't change the value set in the register-of-interest so I
> guess it should be fine?
>
>
> >>> It seems that register 0x4e21 being set to 0x14 by the driver is the
> >>> main cause, and the default of 0x10 gives good images. Of course
> >>> register 0x4e21 isn't documented in any of the datasheets and appnotes
> >>> I have from Sony. I have an enquiry in with them, but I wondered if
> >>> others had seen similar issues, or might have documentation about that
> >>> register.
> >> Umang, can you confirm if this is the driver in use by the Nautilus?
> > I have received some information back from Sony over different values
> > in the OTP for different variants of the sensor. If someone does have
> > a device which uses it, then I can give them some I2C commands to read
> > the relevant bits and see what those platforms are using. It's the
> > normal NDA faff with sensor manufacturers so I can't really send it to
> > an open list.
> >
> > Part of the issue is knowing which variant the existing driver is
> > meant to work with to ensure we don't break that.
>

To close this thread off, Umang has kindly read back the relevant parts of
the otp on his module for me. It is reporting that it is the non pdaf
version of imx258, whilst mine supports pdaf. That does explain the
difference in image quality, and as long as Sony allow me to release this
info then we can auto detect it.

Thanks for the help.

  Dave

>    Dave
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.libcamera.org/pipermail/libcamera-devel/attachments/20220625/eab70434/attachment-0001.htm>


More information about the libcamera-devel mailing list