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>
This commit is contained in:
committed by
Jagan Teki
parent
ce786ae391
commit
28029c768c
@@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user