README.TXT Driver File Contents (psos101.zip)

pSOSystem Network Interface Driver for Crystal Semiconductor CS8900
*******************************************************************


This readme file describes how to install and configure the pSOSystem network
interface driver for the Crystal Semiconductor CS8900 ethernet chip.  This
readme assumes that you have the following installed and are familiar their
use:

   * pSOSystem/x86 Version 2.1.0
   * pRISM IDE/x86 Version 1.2.0
        based on Green Hills MULTI Version 1.8.7B

The CS8900 network interface driver assumes that the target system contains an
Intel 80x86 CPU or equivalent and the target contains a 16-bit ISA bus or
equivalent.



Installing the CS8900 Network Interface Driver
**********************************************


The Crystal Semiconductor CS8900 pSOSystem network interface driver
consists of:

   Two new files:

      LAN8900.C
      LAN8900.H

   Three replacement files:

      BSP.H
      BOARD.C
      ISRSTUBS.386


To install the CS8900 network interface driver in a board support package:

   1. Copy the BSP.H file to the board support directory.
   2. Copy LAN8900.C, LAN8900.H, BOARD.C, and ISRSTUBS.386 to the
      board support source code directory.
   3. Add the LAN8900.C component to the BSP.BLD project.
      - From the pRISM command line, go to the board support source
        code directory.
      - Enter "multi bsp.bld"
      - Click the "Add" button and select the LAN8900.C file.
   4. Build the board support package to add the CS8900 network interface
      driver to the board support library (BSP.A).
      - From the pRISM command line, go to the board support source
        code directory.
      - Enter "build bsp.bld"
   5. Rebuild any applications which use this BSP as a target.


The following modifications were made in the replacement files:

   BSP.H

     * Added a define for the "CS8900" lan card model.
     * Defined the BSP_LANCARD_MODEL to be CS8900.
     * Added a new section of defines which are specific to the
       Crystal Semiconductor CS8900 Chip.  These defines start
       with "BSP_CS8900_".

   BOARD.C

     * Fixed the Set_Intr_Req() and Enable_Intr_Req() routines as
       described in the pSOSystem release notes.
     * Added a new routine, End_of_Intr(), which issues an EOI
       command based on the specified interrrupt level.

   ISRSTUBS.386

     * Added some conditional assembly statements to the Lan_Stub()
       routine.  If the BSP_LANCARD_MODEL is CS8900, then don't
       don't issue the End-of-Interrupt (EOI) in Lan_Stub().  The
       EOI will be issued from the lan_isr() routine based on the
       configured interrupt level.



Configuring the CS8900 Network Interface Driver for pSOSystem
*************************************************************


SYS_CONF.H
==========

The SYS_CONF.H file is used the configure the pSOSystem as a whole and resides
the application source code directory.

The SYS_CONF.H file must contain the following definitions:

   #define SD_LAN1               YES
   #define SD_LAN1_IP            0x5A000001
   #define SD_LAN1_SUBNET_MASK   0xFF000000

SD_LAN1 must be set to YES.

SD_LAN1_IP must contain a valid IP address.  The value shown above is just an
example.  SD_LAN1_IP must be unique for each node on the LAN.

SD_LAN1_SUBNET_MASK must contain a mask that matches the IP address.

SC_LAN1_BUFFS is not used by the CS8900 network interface driver.



BSP.H
=====

The BSP.H file is used to configure a board support package and resides in the
board support package directory.

LAN Interfaces Section
----------------------

The LAN Interfaces section of the BSP.H file must contain the following
definitions:

   #define BSP_LAN1               YES
   #define BSP_LAN1_MTU           1500
   #define BSP_LAN1_HWALEN        6
   #define BSP_LAN1_FLAGS         0x2000+0x1

If the CS8900 network interface driver will be used by pROBE to debug startup
code, then set BSP_LAN1_FLAGS to "0x8000+0x2000+0x1".  This will enable the
network interface driver to work in polling mode.

BSP_LAN1_BUFFS_MIN and BSP_LAN1_BUFFS_MAX are not used by the CS8900 network
interface driver.


LAN Ethercard section
---------------------

The LAN Ethercard section of the BSP.H file must contain the following
definition:

   #define BSP_LANCARD_MODEL     CS8900

The CS8900 network interface driver does not use any of the other definitions
in the LAN Ethercard section.


Crystal Semiconductor CS8900 Ethernet Chip section
--------------------------------------------------

The BSP.H file must contain a section called "Crystal Semiconductor CS8900
Ethernet Chip".  This section contains definitions which are specific to the
CS8900 chip.  The CS8900 chip may or may not have a EEPROM attached.  The
EEPROM is used as non-volatile storage for the CS8900 configuration.

If the CS8900 chip has a EEPROM attached, then BSP_CS8900_IO_BASE must match
the IO base address configured in the reset block of the EEPROM.  This is true
even if BSP_CS8900_EEPROM is set to NO.  If the CS8900 chip does not have a
EEPROM attached, then BSP_CS8900_IO_BASE must be set to 0x300;

If the CS8900 chip has a EEPROM attached and you want the CS8900 network
interface driver to configure the CS8900 chip using the information in the
EEPROM, then set BSP_CS8900_EEPROM to YES.  The CS8900 network interface driver
will ignore all other definitions in the "Crystal Semiconductor CS8900 Ethernet
Chip" section (except for BSP_CS8900_IO_BASE).  The CS8900 network interface
driver will configure the CS8900 chip using information from the EEPROM.

If the CS8900 chip does not have a EEPROM attached or if you want the CS8900
network interface driver to ignore the configuration information in the EEPROM,
then set BSP_CS8900_EEPROM to NO.  The CS8900 network interface driver will use
ALL the definitions in the "Crystal Semiconductor CS8900 Ethernet Chip" section
to configure the CS8900 chip.

BSP_CS8900_IND_ADDR defines a string which contains the individual address of
this node on the LAN.  The individual address may also be called the node
address or the hardware address.  The individual address consists of a sequence
of six bytes.  These six bytes are listed in the BSP_CS8900_IND_ADDR string
with two hexidecimal digits per byte.  The bytes may be seperated by colon
characters to improve readability.  The left most byte in the string is the
first byte to be transmitted.  Each node on the LAN must have a unique
individual address.

The "Crystal Semiconductor CS8900 Ethernet Chip" section follows:

/*=====================================================================*/
/*                                                                     */
/*         Crystal Semiconductor CS8900 Ethernet Chip                  */
/*                                                                     */
/*=====================================================================*/

/* The following 5 definitions must not be changed */
#define TEN_BASE_T              1       /* Media is 10BaseT twisted pair */
#define AUI                     2       /* Media is AUI */
#define TEN_BASE_2              3       /* Media is 10Base2 (BNC) */
#define LOW                     0       /* DC/DC converter has low enable */
#define HIGH                    1       /* DC/DC converter has high enable */

/* Required definitions */
#define BSP_CS8900_IO_BASE      0x300   /* Base address of IO ports */
#define BSP_CS8900_EEPROM       YES     /* Get config from EEPROM? */

/* The following definitions will only be used if BSP_CS8900_EEPROM is NO */
#define BSP_CS8900_IRQ          5       /* Interrupt request level */
#define BSP_CS8900_MEM_MODE     YES     /* Use memory mode? */
#define BSP_CS8900_MEM_BASE     0xCD000 /* Base address of PacketPage */
#define BSP_CS8900_USE_SA       YES     /* Use SA to qualify MEMCS16? */
#define BSP_CS8900_IOCHRDY      YES     /* Use IOCHRDY to slow access? */
#define BSP_CS8900_MEDIA_TYPE   TEN_BASE_T /* Media type */
#define BSP_CS8900_DCDC_POL     LOW     /* DC/DC converter "enable" polarity */
#define BSP_CS8900_FDX          NO      /* Is 10BaseT full duplex? */
#define BSP_CS8900_IND_ADDR     "00:24:20:10:FF:41" /* Individual address */


For more detailed information about the meaning and use of the above
definitions, see the "CS8900 Highly-Integrated ISA Ethernet Controller" data
sheet and the "CS8900 Ethernet Controller Technical Reference Manual" from
Crystal Semiconductor.



Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 0.99