public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v2 0/3] misc: atsha204a: bug fixes
@ 2022-01-11 18:05 Adrian Fiergolski
  2022-01-11 18:05 ` [PATCH v2 1/3] misc: atsha204a: return timeout from wakeup function Adrian Fiergolski
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Adrian Fiergolski @ 2022-01-11 18:05 UTC (permalink / raw)
  To: u-boot; +Cc: marek.behun, tmshlvck, jbd, Adrian Fiergolski

Series of patches fixing atsha204a driver. Partially inspired by Enclustra's repo [1].

[1] https://github.com/enclustra-bsp/xilinx-uboot

Adrian Fiergolski (3):
  misc: atsha204a: return timeout from wakeup function
  misc: atsha204a: add delay after sending the message
  misc: atsha204a: fix i2c address readout from DTS

 drivers/misc/atsha204a-i2c.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH v2 1/3] misc: atsha204a: return timeout from wakeup function
  2022-01-11 18:05 [PATCH v2 0/3] misc: atsha204a: bug fixes Adrian Fiergolski
@ 2022-01-11 18:05 ` Adrian Fiergolski
  2022-01-11 18:54   ` Marek Behún
  2022-01-11 18:05 ` [PATCH v2 2/3] misc: atsha204a: add delay after sending the message Adrian Fiergolski
  2022-01-11 18:05 ` [PATCH v2 3/3] misc: atsha204a: fix i2c address readout from DTS Adrian Fiergolski
  2 siblings, 1 reply; 7+ messages in thread
From: Adrian Fiergolski @ 2022-01-11 18:05 UTC (permalink / raw)
  To: u-boot; +Cc: marek.behun, tmshlvck, jbd, Adrian Fiergolski

If the maximum number of wake-up attempts is exceeded, return -ETIMEDOUT.

Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
---
 drivers/misc/atsha204a-i2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
index 715dabb279..9d069fb33c 100644
--- a/drivers/misc/atsha204a-i2c.c
+++ b/drivers/misc/atsha204a-i2c.c
@@ -240,10 +240,10 @@ int atsha204a_wakeup(struct udevice *dev)
 		}
 
 		debug("success\n");
-		break;
+		return 0;
 	}
 
-	return 0;
+	return -ETIMEDOUT;
 }
 
 int atsha204a_idle(struct udevice *dev)
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 2/3] misc: atsha204a: add delay after sending the message
  2022-01-11 18:05 [PATCH v2 0/3] misc: atsha204a: bug fixes Adrian Fiergolski
  2022-01-11 18:05 ` [PATCH v2 1/3] misc: atsha204a: return timeout from wakeup function Adrian Fiergolski
@ 2022-01-11 18:05 ` Adrian Fiergolski
  2022-01-11 18:54   ` Marek Behún
  2022-01-11 18:05 ` [PATCH v2 3/3] misc: atsha204a: fix i2c address readout from DTS Adrian Fiergolski
  2 siblings, 1 reply; 7+ messages in thread
From: Adrian Fiergolski @ 2022-01-11 18:05 UTC (permalink / raw)
  To: u-boot; +Cc: marek.behun, tmshlvck, jbd, Adrian Fiergolski

Once request is sent, and before receiving a response, the delay is required.
This patch fixes missing delay for before first response try.

Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
---
 drivers/misc/atsha204a-i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
index 9d069fb33c..d264477927 100644
--- a/drivers/misc/atsha204a-i2c.c
+++ b/drivers/misc/atsha204a-i2c.c
@@ -280,6 +280,7 @@ static int atsha204a_transaction(struct udevice *dev, struct atsha204a_req *req,
 	}
 
 	do {
+		udelay(ATSHA204A_EXECTIME);
 		res = atsha204a_recv_resp(dev, resp);
 		if (!res || res == -EMSGSIZE || res == -EBADMSG)
 			break;
@@ -287,7 +288,6 @@ static int atsha204a_transaction(struct udevice *dev, struct atsha204a_req *req,
 		debug("ATSHA204A transaction polling for response "
 		      "(timeout = %d)\n", timeout);
 
-		udelay(ATSHA204A_EXECTIME);
 		timeout -= ATSHA204A_EXECTIME;
 	} while (timeout > 0);
 
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH v2 3/3] misc: atsha204a: fix i2c address readout from DTS
  2022-01-11 18:05 [PATCH v2 0/3] misc: atsha204a: bug fixes Adrian Fiergolski
  2022-01-11 18:05 ` [PATCH v2 1/3] misc: atsha204a: return timeout from wakeup function Adrian Fiergolski
  2022-01-11 18:05 ` [PATCH v2 2/3] misc: atsha204a: add delay after sending the message Adrian Fiergolski
@ 2022-01-11 18:05 ` Adrian Fiergolski
  2022-01-11 18:55   ` Marek Behún
  2 siblings, 1 reply; 7+ messages in thread
From: Adrian Fiergolski @ 2022-01-11 18:05 UTC (permalink / raw)
  To: u-boot; +Cc: marek.behun, tmshlvck, jbd, Adrian Fiergolski

This patch replaces use fdtdec_get_addr with simpler dev_read_addr().
fdtdec_get_addr doesn't work properly on ZynqMP-based (64bit) system. Although
not confirmed, it could be related to the fact, that quoting the documentation,
"This variant hard-codes the number of cells used to represent the address and
size based on sizeof(fdt_addr_t) and sizeof(fdt_size_t)".

Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>
---
 drivers/misc/atsha204a-i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
index d264477927..b89463babb 100644
--- a/drivers/misc/atsha204a-i2c.c
+++ b/drivers/misc/atsha204a-i2c.c
@@ -388,7 +388,7 @@ static int atsha204a_of_to_plat(struct udevice *dev)
 	fdt_addr_t *priv = dev_get_priv(dev);
 	fdt_addr_t addr;
 
-	addr = fdtdec_get_addr(gd->fdt_blob, dev_of_offset(dev), "reg");
+	addr = dev_read_addr(dev);
 	if (addr == FDT_ADDR_T_NONE) {
 		debug("Can't get ATSHA204A I2C base address\n");
 		return -ENXIO;
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 1/3] misc: atsha204a: return timeout from wakeup function
  2022-01-11 18:05 ` [PATCH v2 1/3] misc: atsha204a: return timeout from wakeup function Adrian Fiergolski
@ 2022-01-11 18:54   ` Marek Behún
  0 siblings, 0 replies; 7+ messages in thread
From: Marek Behún @ 2022-01-11 18:54 UTC (permalink / raw)
  To: Adrian Fiergolski; +Cc: u-boot, tmshlvck, jbd

On Tue, 11 Jan 2022 19:05:29 +0100
Adrian Fiergolski <adrian.fiergolski@fastree3d.com> wrote:

> If the maximum number of wake-up attempts is exceeded, return -ETIMEDOUT.
> 
> Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>


Reviewed-by: Marek Behún <marek.behun@nic.cz>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 2/3] misc: atsha204a: add delay after sending the message
  2022-01-11 18:05 ` [PATCH v2 2/3] misc: atsha204a: add delay after sending the message Adrian Fiergolski
@ 2022-01-11 18:54   ` Marek Behún
  0 siblings, 0 replies; 7+ messages in thread
From: Marek Behún @ 2022-01-11 18:54 UTC (permalink / raw)
  To: Adrian Fiergolski; +Cc: u-boot, tmshlvck, jbd

On Tue, 11 Jan 2022 19:05:30 +0100
Adrian Fiergolski <adrian.fiergolski@fastree3d.com> wrote:

> Once request is sent, and before receiving a response, the delay is required.
> This patch fixes missing delay for before first response try.
> 
> Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

Reviewed-by: Marek Behún <marek.behun@nic.cz>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH v2 3/3] misc: atsha204a: fix i2c address readout from DTS
  2022-01-11 18:05 ` [PATCH v2 3/3] misc: atsha204a: fix i2c address readout from DTS Adrian Fiergolski
@ 2022-01-11 18:55   ` Marek Behún
  0 siblings, 0 replies; 7+ messages in thread
From: Marek Behún @ 2022-01-11 18:55 UTC (permalink / raw)
  To: Adrian Fiergolski; +Cc: u-boot, tmshlvck, jbd

On Tue, 11 Jan 2022 19:05:31 +0100
Adrian Fiergolski <adrian.fiergolski@fastree3d.com> wrote:

> This patch replaces use fdtdec_get_addr with simpler dev_read_addr().
> fdtdec_get_addr doesn't work properly on ZynqMP-based (64bit) system. Although
> not confirmed, it could be related to the fact, that quoting the documentation,
> "This variant hard-codes the number of cells used to represent the address and
> size based on sizeof(fdt_addr_t) and sizeof(fdt_size_t)".
> 
> Signed-off-by: Adrian Fiergolski <adrian.fiergolski@fastree3d.com>

Reviewed-by: Marek Behún <marek.behun@nic.cz>

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-01-11 18:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-01-11 18:05 [PATCH v2 0/3] misc: atsha204a: bug fixes Adrian Fiergolski
2022-01-11 18:05 ` [PATCH v2 1/3] misc: atsha204a: return timeout from wakeup function Adrian Fiergolski
2022-01-11 18:54   ` Marek Behún
2022-01-11 18:05 ` [PATCH v2 2/3] misc: atsha204a: add delay after sending the message Adrian Fiergolski
2022-01-11 18:54   ` Marek Behún
2022-01-11 18:05 ` [PATCH v2 3/3] misc: atsha204a: fix i2c address readout from DTS Adrian Fiergolski
2022-01-11 18:55   ` Marek Behún

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox