| Message ID | 20260720131047.2749510-2-naush@raspberrypi.com |
|---|---|
| State | Accepted |
| Headers | show |
| Series |
|
| Related | show |
Quoting Naushir Patuck (2026-07-20 14:07:55) > Add the camera sensor properties and camera helper entry for the Sony > IMX662 sensor. > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com> > --- > src/ipa/libipa/camera_sensor_helper.cpp | 12 ++++++++++++ > src/libcamera/sensor/camera_sensor_properties.cpp | 10 ++++++++++ > 2 files changed, 22 insertions(+) > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp > index 54a88c55bc2d..14d9690c1864 100644 > --- a/src/ipa/libipa/camera_sensor_helper.cpp > +++ b/src/ipa/libipa/camera_sensor_helper.cpp > @@ -642,6 +642,18 @@ public: > }; > REGISTER_CAMERA_SENSOR_HELPER("imx477", CameraSensorHelperImx477) > > +class CameraSensorHelperImx662 : public CameraSensorHelper > +{ > +public: > + CameraSensorHelperImx662() > + { > + /* From datasheet: 0xc8 at 12bits. */ > + blackLevel_ = 3200; > + gain_ = AnalogueGainExp{ 1.0, expGainDb(0.3) }; Matches what I interpret: Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > + } > +}; > +REGISTER_CAMERA_SENSOR_HELPER("imx662", CameraSensorHelperImx662) > + > class CameraSensorHelperImx678 : public CameraSensorHelper > { > public: > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp > index 7685524ad189..3672e8f0d79b 100644 > --- a/src/libcamera/sensor/camera_sensor_properties.cpp > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp > @@ -309,6 +309,16 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen > .hblankDelay = 3 > }, > } }, > + { "imx662", { > + .unitCellSize = { 2900, 2900 }, > + .testPatternModes = {}, > + .sensorDelays = { > + .exposureDelay = 2, > + .gainDelay = 2, The timing diagram on page 9 looks like it's only a gainDelay of 1 ? But I never understand the real timings here, and I still want a tool that will just measure the reality! > + .vblankDelay = 2, > + .hblankDelay = 2 > + }, > + } }, > { "imx678", { > .unitCellSize = { 2000, 2000 }, > .testPatternModes = {}, > -- >
Hi Naush On Wed, 22 Jul 2026 at 09:58, Kieran Bingham <kieran.bingham@ideasonboard.com> wrote: > > Quoting Naushir Patuck (2026-07-20 14:07:55) > > Add the camera sensor properties and camera helper entry for the Sony > > IMX662 sensor. > > > > Signed-off-by: Naushir Patuck <naush@raspberrypi.com> > > --- > > src/ipa/libipa/camera_sensor_helper.cpp | 12 ++++++++++++ > > src/libcamera/sensor/camera_sensor_properties.cpp | 10 ++++++++++ > > 2 files changed, 22 insertions(+) > > > > diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp > > index 54a88c55bc2d..14d9690c1864 100644 > > --- a/src/ipa/libipa/camera_sensor_helper.cpp > > +++ b/src/ipa/libipa/camera_sensor_helper.cpp > > @@ -642,6 +642,18 @@ public: > > }; > > REGISTER_CAMERA_SENSOR_HELPER("imx477", CameraSensorHelperImx477) > > > > +class CameraSensorHelperImx662 : public CameraSensorHelper > > +{ > > +public: > > + CameraSensorHelperImx662() > > + { > > + /* From datasheet: 0xc8 at 12bits. */ > > + blackLevel_ = 3200; > > + gain_ = AnalogueGainExp{ 1.0, expGainDb(0.3) }; > > Matches what I interpret: > > Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > > + } > > +}; > > +REGISTER_CAMERA_SENSOR_HELPER("imx662", CameraSensorHelperImx662) > > + > > class CameraSensorHelperImx678 : public CameraSensorHelper > > { > > public: > > diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp > > index 7685524ad189..3672e8f0d79b 100644 > > --- a/src/libcamera/sensor/camera_sensor_properties.cpp > > +++ b/src/libcamera/sensor/camera_sensor_properties.cpp > > @@ -309,6 +309,16 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen > > .hblankDelay = 3 > > }, > > } }, > > + { "imx662", { > > + .unitCellSize = { 2900, 2900 }, > > + .testPatternModes = {}, > > + .sensorDelays = { > > + .exposureDelay = 2, > > + .gainDelay = 2, > > The timing diagram on page 9 looks like it's only a gainDelay of 1 ? But > I never understand the real timings here, and I still want a tool that > will just measure the reality! > > > > > + .vblankDelay = 2, > > + .hblankDelay = 2 > > + }, > > + } }, > > { "imx678", { > > .unitCellSize = { 2000, 2000 }, > > .testPatternModes = {}, > > -- > > Reviewed-by: David Plowman <david.plowman@raspberrypi.com> Thanks! David
diff --git a/src/ipa/libipa/camera_sensor_helper.cpp b/src/ipa/libipa/camera_sensor_helper.cpp index 54a88c55bc2d..14d9690c1864 100644 --- a/src/ipa/libipa/camera_sensor_helper.cpp +++ b/src/ipa/libipa/camera_sensor_helper.cpp @@ -642,6 +642,18 @@ public: }; REGISTER_CAMERA_SENSOR_HELPER("imx477", CameraSensorHelperImx477) +class CameraSensorHelperImx662 : public CameraSensorHelper +{ +public: + CameraSensorHelperImx662() + { + /* From datasheet: 0xc8 at 12bits. */ + blackLevel_ = 3200; + gain_ = AnalogueGainExp{ 1.0, expGainDb(0.3) }; + } +}; +REGISTER_CAMERA_SENSOR_HELPER("imx662", CameraSensorHelperImx662) + class CameraSensorHelperImx678 : public CameraSensorHelper { public: diff --git a/src/libcamera/sensor/camera_sensor_properties.cpp b/src/libcamera/sensor/camera_sensor_properties.cpp index 7685524ad189..3672e8f0d79b 100644 --- a/src/libcamera/sensor/camera_sensor_properties.cpp +++ b/src/libcamera/sensor/camera_sensor_properties.cpp @@ -309,6 +309,16 @@ const CameraSensorProperties *CameraSensorProperties::get(const std::string &sen .hblankDelay = 3 }, } }, + { "imx662", { + .unitCellSize = { 2900, 2900 }, + .testPatternModes = {}, + .sensorDelays = { + .exposureDelay = 2, + .gainDelay = 2, + .vblankDelay = 2, + .hblankDelay = 2 + }, + } }, { "imx678", { .unitCellSize = { 2000, 2000 }, .testPatternModes = {},
Add the camera sensor properties and camera helper entry for the Sony IMX662 sensor. Signed-off-by: Naushir Patuck <naush@raspberrypi.com> --- src/ipa/libipa/camera_sensor_helper.cpp | 12 ++++++++++++ src/libcamera/sensor/camera_sensor_properties.cpp | 10 ++++++++++ 2 files changed, 22 insertions(+)