On Mon, July 11, 2005 2:34 pm, Pavel Machek said: > Hi! > > 2.6.12-rc5 (and newer) does not boot on sharp zaurus sl-5500. It > blinks with green led, fast; what does it mean? I'd like to verify if > it at least reaches .c code in setup.c. I inserted this code at > begining of setup.c:674... > > #define locomo_writel(val,addr) ({ *(volatile u16 *)(addr) = (val); }) > #define LOCOMO_LPT_TOFH 0x80 > #define LOCOMO_LED 0xe8 > #define LOCOMO_LPT0 0x00 > > locomo_writel(LOCOMO_LPT_TOFH, LOCOMO_LPT0 + LOCOMO_LED); > > ...but that does not seem to do a trick -- it only breaks the boot :-( > (do I need to add some kind of IO_BASE?). > Pavel
No, that won't work. As Russell said, there are problems accessing memory before the io maps have been set up correctly. You can see the patch http://www.cs.wisc.edu/~lenz/zaurus/files/2.6.12-rc5/lenz-03-leds-2.6.12-rc5.patch need scroll near the bottom in file locomo.c to see how the led gets set. You won't actually be able to know where in memory that space is mapped because we call ioremap, and won't be able to access the locomo stuff until device_initcall. WARNING: Horrible hack! Ugly, ugly, ugly! First read and understand the warning at http://lists.arm.linux.org.uk/pipermail/linux-arm-kernel/2002-January/006730.html Having said that, either before the MMU has been activated or before the ioremap() has been called, it is sometimes possible to access the LEDs at the physical addresses they are located at. This may or may not work, might not always work, etc... but it can help as a last resort. On the SL5500, the physical address of the start of the locomo chip is 0x40000000, and the leds are at an offset of 0xe8, so something like volatile u16 *led = (volatile u16 *)0x400000e8; *led = 0x80; As the above email says, this is not guarenteed to work at all, will fail at some point in the boot process, but is something you can try. That said, I am aware that recent kernel versions have broken the boot on collie, but haven't looked at the problem in detail (i.e. tried doing a binary search between known working versions and broken ones to see the patch that introduced the problem). I have been working on the SL5600 recently. John - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/