/*
    IODevTable.c, Copyright 1999 (c) by Claudio Jeker,
    Swiss Federal Institute of Technology,
    Computer Engineering and Networks Laboratory.
 
    TOPSY -- A Teachable Operating System.
             Implementation of a tiny and simple
             micro kernel for teaching purposes.
 
    For further information, please visit http://www.tik.ee.ethz.ch/~topsy
 
    This software is provided under the terms of the GNU General Public Licence.
 
    A full copy of the GNU GPL is provided in the file COPYING found in the 
    development root of Topsy.
*/
/*
	
	File:                  $Source: /home/ruf/cvs_Topsy/cvs/Topsy/IO/mips/IODevTable.c,v $
	Author(s):             Claudio Jeker
	Affiliation:           ETH Zuerich, TIK
	Version:               $Revision: 2922 $
	Creation Date:         1999/04/08
	Last Date of Change:   $Date: 2007-03-19 17:48:52 +0100 (Mon, 19 Mär 2007) $      by: $Author: baderma $
 
 
	$Log: IODevTable.c,v $
	Revision 1.4  2001/03/15 10:11:44  cjeker
	first big cleanup commit (all except net)
	
	Revision 1.3  2001/01/28 17:11:11  cjeker
	lock for printf, IODeviceDesc are now copied when needed and a few minor changes in the makefile
	
	Revision 1.2  2001/01/11 13:24:23  cjeker
	fixed some problems under ia32 but there still some
	
	Revision 1.1  2001/01/10 11:10:38  cjeker
	added dynamic IODevice structure
	
 
*/

#include "IO.h"
#include "IODevice.h"
#include "IODevTable.h"

extern IODeviceDesc fpgaDesc;
extern IODeviceDesc scn2681_uart_b;
extern IODeviceDesc scn2681_uart_a;
extern IODeviceDesc simosConsDesc;
#ifdef TIMER_1
extern IODeviceDesc intel8254Desc;
#endif
extern IODeviceDesc ethertapDesc;
extern IODeviceDesc loopbackDesc;


struct IODevTableEntry ioDeviceTable[] =
  {
#ifndef SIMOS
    {
      TTY,
      TTYB,
      &scn2681_uart_a,
      0},
    {
      TTY,
      TTYA,
      &scn2681_uart_b,
      0}, /* UART channel B is TTYA alias IO_CONSOLE */
    {
      FPGA,
      1,
      &fpgaDesc,
      0},
#else
    {
      TTY,
      TTYA,
      &simosConsDesc,
      0},
#endif
#ifdef TIMER_1
    {
      TIMER,
      1,
      &intel8254Desc,
      0},
#endif
    {
      LOOP,
      1,
      &loopbackDesc,
      0},
    {
      ETAP,
      1,
      &ethertapDesc,
      0},
    {
      0,
      0,
      0,
      0
    } /* termination */
  };

