preparing pcf50633 for upstream

Werner Almesberger werner at openmoko.org
Sun Sep 28 00:32:10 CEST 2008


Balaji Rao wrote:
> Yes, one thing I noticed was that the pcf50633 driver works only with
> one instance of the hardware present. I was working to remove that
> limitation.

That's also a good thing to fix, thanks !

> (Btw, what is
> pwm and fiq ? - I'm not able to find any decent explanation anywhere).

PWM is Pulse-Width Modulation, in our case used for dimming LEDs
(using the PWM functionality of the 2442's timers) and controlling
the amount of power given to the vibrator (done via an FIQ).

The vibrator is also attached to a PWM-capable timer output, but
since we use this timer to trigger a periodic FIQ, the timer is no
longer available for the vibrator. Fortunately, the FIQ can just
accomplish the same in software.

The reason for introducing the FIQ in the first place was to
implement the HDQ protocol the Coulomb counter in the GTA02 battery
speaks.

FIQ (Fast Interrupt reQuest) are an ARM specialty. They're very
light-weight interrupts. Andy has written a brief article about
them that also outlines their limitations:
http://warmcat.com/_wp/2007/09/17/at91rm9200-fiq-faq-and-simple-example-code-patch/

- Werner



More information about the openmoko-kernel mailing list