[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240903-imx290-avail-v4-0-e4a6c0837f0b@skidata.com>
Date: Tue, 03 Sep 2024 16:54:31 +0200
From: Benjamin Bara <bbara93@...il.com>
To: Mauro Carvalho Chehab <mchehab@...nel.org>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Sakari Ailus <sakari.ailus@...ux.intel.com>
Cc: Hans de Goede <hdegoede@...hat.com>,
Laurent Pinchart <laurent.pinchart@...asonboard.com>,
Alexander Stein <alexander.stein@...tq-group.com>,
Dave Stevenson <dave.stevenson@...pberrypi.com>,
linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
Benjamin Bara <benjamin.bara@...data.com>
Subject: [PATCH v4 0/3] media: i2c: imx290: check for availability in
probe()
Hi!
This series introduces i2c communication with the imx290 sensor during
probe s.t. the v4l2 subdev is not initialized when the chip is not
reachable.
The datasheets show that INCKSEL* registers have a different default
value after reset on imx290[1] and imx327[2], however I am not sure if
this is a sufficient identification option - therefore I just removed
the current CHIP_ID register for now.
Thank you all for the feedback and the discussion, I updated the series
to remove the trial and errors and reduced it to the suggested parts.
thanks & regards
Benjamin
[1] https://static6.arrow.com/aropdfconversion/c0c7efde6571c768020a72f59b226308b9669e45/sony_imx290lqr-c_datasheet.pdf
[2] https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/138/IMX327LQR_2D00_C_5F00_TechnicalDatasheet_5F00_E_5F00_Rev0.2.pdf
---
Changes in v4:
- old 1/7 is dropped due to the reuse of stop_streaming()
- old 2+4/7 are dropped due to forcing the subdev into an invalid state
- old 3/7 -> new 1/3: unchanged
- old 5/7 -> new 2/3: only uses the runtime PM to avoid communication
- old 6/7 -> new 3/3: uses stop_streaming() to prepare the sensor. This
function returns the return value of the cci_write() and is probably
more suitable than only setting the sensor to standby.
- old 7/7 is dropped, as the regulator enable detection is not really
suitable for the "flashing privacy LED" avoidance.
- Link to v3: https://lore.kernel.org/r/20240902-imx290-avail-v3-0-b32a12799fed@skidata.com
Changes in v3:
- probably better readable in the overview
- 1/2 -> 1+6/7
- 2/2 -> 3/7 (added R-b - thx for that)
- others are new based on the discussions/suggestions
- Link to v2: https://lore.kernel.org/r/20240828-imx290-avail-v2-0-bd320ac8e8fa@skidata.com
Changes in v2:
- dropped 1/2 to ignore the read value in cci_read() (old 2/2 -> new 1/2)
- 1/2: read-back standby mode instead and ensure that it is really in standby
- new 2/2: drop chip_id register definition which seems to be incorrect
- Link to v1: https://lore.kernel.org/r/20240807-imx290-avail-v1-0-666c130c7601@skidata.com
---
Benjamin Bara (3):
media: i2c: imx290: Remove CHIP_ID reg definition
media: i2c: imx290: Avoid communication during probe()
media: i2c: imx290: Check for availability in probe()
drivers/media/i2c/imx290.c | 30 +++++++++++++++++++++---------
1 file changed, 21 insertions(+), 9 deletions(-)
---
base-commit: eec5d86d5bac6b3e972eb9c1898af3c08303c52d
change-id: 20240807-imx290-avail-85795c27d988
Best regards,
--
Benjamin Bara <benjamin.bara@...data.com>
Powered by blists - more mailing lists