The MAX9271 chip manual prescribes a delay of 5 milliseconds after the chip exists from low power state. Adjust the required delay in the rdacm21 camera module and add it to the rdacm20 that currently doesn't implement one. Signed-off-by: Jacopo Mondi <jacopo+renesas@xxxxxxxxxx> --- drivers/media/i2c/rdacm20.c | 1 + drivers/media/i2c/rdacm21.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/media/i2c/rdacm20.c b/drivers/media/i2c/rdacm20.c index ea30cc936531..39e4b4241870 100644 --- a/drivers/media/i2c/rdacm20.c +++ b/drivers/media/i2c/rdacm20.c @@ -460,6 +460,7 @@ static int rdacm20_initialize(struct rdacm20_device *dev) /* Verify communication with the MAX9271: ping to wakeup. */ dev->serializer.client->addr = MAX9271_DEFAULT_ADDR; i2c_smbus_read_byte(dev->serializer.client); + usleep_range(5000, 8000); /* Serial link disabled during config as it needs a valid pixel clock. */ ret = max9271_set_serial_link(&dev->serializer, false); diff --git a/drivers/media/i2c/rdacm21.c b/drivers/media/i2c/rdacm21.c index 179d107f494c..b22a2ca5340b 100644 --- a/drivers/media/i2c/rdacm21.c +++ b/drivers/media/i2c/rdacm21.c @@ -453,7 +453,7 @@ static int rdacm21_initialize(struct rdacm21_device *dev) /* Verify communication with the MAX9271: ping to wakeup. */ dev->serializer.client->addr = MAX9271_DEFAULT_ADDR; i2c_smbus_read_byte(dev->serializer.client); - usleep_range(3000, 5000); + usleep_range(5000, 8000); /* Enable reverse channel and disable the serial link. */ ret = max9271_set_serial_link(&dev->serializer, false); -- 2.30.0