> 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.

Reply via email to