I noticed that. It turns out that that isn't the issue.
You can write 0xffffffff to turn them off and 0 to turn them on if you are writing 32 bit words. However, when the system is reset and the LH79520 SMC controller resets it's configuration, the LEDs are inaccessible. I'm not sure if this is because the SMC controller is reset or because there is not yet an SDRAM clock. I've found that the latter is necessary before you can see the SRAM registers.
I'm using the BDI2000 JTAG interface. You can tell it to write to memory on start-up. In order to keep the system stable and to verify that it was a complete reset, I do three things:
WM8 0x54c00000 0xff ; Mask interrupts from NIC and touch screen
WM8 0x55600000 0x00 ; Turn on two of the LEDs
WM32 0xfffff014 0xffffffff ; Clear pending interrupts
The first is just a precaution. The second enables two of the three LEDs. The third clears pending interrupts which
was a problem in some instances where timer0 had generated an interrupt.
The thing is, I know that the system is correctly reset when the LEDs are off after a reset. If they are on, I know that LogicLoader has had a chance to initialize the SRAM controller before the BDI2000 stops it executing.
Really, I'm not too concerned anymore. I've got another boot loader working alright. Two of the LEDs are now usable. I haven't traced the schematic to see where the third one is enabled. But, I was hoping that someone at Logic would see fit to document all of this.
Cheers.