-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Somebody in the thread at some point said: | On 4/28/08, Andy Green <[EMAIL PROTECTED]> wrote: | [..] |> The FIQ is only lightly used actually, so as not to eat power the bulk |> of the time no FIQs occur. Only when we want to do something like read |> the battery state it runs a timer to cause FIQs. At all other times it |> doesn't hurt if the FIQ source is something different since no timer |> events will come. | | This sounds strange to me. Why do we use FIQ to run a timer when we | have RTC and why is this needed for reading the battery state? I think | this can be solved in other ways.
We use a timer to generate a bunch of interrupts that are closely and accurately spaced with almost no jitter, allowing generating waveforms to, and sampling them from the single wire to the battery. The protocol the battery uses is asynchronous and we need to write, read and decode it accurately just using one GPIO, over several milliseconds but without blocking the CPU and regardless of what drivers might be doing turning off interrupts or whatever. That's actually quite a trick. - -Andy -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iEYEARECAAYFAkgWNF8ACgkQOjLpvpq7dMog+gCgjmAR+zdG5hMiMNoJRAQGDbft gwYAn3p4vtbUHbZGfOET0Nxf4hiN5zJl =LtLW -----END PGP SIGNATURE-----
