[U-Boot] [PATCH] integrator: remove fragile delay loop from PCI code

Wolfgang Denk wd at denx.de
Sun Mar 4 21:22:23 CET 2012

Dear "Linus Walleij",

In message <1330806073-32317-1-git-send-email-linus.walleij at linaro.org> you wrote:
> The reference implementation of the PCI initialization code almost
> everywhere contain this fragile loop of "a few usecs", and its
> use of volatile variables to delay a number of bus cycles is indeed
> uncertain.
> Reading the manual "Integrator/AP Users Guide", page 5-15 it is
> clearly stated:
> "Wait until 230ms after the end of the reset period before
> accessing V360EPC internal registers. The V360EPC supports the
> use of a serial configuration PROM and the software must wait for
> the device to detect the absence of this PROM before accessing any
> registers. The required delay is a function of the PCI Clock, but
> at the lower frequency (25MHz) is 230ms".
> So let's simply wait 230ms per the spec.
> This solves the compilation error that looked like this:
> pci.c: In function ‘pci_init_board’:
> pci.c:286:18: warning: variable ‘j’ set but not used
> Reported-by: Wolfgang Denk <wd at denx.de>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
>  board/armltd/integrator/pci.c |    7 ++-----
>  1 files changed, 2 insertions(+), 5 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
It may be bad manners to talk with your mouth full, but it isn't  too
good either if you speak when your head is empty.

More information about the U-Boot mailing list