Hi Jacopo, Thank you for the patch. On Mon, Apr 12, 2021 at 11:34:45AM +0200, Jacopo Mondi wrote: > 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@xxxxxxxxxxxxxxxx> > Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > 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) -- Regards, Laurent Pinchart