           RADEON 8500, RADEON 7500, MOBILITY RADEON 7500 
           (R200/RV200/M7) DDK base code
           September 4, 2001, ATI Technologies Inc.
                   
==========================================================
Notes:
** This code demonstrates register level driver development 
   to assist 3rd parties in the development of display drivers 
   for alternate operating systems and custom solutions.

For DDK code:
Development system configuration:
    RedHat 7.1, XFree86 4.10, x86 platform, GNU-C
Supported Chips:
    2D and VHA drivers: 
        R200, RV200, M7, RADEON, RADEON VE, M6
    3D driver:
        R200

With updated versions of XFree86 you may experience errors 
compiling. The code from XFree86 CVS site changes everyday. 

==========================================================
1. Features:
   (1) 2D acceleration and noBIOS setmode.
   (2) CP initialization and use.
   (3) TMDS support for digital flat panels.
   (4) Dual-head, DFP and CRT(R200 has only 1 DAC) using Xinerama.
   (5) EDID using DDC2(I2C) interface.
   (6) Xv extensions for basic overlay support. 
         Currently missing support for deinterlacing, gamma 
         control, alpha-blending, and VIP support. 
   (7) VHA library for hardware IDCT and motion compensation.
         Currently some mpeg2 functions are not fully supported 
         and tested.

2. Unsupported features and known bugs:
   (1) Monitor hot swapping (P&D) is not supported.
   (2) Power management is not fully implemented.
   (3) TV output is not supported in current version.

3. How to config:
   For our convention, we always treat the DVI (or DFP) port as 
   primary port and CRT port as secondary port. 
   (1) Single head setup: 
       Use only one Screen/Device/Monitor section in your 
       XF86Config file (If two Screen/Device/Monitor sections are 
       used for the same card, DRI will be Disabled). The content 
       in Screen/Device/Monitor section is the same as usual.
       If you use a flat panel display, you don't need to specify 
       HorizSync/VertRefresh values and you can use any 
       combinations of "XxY" in your Modes line as long as 
       640 =< X <= MaxPanelX and 480 =< Y <= MaxPanelY.
       a) For R200/RV200/RV100/M7/M6: 
          Driver will detect which port has monitor connected (at 
          boot time) and use the settings specified in the 
          Screen/Device/Monitor section for the connected monitor. 
          If both ports are connected (not recommended for single 
          Screen section), DVI port will be used by default. You 
          can force it to use CRT port by an option line in 
          XF86Config: Option "crt_screen" "1".
       b) For other single-head card:
          Do it as usual.
   (2) Dual-head/Xinerama setup:
       For detail Xinerama configuration, please refer to 
       Xinerama-HOWTO and the sample XF86Config-4 file below.
       Driver always applies first Screen/Device/Monitor section 
       to the DVI port and second to the CRT port.
   
4. Bug report:
   To devrel@ati.com
   
==========================================================

Sample XF86Config-4 file for a RV200 dual-head Xinerama setup.
To start Xinerama:
      startx -- +xinerama
Note: When Xinerama is on, DRI will be disabled due to some 
      sync issues. So you cannot run 3D and VHA DRI clients  
      when Xinerama is on.
---------------------------------------------------------------
"ServerLayout"
	Identifier "XFree86 Configured"
	Screen      "Screen0"
	Screen      "Screen1" RightOf "Screen0"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

# By default, Red Hat Linux 6.0 and later use xfs
Section "Files"
	ModulePath "/usr/X11R6/lib/modules
	FontPath "unix/:7100"
EndSection
# This loads all the modules...
Section "Module"
	Load  "GLcore"
	Load  "dbe"
	Load  "dri"
	Load  "extmod"
	Load  "glx"
	Load  "pex5"
	Load  "record"
	Load  "xie"
	Load  "v4l"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "keyboard"
	Option      "XkbLayout"	"us"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option      "Device" "/dev/mouse"
	Option      "Protocol" "PS/2"
	Option      "Emulate3Buttons" "off"
	Option      "ZAxisMapping" "4 5"
EndSection

Section "Monitor"	
	Identifier "Acer 78c"
	VendorName "Unknown"
	ModelName  "Unknown"
	HorizSync 30.0-86.0
	VertRefresh 50.0-120.0
EndSection

Section "Monitor"
	Identifier "L350"
	VendorName "Unknown"
	ModelName  "Unknown"
EndSection

Section "Device"
	Identifier "RV200-1"
	Driver "R200DDK"
	VendorName "ATI"
	BoardName "RV200"
        BusID "PCI:2:0:0"
        Screen 0

### This option is only valid when you have one 
### Screen/Device section.
### It is used to force driver use CRT port for 
### a dual-head card.
#        Option "crt_screen" "0"
EndSection

Section "Device"
	Identifier "RV200-2"
	Driver "R200DDK"
	VendorName "ATI"
	BoardName "RV200"
	BusID "PCI:2:0:0"
	Screen 1
EndSection

Section "Screen"
	Identifier "Screen0"
	Device "RV200-1"
	Monitor "L350"
	DefaultDepth 24
	Subsection "Display"
		Depth 24
		Modes "1024x768"
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device "RV200-2"
	Monitor "Acer 78c"
	DefaultDepth 24
	Subsection "Display"
		Depth 24
		Modes "1024x768"
	EndSubSection
EndSection


