mbox series

[v2,0/2] media: imx415: Add more clock configurations

Message ID 20231212072637.67642-1-alexander.stein@ew.tq-group.com (mailing list archive)
Headers show
Series media: imx415: Add more clock configurations | expand

Message

Alexander Stein Dec. 12, 2023, 7:26 a.m. UTC
Hi,

this small series converts the driver to using CCI helpers.
On top of that more clock setups are added to the driver.
These are all taken from the datasheet. I suspect they all can be calculated
dynamically later on.
Tested on TQMa8MPxL + MBa8MPxL + ISP + Vision Components IMX415 camera.

While working on the driver I notived that imx415 sets mbus code to
MEDIA_BUS_FMT_SGBRG10_1X10, while imx290 uses MEDIA_BUS_FMT_SRGGB10_1X10.
But the datasheets show the same color coding pattern. But both settings seem
to be correct, e.g. the resulting image has correct colors.

I had to remove the identity check locally. I suspect that Vision Components
interjects reading some registers.

Changes in v2:
* Removed explicit selection of REGMAP_I2C
* Dropped patch 3 for now. Mode selection shall be done by dynamic VMAX/HMAX
  calculations later on

Best regards,
Alexander

Alexander Stein (2):
  media: i2c: imx415: Convert to new CCI register access helpers
  media: i2c: imx415: Add more clock configurations

 drivers/media/i2c/Kconfig  |   1 +
 drivers/media/i2c/imx415.c | 651 +++++++++++++++++++++++--------------
 2 files changed, 416 insertions(+), 236 deletions(-)

Comments

Alexander Stein Dec. 12, 2023, 7:36 a.m. UTC | #1
Hi,

Am Dienstag, 12. Dezember 2023, 08:26:35 CET schrieb Alexander Stein:
> Hi,
> 
> this small series converts the driver to using CCI helpers.
> On top of that more clock setups are added to the driver.
> These are all taken from the datasheet. I suspect they all can be calculated
> dynamically later on.
> Tested on TQMa8MPxL + MBa8MPxL + ISP + Vision Components IMX415 camera.
> 
> While working on the driver I notived that imx415 sets mbus code to
> MEDIA_BUS_FMT_SGBRG10_1X10, while imx290 uses MEDIA_BUS_FMT_SRGGB10_1X10.
> But the datasheets show the same color coding pattern. But both settings
> seem to be correct, e.g. the resulting image has correct colors.
> 
> I had to remove the identity check locally. I suspect that Vision Components
> interjects reading some registers.
> 
> Changes in v2:
> * Removed explicit selection of REGMAP_I2C
> * Dropped patch 3 for now. Mode selection shall be done by dynamic VMAX/HMAX
> calculations later on

I forgot to mention: This series depends on [1] which is yet to be applied.

Best regards
Alexander

[1] https://lore.kernel.org/all/20231102095048.3222110-2-alexander.stein@ew.tq-group.com/

> Best regards,
> Alexander
> 
> Alexander Stein (2):
>   media: i2c: imx415: Convert to new CCI register access helpers
>   media: i2c: imx415: Add more clock configurations
> 
>  drivers/media/i2c/Kconfig  |   1 +
>  drivers/media/i2c/imx415.c | 651 +++++++++++++++++++++++--------------
>  2 files changed, 416 insertions(+), 236 deletions(-)
Laurent Pinchart Jan. 8, 2024, 10:52 a.m. UTC | #2
On Tue, Dec 12, 2023 at 08:26:35AM +0100, Alexander Stein wrote:
> Hi,
> 
> this small series converts the driver to using CCI helpers.
> On top of that more clock setups are added to the driver.
> These are all taken from the datasheet. I suspect they all can be calculated
> dynamically later on.
> Tested on TQMa8MPxL + MBa8MPxL + ISP + Vision Components IMX415 camera.
> 
> While working on the driver I notived that imx415 sets mbus code to
> MEDIA_BUS_FMT_SGBRG10_1X10, while imx290 uses MEDIA_BUS_FMT_SRGGB10_1X10.
> But the datasheets show the same color coding pattern. But both settings seem
> to be correct, e.g. the resulting image has correct colors.

The difference may be in the crop settings, of possibly flipping.

> I had to remove the identity check locally. I suspect that Vision Components
> interjects reading some registers.

:-(

I'm getting increasingly annoyed by vendors who play such tricks.

> Changes in v2:
> * Removed explicit selection of REGMAP_I2C
> * Dropped patch 3 for now. Mode selection shall be done by dynamic VMAX/HMAX
>   calculations later on
> 
> Best regards,
> Alexander
> 
> Alexander Stein (2):
>   media: i2c: imx415: Convert to new CCI register access helpers
>   media: i2c: imx415: Add more clock configurations
> 
>  drivers/media/i2c/Kconfig  |   1 +
>  drivers/media/i2c/imx415.c | 651 +++++++++++++++++++++++--------------
>  2 files changed, 416 insertions(+), 236 deletions(-)
Alexander Stein Jan. 19, 2024, 1:21 p.m. UTC | #3
Hi Laurent,

Am Montag, 8. Januar 2024, 11:52:42 CET schrieb Laurent Pinchart:
> On Tue, Dec 12, 2023 at 08:26:35AM +0100, Alexander Stein wrote:
> > Hi,
> > 
> > this small series converts the driver to using CCI helpers.
> > On top of that more clock setups are added to the driver.
> > These are all taken from the datasheet. I suspect they all can be
> > calculated dynamically later on.
> > Tested on TQMa8MPxL + MBa8MPxL + ISP + Vision Components IMX415 camera.
> > 
> > While working on the driver I notived that imx415 sets mbus code to
> > MEDIA_BUS_FMT_SGBRG10_1X10, while imx290 uses MEDIA_BUS_FMT_SRGGB10_1X10.
> > But the datasheets show the same color coding pattern. But both settings
> > seem to be correct, e.g. the resulting image has correct colors.
> 
> The difference may be in the crop settings, of possibly flipping.

I checked the flip ("inverted operation") settings on both sensors. The 
readout direction seems to be identical. Cropping areas are a bit different, 
and currently unconfigured. But left margin is 12, so I don't see how that 
could effect color order.

Best regards,
Alexander

> > I had to remove the identity check locally. I suspect that Vision
> > Components interjects reading some registers.
> :
> :-(
> 
> I'm getting increasingly annoyed by vendors who play such tricks.
> 
> > Changes in v2:
> > * Removed explicit selection of REGMAP_I2C
> > * Dropped patch 3 for now. Mode selection shall be done by dynamic
> > VMAX/HMAX> 
> >   calculations later on
> > 
> > Best regards,
> > Alexander
> > 
> > Alexander Stein (2):
> >   media: i2c: imx415: Convert to new CCI register access helpers
> >   media: i2c: imx415: Add more clock configurations
> >  
> >  drivers/media/i2c/Kconfig  |   1 +
> >  drivers/media/i2c/imx415.c | 651 +++++++++++++++++++++++--------------
> >  2 files changed, 416 insertions(+), 236 deletions(-)