All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacopo Mondi <jacopo+renesas@jmondi.org>
To: kieran.bingham+renesas@ideasonboard.com,
	laurent.pinchart+renesas@ideasonboard.com,
	niklas.soderlund+renesas@ragnatech.se, geert@linux-m68k.org
Cc: Jacopo Mondi <jacopo+renesas@jmondi.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH v4 11/17] media: i2c: rdacm20: Enable noise immunity
Date: Mon, 12 Apr 2021 11:34:45 +0200	[thread overview]
Message-ID: <20210412093451.14198-12-jacopo+renesas@jmondi.org> (raw)
In-Reply-To: <20210412093451.14198-1-jacopo+renesas@jmondi.org>

Enable the noise immunity threshold at the end of the rdacm20
initialization routine.

The rdacm20 camera module has been so far tested with a startup
delay that allowed the embedded MCU to program the serializer. If
the initialization routine is run before the MCU programs the
serializer and the image sensor and their addresses gets changed
by the rdacm20 driver it is required to manually enable the noise
immunity threshold to make the communication on the control channel
more reliable.

Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Jacopo Mondi <jacopo+renesas@jmondi.org>
---
 drivers/media/i2c/rdacm20.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c
index c1a717153303..5e0314a2b1ca 100644
--- a/drivers/media/i2c/rdacm20.c
+++ b/drivers/media/i2c/rdacm20.c
@@ -539,7 +539,19 @@ static int rdacm20_initialize(struct rdacm20_device *dev)
 
 	dev_info(dev->dev, "Identified MAX9271 + OV10635 device\n");
 
-	return 0;
+	/*
+	 * Set reverse channel high threshold to increase noise immunity.
+	 *
+	 * This should be compensated by increasing the reverse channel
+	 * amplitude on the remote deserializer side.
+	 *
+	 * TODO Inspect the embedded MCU programming sequence to make sure
+	 * there are no conflicts with the configuration applied here.
+	 *
+	 * TODO Clarify the embedded MCU startup delay to avoid write
+	 * collisions on the I2C bus.
+	 */
+	return max9271_set_high_threshold(&dev->serializer, true);
 }
 
 static int rdacm20_probe(struct i2c_client *client)
-- 
2.31.1


  parent reply	other threads:[~2021-04-12  9:52 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-12  9:34 [PATCH v4 00/17] media: gmsl: Reliability improvements Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 01/17] media: i2c: max9286: Adjust parameters indent Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 02/17] media: i2c: max9286: Rename reverse_channel_mv Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 03/17] media: i2c: max9286: Cache channel amplitude Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 04/17] media: i2c: max9286: Define high " Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 05/17] media: i2c: max9286: Rework comments in .bound() Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 06/17] media: i2c: max9271: Check max9271_write() return Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 07/17] media: i2c: max9271: Introduce wake_up() function Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 08/17] media: i2c: rdacm21: Add dealy after OV490 reset Jacopo Mondi
2021-04-14 16:49   ` Kieran Bingham
2021-04-14 23:10   ` Laurent Pinchart
2021-04-12  9:34 ` [PATCH v4 09/17] media: i2c: rdacm21: Fix OV10640 powerup Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 10/17] media: i2c: rdacm21: Power up OV10640 before OV490 Jacopo Mondi
2021-04-14 23:13   ` Laurent Pinchart
2021-04-12  9:34 ` Jacopo Mondi [this message]
2021-04-14 23:14   ` [PATCH v4 11/17] media: i2c: rdacm20: Enable noise immunity Laurent Pinchart
2021-04-12  9:34 ` [PATCH v4 12/17] media: i2c: rdacm20: Embed 'serializer' field Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 13/17] media: i2c: rdacm20: Report camera module name Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 14/17] media: i2c: rdacm20: Check return values Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 15/17] media: i2c: rdacm20: Re-work ov10635 reset Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 16/17] media: v4l2-subdev: De-deprecate init() subdev op Jacopo Mondi
2021-04-15 12:31   ` Jacopo Mondi
2021-06-14  7:34   ` Jacopo Mondi
2021-06-14  8:51   ` Hans Verkuil
2021-06-14  9:45     ` Jacopo Mondi
2021-06-14  9:55       ` Hans Verkuil
2021-06-14 15:17         ` Jacopo Mondi
2021-04-12  9:34 ` [PATCH v4 17/17] media: gmsl: Reimplement initialization sequence Jacopo Mondi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210412093451.14198-12-jacopo+renesas@jmondi.org \
    --to=jacopo+renesas@jmondi.org \
    --cc=geert@linux-m68k.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=laurent.pinchart+renesas@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=mchehab@kernel.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.