On 23.12.2010 12:58, Andreas Bießmann wrote: > Dear Jens Scharsig, > > Am 18.12.2010 um 13:08 schrieb Jens Scharsig: > >> * remove LED initialization in front of relocation and bss init >> >> Signed-off-by: Jens Scharsig<js_at...@scharsoft.de> >> --- >> >> * prevents run C function on an uninitialized environment > > You are right, we do not have stack/bss setup when we call these two > c-functions. > > But in that case it is ok to do so cause we do just pc relative accesses > here, do not use bss variables and last we do not use the stack. > > Beside the fact that we could use it here as it is done since atmel posted > their at91rm9200 code we could ask if we need it or not. > > I think it is a nice helper for initialisation debugging and I used it from > time to time for my relocation investigations. But I think we do _not_ need > it in every arm920t/at91 board for every bootup. > It should be > a) enclosed in some ifdef to enable them conditionally on compile time > b) documented in a README and completely removed (some lines later too) > > Beside that one could state > c) completely removed (the whole coloured_LED stuff) as this is atmel > specific and other SoC use another interface to switch LED > if we decide to not use these LED features for bootup debugging. > > AFAIK this is also used in arm926ejs (at91sam only), Reinhard can you please > comment on that?
Quite funny, incidentally right this morning I tried to figure out how to use LEDs to assist a "blackbox" sort of system that has only 3 RG LEDs to signal u-boot phases and errors before kernel and application are ultimately started. This part of u-boot is quite messy, look at "status_led.h" for example... I agree the AT91 colored LED specialty should be removed, once we can agree on a useful common LED approach. And I think that should be working the other way. It is pointless to try to factorize it into a few LEDs with specific meanings. We should have one function like "show_status(int status)" with various statuses defined like: LED_STATUS_RESET, _BEFORE_RELOC, _AFTER_RELOC, _SENT_DHCP, _STARTING_KERNEL, _CRASHED, ... Then it is up to the board specific code to drive multicolored LEDs, an LCDisplay, some seven-segment displays or even relais. But I guess that's too futuristic, and as always there is a lot of existing code that does it in various different ways :( Best Regards, Reinhard _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot