> We already tried using the kernel timers of linux, but they were too slow to make a decent > PWMfrequency (100Hz max gave a flickering backlight). We experimented with threads > yesterday, but they are apparently also dependent of the kernel timers.
There are unused OSMR registers (OSMR1, 2, 3) which can be used to generate interrupts on a much more finely-grained basis. See include/asm-arm/arch-sa1100/time.h for an example of how to set up the timer. I've had no problems with triggering over 1000 interrupts per second as normal IRQs; much faster than this and you may want to consider using FIQs which will reduce the interrupt servicing overhead. Try with IRQs first, though, you may have no problems. As you reprogram the OSMRx every IRQ, you will need 2 IRQs per cycle of PWM (high, low). I suspect 500Hz will probably not look flickery. Hugo _______________________________________________ http://lists.arm.linux.org.uk/mailman/listinfo/linux-arm Please visit the above address for information on this list.
