Hardware Drivers

From OLPC
Revision as of 15:24, 15 August 2006 by JordanCrouse (talk | contribs) (new X option)
Jump to: navigation, search

Video

FBDev Driver

The Geode GX Framebuffer (gxfb) driver is used in both LinuxBIOS and in the kernel proper during bootup. It provides simple unaccelerated framebuffer support and also helps drive the flatpanel.

Currently available in the olpc-2.6 GIT tree

You can change the resolution of the framebuffer two ways:

  • with the 'fbset' utility like so:
fbset -g <xres> <yres> <xres> <yres> <depth> -n
  • On the kernel command line:
 video=gxfb:<xres>-<yres>-<depth>@<refresh>

We have timings for all of the standard VESA modes, plus the special 1200x900 mode for the OLPC panel. Don't use the 1200x900 mode on a CRT - you could damage your monitor, or at the very least get a headache.

I spoke too soon. This fbdev mode works well on my multi-sync monitor. YMMV - use with caution, don't take internally, see your doctor if the symptoms don't go away, etc, etc.... JordanCrouse (Talk to me!) 14:57, 3 August 2006 (EDT)

mode "1200x900-85"
       # D: 132.767 MHz, H: 81.352 kHz, V: 85.008 Hz
       geometry 1200 900 1200 900 16
       timings 7532 216 88 41 13 128 3
       accel false
       rgba 5/11,6/5,5/0,0/0
endmode

X Video Driver

The Geode GX/LX Xorg graphics driver is a Xorg driver that is under development. It provides XAA support for the Geode GX and LX, and EXA support for the GX. It also provides a simple Xv driver for the GX. It's packaged as xorg-x11-drv-amd in Fedora Core, and also available on freedesktop.org: xorg-driver-xf86-video-amd GIT tree.

The following is an example "Device" entry to enable the driver:

Section "Device"
        Identifier "Geode"
        Driver "amd"
        
        # The following will enable the EXA driver.  Comment it to only use XAA
        Option "AccelMethod" "EXA"

        # The following tells the driver that the DCON panel is in charge
        # Only use this if you have a DCON attached
        Option "DconPanel" "true"

        # The folloiwng tells the driver to use our custom mode (otherwise, it uses an internal table)
        # You will only want to use this if you have a DCON attached - the internal tables have most VESA modes
        Option "CustomMode" "true"

        # The following turns compression off - this allows the driver to use a linear pitch instead of a power of 2
        # Saving about 3MB of video memory for other uses 
        Option "NoCompression" "true" 
EndSection

The following modeline should match the correct OLPC panel timings:

Mode "1200x900"
        DotClock 57.275
        HTimings 1200 1208 1216 1240
        VTimings 900 905 908 912
        Flags    "+HSync" "+VSync"
EndMode

Marvell Wireless Driver

Is available in the GIT tree, but it would be great if it could be included in the next stream-image

Power Management

Audio

Note: need to verify that the audio sensor stuff actually made it upstream and come up with a test plan. Also need to document OLPC-specific bits.