FIQ (was Motion Sensor Status)

Andy Green andy at
Fri Jan 25 13:04:12 CET 2008

Hash: SHA1

Somebody in the thread at some point said:

> I made a start on this tonight and have a basically empty but working C
> FIQ ISR now off timer 3, seems to have inherited a rate of something
> like ~20K FIQ a second (~50us period) which doesn't make problems.

This stuff has now replaced the Vibrator PWM implementation for GTA02
successfully here using FIQ... the FIQs only run for as long as they
have a task and turn themselves off automatically until a new task
comes.  Vibrator has the same interface, but is now done using PWM in
the FIQ ISR and with GPIO controlling the output.  GTA-01 should go on
as before.

I'm going to start on implementing the SPI bitbang to the motion sensors
in FIQ now, so I won't post the patches here yet since I will probably
need to do more to them.  If you're interested in the patch structure
and the architecture impact, you can see the situation right now at;a=shortlog;h=andy

from the fiq-basis patches up -- nothing much in the motion sensor
support ones yet though obviously.  If you want to actually try it just
clone that tree and check out the andy branch.

Right now for testing you can confirm FIQ operation by

$ cat /sys/devices/platform/spi_s3c24xx_gpio.1/spi0.1/fiq_count

and setting the vibrator on and off will show up in the fiq_count numbers

$ echo 255 > /sys/class/leds/neo1973:vibrator/brightness
$ echo 0 > /sys/class/leds/neo1973:vibrator/brightness
$ cat /sys/devices/platform/spi_s3c24xx_gpio.1/spi0.1/fiq_count

- -Andy
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora -


More information about the openmoko-kernel mailing list