ESB RHAS v3.3 Linux Driver Package Release 
Release Tag: gold_1_rc1
Release Date: Wed Apr 6 13:26:40 2005
======================================================================

Contents
========
- Scope
- Platform Hardware Requirements
- Platform BIOS Requirements
- In This Release (Supported Devices)
- In This Release (Bill of Materials)
- Sources included in this release
- Installation (BKM)
- Installation (manual)
- Installation (from sources)
- Loading IDE/SATA Drivers
- Loading USB Drivers
- Loading SMBUS Drivers
- Loading WDT Driver
- Verifying LSPCI Support
- Verifying IOAPIC Support
- Patch Information
- Software Errata
- Software Licenses

1) Scope
=====
This driver package is designed to provide driver support for the 
P4/Canterwood/ESB Customer Reference Platform using 
Linux RedHat Advanced Server v3.3 OS.

It has been validated using the following 
Linux Distribution / Kernel specifics:

Distribution            Kernel
============            ============================
RH Adv Server v3.3**    2.4.21-20.ELesb =
                        2.4.21-20.EL + all patches in this pkg

** using iso's from RedHat:
rhel-3-U3-i386-as-disc1.iso
rhel-3-U3-i386-as-disc2.iso
rhel-3-U3-i386-as-disc3.iso
rhel-3-U3-i386-as-disc4.iso
>> 2.4.21-20.EL kernel comes with these iso's <<

2) Platform Hardware Requirements
==============================

Target Platform hardware configuration is assumed to contain:
	 Intel(R) Pentium 4 CPU
         Intel(R) Canterwood Northbridge
         Intel(R) ESB6300 Southbridge
	 Intel(R) Kenaii2 Gigabit NIC
	 Minimum 128MB of System RAM
	 1 IDE Drive on PATA i/f
	 2 SATA Drives on SATA i/f
	 
Please check with your system provider to determine hardware 
configuration of your Target system.

3) Platform BIOS Requirements
===========================
 					Required For
					-------------------------
 P4 Hyperthreading	Enabled		SMP kernel

 MPS Tables		Enabled		UP IOAPICs (vs 8259 PIC)
					P4 Hyperthreading

 ACPI MAPIC Tables	Enabled		UP IOAPICs (vs 8259)
					P4 Hyperthreading

 IDE PATA/SATA Config-1			ks.cfg based Install of 
  IDE Mode= Compatible			 of stock RHASv3.3

 SMBUS			Enabled		i2c driver 

 WDT Device		Enabled		WDT drivers
 USB 1.1 UHCI 		Enabled		UHCI drivers
 USB 2.0 EHCI		Enabled		EHCI drivers

 Keanii2 Gigabit NIC	Enabled		E1000 drivers


4) In this Release (Supported Devices)
===================================

Platform Feature	Support Mechanism
=================	=================================

Parallel ATA (PATA)	stock 2.4.21-20.EL ATA driver

Serial ATA (SATA)	patches for 2.4.21-20.EL ide driver

USB 1.1 UHCI		stock 2.4.21-20.EL uhci driver  
USB 2.0 EHCI		stock 2.4.21-20.EL ehci driver
 
SMBUS 			patches for i2c driver

IOAPIC(s)		kernel config-2.4.21-20.EL-p4-upapic-i2c
			kernel config-2.4.21-20.EL-p4-smp
			
Watch Dog Timer		Intel Driver			



5) In This Release (Bill of Materials)
===================================

relnotes			* this file					
          			
utils/debug/ks.cfg-XXX         	basic kickstart file to install from ftp to hda		
utils/debug/bldkernel.pl    	script to build/install esb enabled kernel sources
utils/debug/bldsrcs.pl          script to build/install esb enabled UP drivers                      
utils/debug/readme.txt		BKM (aka EASIEST) for installing this driver pkg

sources/kernel/config-2.4.21-20.EL-p4-upapic-i2c	UP Kernel Config File
sources/kernel/config-2.4.21-20.EL-p4-smp		SMP Kernel Config File

sources/esbwdt/LICENSE				license for Intel WDT driver
sources/esbwdt/esbwdt-doc.txt			esbwdt driver/demoapp release notes
sources/esbwdt/driver/esbwdt.c 			esbwdt driver sources
sources/esbwdt/driver/esbwdt.h 			esbwdt driver header file
sources/esbwdt/driver/Makefile 			esbwdt driver Makefile
sources/esbwdt/demoapp/esbwdt-demo.c		esbwdt driver demo app 

patches/COPYING					GPL-v2 license for Intel patches
patches/ide-sata/piix.c-hr.patch		patches to 2.4.21-20.EL ide driver
						to enable support for pata & sata	
patches/smbus/i2c-hr.patch  			enables esb6300 smbus dev in i2c driver
patches/ioapic/hw_irq.h-hr.patch		allows error-free kernel compilation

  
The kickstart files (ks.cfg) can be used to automate the RHAS installation process and
replicate the same package list used by the Intel Development team. The ks.cfg file 
can also be used to specify raid array configurations to the RHAS installer. Please 
customize the "installation media" and "disk partitioning" sections of the ks.cfg file
to match YOUR installation media and YOUR IDE PATA/SATA configuration before 
attempting to use it. If you do not have disks needed for the RAID configurations
attached to your system, comment out all the raid setup stuff from the ks.cfg file. 
See "Installation (from sources)" for more details.



6) Sources included in this release
===============================

Kernel Sources
   -  kernel-source-2.4.21-20.EL.i386.rpm 
   YOU MUST SUPPLY THIS FILE FROM YOUR RHAS v3.3 CDROMS...see utils/debug/readme.txt
   for details using the bldkernel.pl script to build esb-enabled kernel from the 
   source in this rpm with the patches supplied by this driver package


7) Installating the esb6300-rhas33-xxxx driver package
======================================================================

7.1) BKM (ie EASIEST way ) for installing this driver package 
	>> ON HANCE RAPIDS CRB PLATORM <<

Overview:
	- do kickstart based install of RHAS v3.3 Linux distribution

	- use bldkernel.pl script to perform kernel upgrade

	- use bldsrcs.pl script to build/install all the drivers provided

		> these 2 scripts automate all the manual instructions
		  described in section 7.3 of this document

	- skip to section 8 & 9 to load/verify the drivers provided 

	See utils/debug/readme.txt for more details on how to install
	this driver package using these scripts.

	>> PLEASE READ utils/debug/readme.txt BEFORE running the 
	>> installation scripts for this package

7.2) MANUAL INSTALLATION INSTRUCTIONS

7.2.1) Install Stock RHAS v3.3 distribution onto the target system.

	On a dev system:

	a) Create boot floppy using RHAS v3.3 installation media
           - use bootdisk.img for ftp/http network based installs

	b) Customize the ks.cfg to match
	   - YOUR installation media
	   - YOUR disk setup
	   & copy it to your boot floopy

	Note: 
	For basic installation of RHAS v3.3 from CDROM onto hda
	use the kickstart file in the utils/debug dir 

	On the target system:

	c)  For network based installs:
	   - make sure your network adapter is installed and you can
	     connect to your installation server.

	d) Boot the target system from the boot.img floppy
   	   @ the boot prompt enter: linux ks=floppy

	This will perform installation of stock rhas v33 distribution onto to
	the target system using the package list specified in the ks.cfg file

7.2.2) Upgrade the Stock 2.4.21-20.EL Kernel to 2.4.21-20.ELesb kernel

	see utils/debug/readme.txt for more details

7.3) Installation (from Sources)
==============================

Note: all the following manual steps are automated by the bldkernel.pl scripts...
see utils/debug/readme.txt for more details...

7.3.1) Install RedHat Advanced Server v3.3 distribution specific 2.4.21-20.EL kernel source tree

	rpm -ihv <path to>/kernel-source-2.4.21-20.EL.i386.rpm
	cd /usr/src/linux-2.4.21-20.EL

7.3.2) Apply following patches
	- See Patch Information section for details

	- apply ide-sata patches
	- apply smbus patches

7.3.3) Create .config using supplied kernel config file

	cp config-2.4.21-20.EL-p4-upapic-i2c .config

	Note: For compiling SMP kernel, please use config-2.4.21-20.EL-p4-smp

7.3.4) Build & Install the kernel

	- Set unique Extraversion in Makefile for your kernel
  	  otherwise your current kernel and it's modules dir 
    	  (/lib/modules/<current-kernel-ver>) will get overwritten
	- copy the config-2.4.21-20.EL-p4-upapic-i2c to /usr/src/linux-2.4.21-20.EL/.config

	  Note: For compiling SMP kernel, please use config-2.4.21-20.EL-p4-smp

	- make oldconfig
	- make dep
	- make clean
	- make bzImage
	- make modules
	- make modules_install
	- make install


7.3.5) Install newly build pci.ids file 

   	- cp /usr/share/pci.ids /usr/share/pci.ids.orig
   	- cp /usr/src/linux-2.4.21-20.ELesb/drivers/pci/pci.ids /usr/share/pci.ids

7.3.6) Boot to the newly build kernel

7.3.7) Build and install WDT Driver and WDT Demo App


8) Loading the Drivers
=======================

8.1) Loading IDE-SATA Drivers
========================
- Automatic, no manual intervention required
- Details of autodectection/configuration of ide/sata devices can be
  viewed by looking at /var/log/dmesg or /proc/ide

8.2) Loading USB Drivers
====================
USB 1.1 UHCI Driver
- Automatic, no manual intervention required
- Details of autodetction of UHCI can be viewed in /var/log/dmesg

USB 2.0 EHCI Driver
- Automatic, no manual intervention required
- Details of autodetction of UHCI can be viewed in /var/log/dmesg

USB HUB/Device Specific Drivers
- Run 'modprobe hid'          
- Run 'modprobe mousedev'     (For USB mouse)
- Run 'modprobe keybdev'      (For USB keyboard)
- Run 'modprobe usb-storage'  (For USB hard drives)
- Run 'mount -t usbdevfs none /proc/bus/usb'

8.3) Loading SMBUS I2C Driver
=======================
- see readme.txt file in patches/smbus dir


9) Verifying Driver Pkg/Platform Functionality
==============================================
 
9.1) Verifying LSPCI Support
=======================
- run lspci to list PCI devices present on the platform
- pci devices integrated into the southbridge will show
  "ESB6300" in the name string identifier

9.2) Verifying IOAPIC (vs 8259 PIC) Support
======================================
- cat /proc/interrupts
- ICH5 systems will show 24 Interrputs with each associated with an 'IO-APIC'
- Given corrent SysBIOS support
  - ESB6300 systems should show 48 Interrupts associated with an 'IO-APIC'
- Without appropriate SysBIOS support, kernel will default to using the 
  8259 PIC with ony 16 interrupts.


10) Patch Information
=================
The supplied patches enable support for devices integrated in the 
Intel(R) ESB6300 Southbridge:

patches/ide-sata/piix.c-hr.patch		patches to 2.4.21-20.EL ide driver
						to enable support for pata & sata	
patches/smbus/i2c-hr.patch  			enables esb6300 smbus dev in i2c driver

patches/ioapic/hw_irq.h-hr.patch		allows error-free kernel compilation


10.1) Patches for 2.4.21-20.EL Native IDE Driver 
------------------------------------
- Enable the native IDE driver to recognize the ESB6300 PATA and SATA interfaces
  as ATA100 capable.

- To apply these patches, cd /usr/src/linux-2.4.21-20.EL & apply below:

	patch -p0 < /<path_to>/patches/ide-sata/piix.c-hr.patch

10.2) Patches for SMBUS I2C Driver
----------------------------
- Enables the lm_sensors i2c drivers to recognize the SMBUS Controller
  integrated into the ESB6300 Southbridge

See patches/smbus/readme.txt for details.

11) Software Errata
================

Following errata are against gold_1_rc1 of the ESB6300_RHAS Driver Package

	>> ON HANCE RAPIDS CRB <<

11.1) Distribution specific errata
---------------------------------

11.1.1) none

11.2) Drivers specific errata
-----------------------------
11.2.1) Following platfrom features have not been validated with this (gold_1_rc1)
	of the esb6300-rhas driver package:
	- SMP / P4-Hyperthreading
	- Power Management (ACPI)
	- Heceta 6 System Monitoring 

	Following features have been validated:
	- IDE
	- SATA
	- SMBUS
	- LSPCI support for devices integrated into the esb6300 southbridge
	- USB 1.1
	- USB 2.0
	- IOAPIC
	- Watch Dog Timer 

11.3) Platform specific errata
-------------------------------
Platform:	Hance Rapids Petoski CRB
BIOS:		B106

11.3.1) Setting IDE/SATA config = PATA-Only in system bios
	&
	Having SATA Drives connected
	
	will cause RHAS OS to hang during kernel start up

	Workaround: 
	> Configure IDE/SATA mode = PATA and SATA
	> This is the default settings if you configure the system bios using its
	  'Optimal Settings'

12) Software Licenses
=================

The Intel(R) WDT Driver for Linux is subject to the terms of the 
license agreement located in the *LICENSE (GPL v2) file in the 
sources/wdt subdirectory of the distribution package.

All Intel generated patches are subject to the terms of the GPL license
agreement located in the *COPYING (GPL v2) file in the patches 
subdirectory of the distribution package.


INTEL CONFIDENTIAL

