Thread (13 messages) 13 messages, 4 authors, 2021-06-02

Re: [PATCH v3 3/5] media: i2c: add driver for the SK Hynix Hi-846 8M pixel camera

From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Date: 2021-06-02 17:58:04
Also in: linux-media, lkml, phone-devel

Hi Martin,

On Wed, Jun 02, 2021 at 02:00:11PM +0200, Martin Kepplinger wrote:
Am Dienstag, dem 01.06.2021 um 03:14 +0300 schrieb Laurent Pinchart:
quoted
On Mon, May 31, 2021 at 02:07:35PM +0200, Martin Kepplinger wrote:
quoted
The SK Hynix Hi-846 is a 1/4" 8M Pixel CMOS Image Sensor. It supports
usual features like I2C control, CSI-2 for frame data, digital/analog
gain control or test patterns.

This driver supports the 640x480, 1280x720 and 1632x1224 resolution
modes. It supports runtime PM in order not to draw any unnecessary
power.

The part is also called YACG4D0C9SHC and a datasheet can be found at
https://product.skhynix.com/products/cis/cis.go

The large sets of partly undocumented register values are for example
found when searching for the hi846_mipi_raw_Sensor.c Android driver.
A common story, unfortunately :-S

I've done an initial review, I'll likely have more comments on v4, but
you should have quite a few things to address already :-)
quoted
Signed-off-by: Martin Kepplinger <redacted>
---
 MAINTAINERS                |    6 +
 drivers/media/i2c/Kconfig  |   13 +
 drivers/media/i2c/Makefile |    1 +
 drivers/media/i2c/hi846.c  | 2138 ++++++++++++++++++++++++++++++++++++
 4 files changed, 2158 insertions(+)
 create mode 100644 drivers/media/i2c/hi846.c
[snip]
Thank you, Laurent for that wonderful review. It made me rework/fix the
power supply interface + sequencing in the driver (and even better
understand how it's supplied on my board).

I want to take all your review into account for a next revision, except
for the additional bits for the register definitions, that should
encode the length, if that's ok. We can choose whether to write 1 or 2
bytes at a given address and it just looks nice and simple to me as it
is.
I won't push strongly, but in my experience it's error-prone, as it's
easy to select the incorrect number of bytes. That's what led me to
create this mechanism to bundle register addresses and sizes, it has
simplified my life when writing drivers. I think it should actually be
turned into a helper, possibly provided by regmap.

-- 
Regards,

Laurent Pinchart
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help