misc: atsha204a: Increase wake delay by tWHI
authorPaweł Anikiel <pan@semihalf.com>
Fri, 17 Jun 2022 10:47:21 +0000 (12:47 +0200)
committerTien Fong Chee <tien.fong.chee@intel.com>
Fri, 1 Jul 2022 06:57:14 +0000 (14:57 +0800)
From the ATSHA204A datasheet (document DS40002025A):

Wake: If SDA is held low for a period greater than tWLO, the device
exits low-power mode and, after a delay of tWHI, is ready to receive
I2C commands.

tWHI value can be found in table 7-2.

Signed-off-by: Paweł Anikiel <pan@semihalf.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/misc/atsha204a-i2c.c

index aa6acf0..81ecb5b 100644 (file)
@@ -21,7 +21,8 @@
 #include <linux/bitrev.h>
 #include <u-boot/crc.h>
 
-#define ATSHA204A_TWLO                 60
+#define ATSHA204A_TWLO_US              60
+#define ATSHA204A_TWHI_US              2500
 #define ATSHA204A_TRANSACTION_TIMEOUT  100000
 #define ATSHA204A_TRANSACTION_RETRY    5
 #define ATSHA204A_EXECTIME             5000
@@ -109,7 +110,7 @@ int atsha204a_wakeup(struct udevice *dev)
                        continue;
                }
 
-               udelay(ATSHA204A_TWLO);
+               udelay(ATSHA204A_TWLO_US + ATSHA204A_TWHI_US);
 
                res = atsha204a_recv_resp(dev, &resp);
                if (res) {