Re: [PATCH v2 1/5] media: i2c: imx335: Drop setting of 0x3a00 register

From: Matthias Fend
Date: Wed Jan 31 2024 - 06:20:53 EST


Hi Kieran,

Am 31.01.2024 um 10:52 schrieb Kieran Bingham:
Hi Umang,

+ Cc: Matthias

Quoting Umang Jain (2024-01-31 05:52:04)
Register 0x3a00 is a reserved field as per the IMX335 datasheet,
hence shouldn't be set by the driver.

We still need to explain more about why we're dropping this register
write, and what effects it causes.

Matthias - I believe this stemmed from the work you did, and I think I
recall that you stated this register write broke the CSI2 configuration?

Can you clarify anything here for us please?

yes, that's correct.

Since this driver originally did not work in my setup, I came across this register while searching for differences to my working reference configuration.
With the default value of this register (0x00), the driver works perfectly. With the value previously written to it by the driver (0x01), I cannot receive any frames.
The problem may depend on the link frequency used.
I can only use and test a frequency of 445.5MHz on my hardware. Since only link frequencies of 594MHz were supported so far, this may not have been a problem.

Unfortunately I do not have a description of this register, so I can only speculate about the exact cause.

~Matthias


--
Kieran



Signed-off-by: Umang Jain <umang.jain@xxxxxxxxxxxxxxxx>
---
drivers/media/i2c/imx335.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/media/i2c/imx335.c b/drivers/media/i2c/imx335.c
index 7a37eb327ff4..927b4806a5d7 100644
--- a/drivers/media/i2c/imx335.c
+++ b/drivers/media/i2c/imx335.c
@@ -249,7 +249,6 @@ static const struct imx335_reg mode_2592x1940_regs[] = {
{0x3794, 0x7a},
{0x3796, 0xa1},
{0x37b0, 0x36},
- {0x3a00, 0x01},
};
static const struct imx335_reg raw10_framefmt_regs[] = {
--
2.41.0