AMD Geode(TM) LX/GX Processor Linux 2.6.11 Kernel Patch - Release Notes
Version: 02.03.0100
Release Date: December 19, 2005

--------------------------------------------------------------------------------
PRODUCT INFORMATION
--------------------------------------------------------------------------------
This product adds support for the AMD Geode(TM) LX/GX processor and the 
AMD Geode(TM) CS5536/CS5535 companion device to the Linux 2.6.11 kernel tree.

This product includes: 
- Patches_Linux2.6.11_Common_02.03.0100.patch 
- README (this file)
- Reference configuration files for the GX and LX.
- Documentation applied via patch in the source tree on configuration  
  (e.g.,linux-2.6.11/Documentation).
- tarball containing everything

This patch adds the following documenation to the linux-2.6.11 kernel:
Documentation/geode.txt
Documentation/fb/geodefb.txt
Documentation/usb/amd5536udc.txt
Documentation/usb/amd5536uoc.txt

For bugs, patches, and info requests, subscribe to:
info-linux@geode.amd.com

To subscribe, send a blank message to:  info-linux-subscribe@geode.amd.com

Features
--------
This product adds the following features to the Linux kernel:
- Support for the Geode LX/GX processor including specific processor
  configuration
- Support for the Geode CS5535 and CS5536 companion devices IDE driver
- Support for the Geode CS5536 companion device UDC
- Support for the Geode LX/GX processor graphics accelerator including
  accelerated frame buffer driver on the LX processor and hardware abstraction 
  layer.

Dependencies 
------------
- Linux environment suitable for building the Linux 2.6.11 kernel
- The standard linux-2.6.11 tarball from kernel.org

Functional Changes
------------------
* add support for kernels USB gadget stack for: 
  * mass storage (g_file_storage)
  * ethernet (g_ether)
  * loopback test (g_zero)
  * user mode access (gadgetfs)
* UDC of Geode 5536 revB1 is supported only

Defects Corrected 
-----------------
PBZ#6405: Repeated connect/disconnect of USB UDC causes enumeration failure
PBZ#6445: After first S3 cyxcle, device does not enumerate

Known Errata
------------
PBZ#4173: USB 2.0 HS device defaults to FS device after wake from APM Suspend (S3)
PBZ#5928: USB device does not return from S1 after second time.
PBZ#5958: Hawking USB network adapter stall during network transfer
PBZ#3812: Linux KFB needs a 'plan b' when BIOS doesn't detect the panel
PBZ#4652: 5536A0 Support should be removed/disabled
PBZ#4093: ACPI S1 state does not return from USB Keyboard or Mouse event 
PBZ#4865: linux 2.6.11 ohci-hcd usb resume interrupt not cleared when processed 
PBZ#4892: PORTSCn is reset if all ports are not usb2.0 
PBZ#5505: 5536B1: OTG gadget filesystem mount failure
PBZ#5953: 5536B1: OTG test hung during driver unload on "B"

--------------------------------------------------------------------------------
VALIDATION ENVIRONMENT
--------------------------------------------------------------------------------
Validated on AMD Geode(TM) "Norwich" Development Board - Rev 2 Rework H and
Rev 3 Rework E with:

Processor:		AMD Geode LX processor, silicon rev. C1 @ 433 MHz
Chipset:		AMD Geode CS5536 companion device, silicon rev. B1
PCI Bus Speed:		66 MHz
Memory:			256 MB PC3200 RAM
CRT:			NEC MultiSync FP2141SB
Flat Panel:		Samsung LTM213U3-L07 1600x1200 2-channel LVDS,
Keyboard/Mouse:		PS/2 on "Moray" 1.1
	
BIOS:			GeodeROM 1.06.06
Operating System:	Gentoo 2005.0
Kernel:			v2.6.11
Kernel Patch:		LX Kernel Patch v02.03.0100
Graphics Driver:	LX Xorg Graphics driver v03.00.0100
Audio Driver:		CS5536 ALSA Audio driver v01.00.0500
AES Driver: 		LX AES driver v02.01.0100
AccessBus Driver: 	LX ACB Driver v01.00.0401
Video4Linux2 Driver: 	LX Video4Linux2 driver v03.02.0100
Other Software:		N/A

-----------------------------------------------------------------------------
INSTALLATION INSTRUCTIONS  
-----------------------------------------------------------------------------
To add the Geode Linux support to the base Linux 2.6.11 release, do the
following steps:

- Extract the baseline kernel package in a directory of your choice:
  > bunzip2 -cd linux-2.6.11.tar.bz2 | tar -xv 

- Add the kernel patch:
  > cd linux-2.6.11
  > cat linux-2.6.11-geodelx-<version>.patch | patch -p1
  
- Configure the kernel (See Documentation/geode.txt for the config options
  suited to the Geode LX/GX processor)
  
  > cd linux-2.6.11 (if not already there)
  > make menuconfig
 
- Build the kernel:
  > cd linux-2.6.11 (if not already there)
  > make dep && make bzImage 
  NOTE:  bzImage is the system image.   This image is intended to replace the
  image at /boot.

- Make and install the modules
  > make modules && make modules_install
  NOTE:  If  the build is done on the a development host (not the target),
  the modules will be installed at /lib/modules/(kernel_name) and will need 
  to be tarred and brought over to the target system and unwound.

-----------------------------------------------------------------------------
RELEASE HISTORY (Previous Release)
-----------------------------------------------------------------------------
Version: 02.02.0100
Release Date: November 9, 2005

Functional Changes
------------------
* add ehci_resume owned ports count as active 
* add ohci-hcd fix 
* clear RD interrupt 
* i2c.h syntax fix

Defects Corrected 
-----------------
PBZ#3538: ACPI S1 state does not return from PS/2 Keyboard or Mouse event 
PBZ#4867: RemoteWakeupConnected should be set by BIOS usb post

Known Errata 
------------
PBZ#5928: USB device does not return from S1 after second time.
PBZ#5945: USB Plug-In during S1 sleep cycle hangs system
PBZ#5958: Hawking USB network adapter stall during network transfer
PBZ#3812: Linux KFB needs a 'plan b' when BIOS doesn't detect the panel
PBZ#4652: 5536A0 Support should be removed/disabled
PBZ#4093: ACPI S1 state does not return from USB Keyboard or Mouse event 
PBZ#4865: linux 2.6.11 ohci-hcd usb resume interrupt not cleared when processed 
PBZ#4892: PORTSCn is reset if all ports are not usb2.0 
PBZ#5505: 5536B1: OTG gadget filesystem mount failure
PBZ#5953: 5536B1: OTG test hung during driver unload on "B"


Version: 02.00.0100
Release Date: August 24, 2005

Dependencies 
------------
- Linux environment suitable for building the Linux 2.6.11 kernel
- The standard linux-2.6.11 tarball from kernel.org

Functional Changes
------------------
Issues #4055, #4062, #4063

Defects Corrected 
-----------------
Issue: #4055 BIOS DMA Enabled, AUTO; CONFIG_IDEDMA_PCI_AUTO=y; hdparm 
/dev/hda: using_dma = 0 (off)
Description:
With the BIOS set as follows:
DMA enabled
Channels both set to AUTO and the kernel built with the following:
CONFIG_IDEDMA_PCI_AUTO=y
DMA is off by default on boot.
Resolution: 
DMA now turns on when CONFIG_IDEDMA_PCI_AUTO is set.

Issue: #4062 8 bpp Modes display with no penguin (2.6.11 - KFB)
Description:
All 8 bpp modes do not display the penguin correctly.  Where the penguin should 
be, only black space is present.  This does not occur at 16 and 32 bpp modes.
Resolution:
Programming the LUT with non-existent data.  Changed the imageblit
routine to just do a simple gp_color_bitmap_to_screen_blt(0) when the image
format is the same as the screen depth.

Issue: #4063 1920x1440 pixel depths/refresh rates - bottom 22 rows look like 
memory was.
Description:
On an initial boot at any 1920x1440 mode, the bottom 22 rows look like not 
enough graphics memory was cleared for the mode.  The bottom 22 rows display 
random characters at random colors.  This only occurs for these 22 rows.  If 
you clear the screen, the rows are gone.  If you run commands, the rows move 
up, and eventually move off the screen.  You can bring the corrupt lines back 
to the viewable screen through [Shift][PgUp], and back off the screen through 
[Shift][PgDn].
Resolution:
The linux VGA console code went through the following steps when switching to
the frame buffer console:
1) Resize buffers based on the new resolution (1940x1440 is 240 cols and 90 rows
with 8x16 chars) 
2) Convert to the new resolution (by copying the new buffer into the VGA RAM)
And then, upon switching to the frame buffer console, it copied the old VGA RAM
memory back into the buffers.
The problem was that 240x90x2 is about 43k which is larger the 32k
window used by vga in color text mode.  By virtue of the final copy, we were
copying jiberish into our buffers, which was then rendered by the frame buffer
console.
The fix is to restrict the screen copies in the VGA console to no larger then
32k.

Issue #3438 - Bios DMA Enabled, AUTO; CONFIG_IDEDMA_PCI_AUTO=y; hdparm 
/dev/hda: using_dma = 0 (off)

Known Errata 
------------
Issue: #4086 ACPI - S3, Hard drive does not turn off
Description:
echo "3" > /proc/acpi/sleep
The hard drive does not stop spinning.  The drive does not go to a 
lower power mode. NOTE: This problem does not exist on all hard drives.
Resolution:
Issue is under investigation.

Issue #4696 - Turning DMA off, then back on changes PIO register from PIO4 to 
PIO2		
Issue #3512 - ACPI S1 state does not turn off CRT		
Issue #3513 - ACPI S3 state resumes with no CRT 		
Issue #3544 - ACPI S1 state partially resumes with errors when USB Keyboard/Mouse present [Linux]
Issue #3545 - ACPI S3 state returns with no USB

================================================================================
Copyright
---------
Copyright 2005 Advanced Micro Devices, Inc. All rights reserved.
The contents of this document are provided in connection with Advanced Micro 
Devices, Inc. ("AMD") products. AMD makes no representations or warranties 
with respect to the accuracy or completeness of the contents of this 
publication and reserves the right to make changes to specifications and
product descriptions at any time without notice. No license, whether express,
implied, arising by estoppel or otherwise, to any intellectual property rights
is granted by this publication. Except as set forth in AMD's Standard Terms
and Conditions of Sale, AMD assumes no liability whatsoever, and disclaims any
express or implied warranty, relating to its products including, but not
limited to, the implied warranty of merchantability, fitness for a particular
purpose, or infringement of any intellectual property right. AMD's products
are not designed, intended, authorized or warranted for use as components in
systems intended for surgical implant into the body, or in other applications
intended to support or sustain life, or in any other application in which the
failure of AMD's product could create a situation where personal injury, death,
or severe property or environmental damage may occur. AMD reserves the right
to discontinue or make changes to its products at any time without notice.


Trademarks
----------
AMD, the AMD Arrow logo, and combinations thereof, and Geode are trademarks 
of Advanced Micro Devices, Inc.

Other product names used in this publication are for identification purposes
only and may be trademarks of their respective companies.
================================================================================
