DCON: Difference between revisions

From OLPC
Jump to navigation Jump to search
(New DCON page)
 
 
(25 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{OLPC}}
== DCON overview ==
<noinclude>{{Translations}}</noinclude>


== Overview ==
DCON stands for Display CONtroller. As it says on the [[Hardware Specification]] page: The special "DCON" chip, that enables deswizzling and anti-aliasing in color mode, while enabling the display to remain live with the processor suspended. The following is a simple diagram detailing the various connections between the CPU and the DCON:


In order to support very low power operation, the [[Hardware#XO|XO laptop]] uses a secondary Display CONtroller, or DCON. This secondary controller is present in the video pipeline between the primary display controller (integrated into the processor or chipset) and the LCD panel. It allows the main processor/display controller to be completely powered off while still retaining an image on the display.
[[Image:dcon.png]]
== DCON Linux Driver ==


The following is a simple diagram detailing the various connections between the CPU and the DCON:
This section describes the Linux kernel drivers for the DCON and associated hardware.


[[Image:DCON_system.png|center|500px]]
=== Requirements ===


The processor initializes the DCON using the I2C interface. Typically, the DCON is in pass-through mode, where all video data is simply post-processed as needed for the LCD display and passed to the display. When the processor is about to enter suspend, it asserts the LOAD signal, and the DCON loads the post-processed image into its separate frame buffer and begins outputting that image instead of the video received from the primary frame buffer. Upon resume, the DCON is once again placed in pass-through mode.
The latest and greatest DCON code is in the 'dcon' branch of the geode GIT tree: <nowiki>git://git.infradead.net/users/jcrouse/geode.git</nowiki>.


The DCON ASIC provides several functions in addition to the secondary display controller functionality. These functions include anti-aliasing of the video and deswizzling in color mode, and luminance calculations in monochrome mode.
Make sure that you enable the following devices:
* The Geode GX frambuffer driver (CONFIG_FB_GEODE and CONFIG_FB_GEODE_GX). Make sure you build this into the kernel - its not useful as a module.
* The DCON driver (CONFIG_FB_GEODE_GX_DCON). You can either build this in to the kernel or use it as a module. Its much easier to debug as a module. This option automatically selects the I2C subsystem.
* The Geode ACB (smbus) driver (CONFIG_SCx200_ACB).
* The DCON backlight driver (CONFIG_BACKLIGHT_LCD_SUPPORT and CONFIG_BACKLIGHT_CLASS_DEVICE and CONFIG_BACKLIGHT_DCON). This module allows you to control the backlight through the existing kernel backlight mechanism.


=== Loading the DCON driver(s) ===


* Load the I2C driver (if you didn't build it in)
$ modprobe scx200_acb


== Additional Information ==
* Load the DCON driver
* The [[Media:DCON_Specification%2C_V0.8.odt|DCON Specification]].
$ modprobe gxfb_dcon
* [[Media:DCON_datasheet_HX8837-A.pdf|DCON Data Sheet]]
* [[DCON Linux Driver]]
* XO-1.75 B1 prototype SKU198 does not have DCON RAM, but does have a DCON.


[[Category:Display]]
* Load the backlight driver
[[Category:Developers]]
$ modprobe dcon_bl

The driver is now loaded. There should be two new platform drivers in /sys/devices/platform:

'''dcon''' i2c-0 power uevent
'''dcon-bl''' pcspkr serial8250

=== Using the DCON driver (/sys interface) ===

The DCON driver functionality is accessable through the /sys interface. This may not always be the case, since it might be a bit of a security issue, but its good for debugging. Here
is what the /sys/devices/platform/dcon directory looks like:
bus '''mode''' power '''source''' uevent
modalias '''output''' '''sleep''' subsystem

==== /sys/devices/platform/dcon/mode ====
This is a read only file that shows the current hex value of the DCON mode register (0x01).

==== /sys/devices/platform/dcon/output ====
This file lets you change the output mode from color to mono. Write a number to the file to change the mode:

0 = color

1 = mono

Read the file to see what the current mode is.

==== /sys/devices/platform/dcon/source ====
This file lets you change the source of the display from the CPU to the DCON. Write a number to the file to change the source:

0 = DCON

1 = CPU

Read the file to see what the current source is.

==== /sys/devices/platform/dcon/sleep ====
This file isn't yet implemented, but it will alow you to put the DCON into sleep mode.

Latest revision as of 22:42, 18 April 2013

  This page is monitored by the OLPC team.
  english | 한국어 HowTo [ID# 284432]  +/-  


Overview

In order to support very low power operation, the XO laptop uses a secondary Display CONtroller, or DCON. This secondary controller is present in the video pipeline between the primary display controller (integrated into the processor or chipset) and the LCD panel. It allows the main processor/display controller to be completely powered off while still retaining an image on the display.

The following is a simple diagram detailing the various connections between the CPU and the DCON:

DCON system.png

The processor initializes the DCON using the I2C interface. Typically, the DCON is in pass-through mode, where all video data is simply post-processed as needed for the LCD display and passed to the display. When the processor is about to enter suspend, it asserts the LOAD signal, and the DCON loads the post-processed image into its separate frame buffer and begins outputting that image instead of the video received from the primary frame buffer. Upon resume, the DCON is once again placed in pass-through mode.

The DCON ASIC provides several functions in addition to the secondary display controller functionality. These functions include anti-aliasing of the video and deswizzling in color mode, and luminance calculations in monochrome mode.


Additional Information