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+rene...@jmondi.org>
---
 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

Reply via email to