ARM: mxs: spl_boot.c: make early_delay more robust
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Tue, 10 Sep 2019 08:32:01 +0000 (08:32 +0000)
committerStefano Babic <sbabic@denx.de>
Tue, 7 Jan 2020 09:26:57 +0000 (10:26 +0100)
commitb6e7ef4bf71bc0927dea35fdec0a653a82ae57a7
tree6b870c89ecf8a4168546bea92c6f865c9143cd3c
parentb1278a8e3eb1a18e65bf24f8ca338460d0ef0278
ARM: mxs: spl_boot.c: make early_delay more robust

It's true that booting normally doesn't take long enough for the
register to roll (which actually happens in a little over an hour, not
just a few seconds). However, the counter starts at power-on, and if
the board is held in reset to be booted over USB, one actually risks
hitting wrap-around during boot, which can both result in too short
delays (if the "st += delay" calculation makes st small) and
theoretically also unbound delays (if st ends up being UINT_MAX and
one just misses sampling digctl_microseconds at that point).

It doesn't take more code to DTRT, and once bitten, twice shy.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
arch/arm/cpu/arm926ejs/mxs/spl_boot.c