RE: [EXT] Re: [PATCH] spi: nxp-fspi: Add 1us delay to make controller ready for next transaction

2020-04-16 Thread Ashish Kumar


> -Original Message-
> From: U-Boot  On Behalf Of Jagan Teki
> Sent: Friday, April 3, 2020 8:09 PM
> To: Kuldeep Singh 
> Cc: U-Boot-Denx 
> Subject: [EXT] Re: [PATCH] spi: nxp-fspi: Add 1us delay to make controller
> ready for next transaction
> 
> Caution: EXT Email
> 
> On Mon, Feb 24, 2020 at 4:52 PM Kuldeep Singh 
> wrote:
> >
> > Board gets reset when performing burst read/write operations. On the
> > other hand, no such behaviour is observed on small size operations.
> >
> > In Linux, readl_poll_timeout API already add delay of 1us which is
> > skipped in U-boot. Since, NXP Flexspi U-boot driver is a ported
> > version of Linux driver and U-boot poll_timeout API lacks delay
> > functionality, add 1us delay so as to make controller ready for other
> transactions.
> >
> > Signed-off-by: Kuldeep Singh 
> > ---
> >  drivers/spi/nxp_fspi.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/spi/nxp_fspi.c b/drivers/spi/nxp_fspi.c index
> > 0e6c7be..9703642 100644
> > --- a/drivers/spi/nxp_fspi.c
> > +++ b/drivers/spi/nxp_fspi.c
> > @@ -756,6 +756,7 @@ static int nxp_fspi_exec_op(struct spi_slave *slave,
> > err = fspi_readl_poll_tout(f, f->iobase + FSPI_STS0,
> >FSPI_STS0_ARB_IDLE, 1, POLL_TOUT, true);
> > WARN_ON(err);
> > +   udelay(1);
> 
> Can you add relevant comments here, why is it for udelay(1) ?
Hi Jagan,
 
Watchdog gets triggered for large read/write/erase since this delay is not 
present in this API(readl_poll_timeout), add this delay here.

Regards
Ashish 


Re: [PATCH] spi: nxp-fspi: Add 1us delay to make controller ready for next transaction

2020-04-03 Thread Jagan Teki
On Mon, Feb 24, 2020 at 4:52 PM Kuldeep Singh  wrote:
>
> Board gets reset when performing burst read/write operations. On the
> other hand, no such behaviour is observed on small size operations.
>
> In Linux, readl_poll_timeout API already add delay of 1us which is
> skipped in U-boot. Since, NXP Flexspi U-boot driver is a ported version
> of Linux driver and U-boot poll_timeout API lacks delay functionality,
> add 1us delay so as to make controller ready for other transactions.
>
> Signed-off-by: Kuldeep Singh 
> ---
>  drivers/spi/nxp_fspi.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/spi/nxp_fspi.c b/drivers/spi/nxp_fspi.c
> index 0e6c7be..9703642 100644
> --- a/drivers/spi/nxp_fspi.c
> +++ b/drivers/spi/nxp_fspi.c
> @@ -756,6 +756,7 @@ static int nxp_fspi_exec_op(struct spi_slave *slave,
> err = fspi_readl_poll_tout(f, f->iobase + FSPI_STS0,
>FSPI_STS0_ARB_IDLE, 1, POLL_TOUT, true);
> WARN_ON(err);
> +   udelay(1);

Can you add relevant comments here, why is it for udelay(1) ?


[PATCH] spi: nxp-fspi: Add 1us delay to make controller ready for next transaction

2020-02-24 Thread Kuldeep Singh
Board gets reset when performing burst read/write operations. On the
other hand, no such behaviour is observed on small size operations.

In Linux, readl_poll_timeout API already add delay of 1us which is
skipped in U-boot. Since, NXP Flexspi U-boot driver is a ported version
of Linux driver and U-boot poll_timeout API lacks delay functionality,
add 1us delay so as to make controller ready for other transactions.

Signed-off-by: Kuldeep Singh 
---
 drivers/spi/nxp_fspi.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/spi/nxp_fspi.c b/drivers/spi/nxp_fspi.c
index 0e6c7be..9703642 100644
--- a/drivers/spi/nxp_fspi.c
+++ b/drivers/spi/nxp_fspi.c
@@ -756,6 +756,7 @@ static int nxp_fspi_exec_op(struct spi_slave *slave,
err = fspi_readl_poll_tout(f, f->iobase + FSPI_STS0,
   FSPI_STS0_ARB_IDLE, 1, POLL_TOUT, true);
WARN_ON(err);
+   udelay(1);
 
nxp_fspi_prepare_lut(f, op);
/*
-- 
2.7.4