diff options
| author | Kuldeep Singh <kuldeep.singh@nxp.com> | 2020-04-27 12:38:51 +0530 | 
|---|---|---|
| committer | Jagan Teki <jagan@amarulasolutions.com> | 2020-05-11 01:30:49 +0530 | 
| commit | 28029c768c4761d10815f94cafbbdc86272f1d8d (patch) | |
| tree | 62a4e9faf05f2a6e0838e9af1288c093bfc473e6 /drivers/spi/nxp_fspi.c | |
| parent | ce786ae3913f3a006ec959cc9538d6c4d4114345 (diff) | |
spi: nxp-fspi: Use new readl_poll_sleep_timeout API
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 adds delay of 1us which is
further skipped in U-boot. Hence, use new "readl_poll_sleep_timeout" API
which adds delay alongwith timeout functionality.
Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com>
Diffstat (limited to 'drivers/spi/nxp_fspi.c')
| -rw-r--r-- | drivers/spi/nxp_fspi.c | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/drivers/spi/nxp_fspi.c b/drivers/spi/nxp_fspi.c index 0e6c7be785a..22a5c0e3c72 100644 --- a/drivers/spi/nxp_fspi.c +++ b/drivers/spi/nxp_fspi.c @@ -421,7 +421,7 @@ static bool nxp_fspi_supports_op(struct spi_slave *slave,  	return true;  } -/* Instead of busy looping invoke readl_poll_timeout functionality. */ +/* Instead of busy looping invoke readl_poll_sleep_timeout functionality. */  static int fspi_readl_poll_tout(struct nxp_fspi *f, void __iomem *base,  				u32 mask, u32 delay_us,  				u32 timeout_us, bool c) @@ -432,11 +432,11 @@ static int fspi_readl_poll_tout(struct nxp_fspi *f, void __iomem *base,  		mask = (u32)cpu_to_be32(mask);  	if (c) -		return readl_poll_timeout(base, reg, (reg & mask), -					  timeout_us); +		return readl_poll_sleep_timeout(base, reg, (reg & mask), +						delay_us, timeout_us);  	else -		return readl_poll_timeout(base, reg, !(reg & mask), -					  timeout_us); +		return readl_poll_sleep_timeout(base, reg, !(reg & mask), +						delay_us, timeout_us);  }  /* | 
