[U-Boot-Users] Re: [PATCH] 8xx: fix initialation bug/race condition between u-boot & linux

Pantelis Antoniou panto at intracom.gr
Wed Jun 18 09:35:11 CEST 2003

Wolfgang Denk wrote:

>In message <3EF00E16.3050604 at intracom.gr> you wrote:
>>  I think it's just proper defensive programming to always
>>do a CP reset in that case, and as soon as possible.
>Then probably the boot loader should do it before starting the  Linux
Yes, this is the best thing.

I propose we add two new functions to u-boot.

1. cpu_peripheral_reset()
   Do a reset for the on-chip peripherals of the cpu.
   For the 8xx family a CP reset is sufficient.

2. board_peripheral_reset()
   A conditional function controlled by CONFIG_HAVE_BOARD_PERIPHERAL_RESET.
   Do the reset for board specific peripherals.

And have them called before jumping into the kernel.

But this is a far reaching change for u-boot since
at least the cpu_peripheral_reset() must be implemented
for all the cpus that u-boot supports.
And I'm not talking about the boards.

The decision is yours Wolfgang.

>>The best thing we could do is do the reset at head_8xx.S.
>Note that such a change will kill all attempts for ealy debug  output
>over the serial console port.
That is truly unfortunate. Perhaps we can avoid the full
CP reset and do only the DMA peripheral reset in this case.
The buffers for the uart are in dpram anyway, so there no
chance for a crash.

>Wolfgang Denk


More information about the U-Boot mailing list