Ticket #42 (closed task: fixed)
Audio driver for AD1888 - sensor input mode
|Reported by:||jg||Owned by:||dilinger|
|Keywords:||relnote||Cc:||Jaya, Kumar, <jayakumar.lkml@…>, mtosatti@…|
|Deployments affected:||Blocked By:|
There are three pieces to this (excluding verification of power management).
One is an addition to ALSA to add a control to enable sensor (DC) input mode.
This is complete and upstream:
http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02856b5684677b74095069c3be4774c2992e4fdc This is approximately 2.6.16-rc1, in case anybody is keeping track of those things. So both rawhide and the olpc-2.6 git tree should have it.
The AD1888 driver itself is believed to be in good shape, other than testing that all unused parts of the chip have been correctly powered down.
There are two additional items:
o control of the hi-pass filter in the AD1888, which is under control of an undocumented bit in an undocumented register o control of the capacitive coupling circuitry on the OLPC PC board that is under control of a GPIO pin of the ENE embedded controller.
The first of these is from mail from Miller Puckette:
Tonight I talked with Gero Leonardo at Analog Devices who told me that there is indeed a high-pass filter in the AD1888 input chain. There is, moreover, a bit in a testing register that can turn it off. One sets bit 12 of register 5C (hex) to one to disable the high-pass, and to zero to enable it (the default.) This is the 0x1000 bit in C parlance. As usual, the correct thing to do is to read the register, 'or' the bit in or 'and' it out, and rewrite. I tried this and behold, DC voltage measurement works! Gero warned me that the precision of DC measurement might be substantially less than for AC, but at first glance it looks fine for my purposes at least.
The second is attached.