1*4882a593Smuzhiyun=========== 2*4882a593SmuzhiyunMetronomefb 3*4882a593Smuzhiyun=========== 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunMaintained by Jaya Kumar <jayakumar.lkml.gmail.com> 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunLast revised: Mar 10, 2008 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunMetronomefb is a driver for the Metronome display controller. The controller 10*4882a593Smuzhiyunis from E-Ink Corporation. It is intended to be used to drive the E-Ink 11*4882a593SmuzhiyunVizplex display media. E-Ink hosts some details of this controller and the 12*4882a593Smuzhiyundisplay media here http://www.e-ink.com/products/matrix/metronome.html . 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunMetronome is interfaced to the host CPU through the AMLCD interface. The 15*4882a593Smuzhiyunhost CPU generates the control information and the image in a framebuffer 16*4882a593Smuzhiyunwhich is then delivered to the AMLCD interface by a host specific method. 17*4882a593SmuzhiyunThe display and error status are each pulled through individual GPIOs. 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunMetronomefb is platform independent and depends on a board specific driver 20*4882a593Smuzhiyunto do all physical IO work. Currently, an example is implemented for the 21*4882a593SmuzhiyunPXA board used in the AM-200 EPD devkit. This example is am200epd.c 22*4882a593Smuzhiyun 23*4882a593SmuzhiyunMetronomefb requires waveform information which is delivered via the AMLCD 24*4882a593Smuzhiyuninterface to the metronome controller. The waveform information is expected to 25*4882a593Smuzhiyunbe delivered from userspace via the firmware class interface. The waveform file 26*4882a593Smuzhiyuncan be compressed as long as your udev or hotplug script is aware of the need 27*4882a593Smuzhiyunto uncompress it before delivering it. metronomefb will ask for metronome.wbf 28*4882a593Smuzhiyunwhich would typically go into /lib/firmware/metronome.wbf depending on your 29*4882a593Smuzhiyunudev/hotplug setup. I have only tested with a single waveform file which was 30*4882a593Smuzhiyunoriginally labeled 23P01201_60_WT0107_MTC. I do not know what it stands for. 31*4882a593SmuzhiyunCaution should be exercised when manipulating the waveform as there may be 32*4882a593Smuzhiyuna possibility that it could have some permanent effects on the display media. 33*4882a593SmuzhiyunI neither have access to nor know exactly what the waveform does in terms of 34*4882a593Smuzhiyunthe physical media. 35*4882a593Smuzhiyun 36*4882a593SmuzhiyunMetronomefb uses the deferred IO interface so that it can provide a memory 37*4882a593Smuzhiyunmappable frame buffer. It has been tested with tinyx (Xfbdev). It is known 38*4882a593Smuzhiyunto work at this time with xeyes, xclock, xloadimage, xpdf. 39