[PATCH] misc: atsha204a: Don't check for error when waking up the device

Stefan Roese sr at denx.de
Tue Aug 9 13:36:10 CEST 2022


On 04.08.22 13:03, Pali Rohár wrote:
> The device ignores any levels or transitions on the SCL pin when the device
> is idle, asleep or during waking up.
> 
> Linux kernel driver for atsha204a (atmel-sha204a.ko) also ignores return
> value from i2c wakeup send command, see:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/crypto/atmel-i2c.c?h=v5.19#n174
> 
> And also userspace Turris libatsha204 library ignores return value from
> wakeup send command, see:
> https://gitlab.nic.cz/turris/libatsha204/-/blob/v29.2/src/libatsha204/layer_ni2c.c#L75-76
> 
> U-Boot driver should do same thing.
> 
> Fixes waking up ATSHA204 on Turris 1.x boards.
> 
> Signed-off-by: Pali Rohár <pali at kernel.org>

Applied to u-boot-marvell/master

Thanks,
Stefan

> ---
>   drivers/misc/atsha204a-i2c.c | 11 ++++++-----
>   1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/misc/atsha204a-i2c.c b/drivers/misc/atsha204a-i2c.c
> index 81ecb5b6177b..fa2d5948f128 100644
> --- a/drivers/misc/atsha204a-i2c.c
> +++ b/drivers/misc/atsha204a-i2c.c
> @@ -103,12 +103,13 @@ int atsha204a_wakeup(struct udevice *dev)
>   	for (try = 1; try <= 10; ++try) {
>   		debug("Try %i... ", try);
>   
> +		/*
> +		 * The device ignores any levels or transitions on the SCL pin
> +		 * when the device is idle, asleep or during waking up.
> +		 * Don't check for error when waking up the device.
> +		 */
>   		memset(req, 0, 4);
> -		res = atsha204a_send(dev, req, 4);
> -		if (res) {
> -			debug("failed on I2C send, trying again\n");
> -			continue;
> -		}
> +		atsha204a_send(dev, req, 4);
>   
>   		udelay(ATSHA204A_TWLO_US + ATSHA204A_TWHI_US);
>   

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list