xref: /OK3568_Linux_fs/kernel/Documentation/fb/metronomefb.rst (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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