summaryrefslogtreecommitdiff
path: root/src/soc/rockchip/rk3288
diff options
context:
space:
mode:
authorAaron Durbin <adurbin@chromium.org>2014-09-24 09:53:15 -0500
committerPatrick Georgi <pgeorgi@google.com>2015-03-26 08:53:51 +0100
commita32a9d1c48c6863bc219d95497323155e8874c2b (patch)
treedfbe418ce98875563c343c4d29e3ccaa7a4f6550 /src/soc/rockchip/rk3288
parenta88c9197674be58f993a3cf104b4554f190d7b12 (diff)
downloadcoreboot-a32a9d1c48c6863bc219d95497323155e8874c2b.tar.xz
rk3288: switch to stopwatch API
Instead of using rela_time use the stopwatch API as the semantics fit perfectly with the expiration usage. BUG=None BRANCH=None TEST=None, but similar usage tested on tegra132. Change-Id: I91ef59212a2dd1b48640b1aaaab6acacf4e9b3e6 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: b1dd8380f04641f4f73caa3441f349d9eca6be05 Original-Change-Id: Iff3293debc2f85553c9e9b765084e5c00720012c Original-Signed-off-by: Aaron Durbin <adurbin@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/219713 Original-Reviewed-by: Julius Werner <jwerner@chromium.org> Original-Reviewed-by: Furquan Shaikh <furquan@chromium.org> Reviewed-on: http://review.coreboot.org/8895 Tested-by: build bot (Jenkins) Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Diffstat (limited to 'src/soc/rockchip/rk3288')
-rw-r--r--src/soc/rockchip/rk3288/spi.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/soc/rockchip/rk3288/spi.c b/src/soc/rockchip/rk3288/spi.c
index 396f537a01..844d692aa4 100644
--- a/src/soc/rockchip/rk3288/spi.c
+++ b/src/soc/rockchip/rk3288/spi.c
@@ -167,14 +167,13 @@ void spi_release_bus(struct spi_slave *slave)
static int rockchip_spi_wait_till_not_busy(struct rockchip_spi *regs)
{
- struct mono_time start;
- struct rela_time rt;
- timer_monotonic_get(&start);
+ struct stopwatch sw;
+
+ stopwatch_init_usecs_expire(&sw, SPI_TIMEOUT_US);
do {
if (!(readl(&regs->sr) & SR_BUSY))
return 0;
- rt = current_time_from(&start);
- } while (rela_time_in_microseconds(&rt) < SPI_TIMEOUT_US);
+ } while (!stopwatch_expired(&sw));
printk(BIOS_DEBUG,
"RK SPI: Status keeps busy for 1000us after a read/write!\n");
return -1;