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+rene...@ideasonboard.com>
> Signed-off-by: Jacopo Mondi <jacopo+rene...@jmondi.org>

Reviewed-by: Laurent Pinchart <laurent.pinch...@ideasonboard.com>

> ---
>  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

Reply via email to