OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [before_ORP/] [uclinux/] [uClinux-2.0.x/] [Documentation/] [digiboard.txt] - Diff between revs 901 and 1765

Only display areas with differences | Details | Blame | View Log

Rev 901 Rev 1765
The Linux Digiboard Driver
The Linux Digiboard Driver
--------------------------
--------------------------
The Digiboard Driver for Linux supports the following boards:
The Digiboard Driver for Linux supports the following boards:
 DigiBoard PC/Xe, PC/Xi, PC/Xeve
 DigiBoard PC/Xe, PC/Xi, PC/Xeve
Limitations:
Limitations:
------------
------------
Currently the Driver does not do autoprobing!
Currently the Driver does not do autoprobing!
The preconfigured I/O address is 0200h and the default memory address
The preconfigured I/O address is 0200h and the default memory address
0D0000h, ALT-PIN feature on and 16 ports available.
0D0000h, ALT-PIN feature on and 16 ports available.
Use them and you will not have to worry about configuring anything.
Use them and you will not have to worry about configuring anything.
You can configure the driver via lilo. Have a look at the end of this
You can configure the driver via lilo. Have a look at the end of this
message. The default settings vanish as soon as you give a digi= commandline.
message. The default settings vanish as soon as you give a digi= commandline.
You can give multiple digi= commandline parameters to define multiple
You can give multiple digi= commandline parameters to define multiple
boards.
boards.
Supporting Tools:
Supporting Tools:
-----------------
-----------------
Some tools and more detailed information can be found at
Some tools and more detailed information can be found at
ftp://ftp.fuller.edu/Linux/digi
ftp://ftp.fuller.edu/Linux/digi
WARNING: Most of the stuff available right now uses the WRONG Major Device
WARNING: Most of the stuff available right now uses the WRONG Major Device
numbers and the wrong call out devices. Be careful and check them first.
numbers and the wrong call out devices. Be careful and check them first.
Better not use any of the software in that directory if you run a recent
Better not use any of the software in that directory if you run a recent
1.3.X Kernel or later!
1.3.X Kernel or later!
The "ditty" tool described in the Digiboard Manuals for other Unixes
The "ditty" tool described in the Digiboard Manuals for other Unixes
is also available.
is also available.
Currently the Linux MAKEDEV command does not support generating the Digiboard
Currently the Linux MAKEDEV command does not support generating the Digiboard
Devices. Use the following script to generate the devices:
Devices. Use the following script to generate the devices:
------------------ mkdigidev begin
------------------ mkdigidev begin
#!/bin/sh
#!/bin/sh
#
#
# Script to create Digiboard Devices
# Script to create Digiboard Devices
# Christoph Lameter, April 16, 1996
# Christoph Lameter, April 16, 1996
#
#
# Usage:
# Usage:
# mkdigidev []
# mkdigidev []
#
#
DIGI_MAJOR=23
DIGI_MAJOR=23
DIGICU_MAJOR=22
DIGICU_MAJOR=22
BOARDS=$1
BOARDS=$1
if [ "$BOARDS" = "" ]; then
if [ "$BOARDS" = "" ]; then
BOARDS=1
BOARDS=1
fi
fi
boardnum=0
boardnum=0
while [ $boardnum -lt $BOARDS ];
while [ $boardnum -lt $BOARDS ];
do
do
  for c in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
  for c in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
  do
  do
        name=`expr $boardnum \* 16 + $c`
        name=`expr $boardnum \* 16 + $c`
        mknod /dev/cud$name c $DIGICU_MAJOR $name
        mknod /dev/cud$name c $DIGICU_MAJOR $name
        mknod /dev/ttyD$name c $DIGI_MAJOR $name
        mknod /dev/ttyD$name c $DIGI_MAJOR $name
  done
  done
  boardnum=`expr $boardnum + 1`
  boardnum=`expr $boardnum + 1`
done
done
------------------ mkdigidev end
------------------ mkdigidev end
or apply the following patch to /dev/MAKEDEV and do a
or apply the following patch to /dev/MAKEDEV and do a
make digi
make digi
----- MAKEDEV Patch
----- MAKEDEV Patch
--- /dev/MAKEDEV        Sun Aug 13 15:48:23 1995
--- /dev/MAKEDEV        Sun Aug 13 15:48:23 1995
+++ MAKEDEV     Tue Apr 16 17:53:27 1996
+++ MAKEDEV     Tue Apr 16 17:53:27 1996
@@ -120,7 +120,7 @@
@@ -120,7 +120,7 @@
        while [ $# -ne 0 ]
        while [ $# -ne 0 ]
        do
        do
                case "$1" in
                case "$1" in
-                       mem|tty|ttyp|cua|cub)   ;;
-                       mem|tty|ttyp|cua|cub)   ;;
+                       mem|tty|ttyp|cua|cub|cud)       ;;
+                       mem|tty|ttyp|cua|cub|cud)       ;;
                        hd)     echo hda hdb hdc hdd ;;
                        hd)     echo hda hdb hdc hdd ;;
                        xd)     echo xda xdb ;;
                        xd)     echo xda xdb ;;
                        fd)     echo fd0 fd1 ;;
                        fd)     echo fd0 fd1 ;;
@@ -140,6 +140,7 @@
@@ -140,6 +140,7 @@
                        dcf)            echo dcf ;;
                        dcf)            echo dcf ;;
                        pcmcia) ;; # taken care of by its own driver
                        pcmcia) ;; # taken care of by its own driver
                        ttyC)   echo cyclades ;;
                        ttyC)   echo cyclades ;;
+                       ttyD)   echo digi ;;
+                       ttyD)   echo digi ;;
                        *)      echo "$0: don't know what \"$1\" is" >&2 ;;
                        *)      echo "$0: don't know what \"$1\" is" >&2 ;;
                esac
                esac
                shift
                shift
@@ -208,6 +209,15 @@
@@ -208,6 +209,15 @@
                do
                do
                        makedev ttyC$i c $major1 `expr 32 + $i` $tty
                        makedev ttyC$i c $major1 `expr 32 + $i` $tty
                        makedev cub$i c $major2 `expr 32 + $i` $dialout
                        makedev cub$i c $major2 `expr 32 + $i` $dialout
+               done
+               done
+               ;;
+               ;;
+       digi)
+       digi)
+               major1=`Major ttyD` || continue
+               major1=`Major ttyD` || continue
+               major2=`Major cud` || continue
+               major2=`Major cud` || continue
+               for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+               do
+               do
+                       makedev ttyD$i c $major1 `expr 32 + $i` $tty
+                       makedev ttyD$i c $major1 `expr 32 + $i` $tty
+                       makedev cud$i c $major2 `expr 32 + $i` $dialout
+                       makedev cud$i c $major2 `expr 32 + $i` $dialout
                done
                done
                ;;
                ;;
        par[0-2])
        par[0-2])
----- End Makedev patch
----- End Makedev patch
The /dev/cud?? devices behave like the /dev/cua?? devices
The /dev/cud?? devices behave like the /dev/cua?? devices
and the ttyD devices are like the /dev/ttyS?? devices.
and the ttyD devices are like the /dev/ttyS?? devices.
Sources of Information
Sources of Information
----------------------
----------------------
Webpage: http://private.fuller.edu/clameter/digi.html
Webpage: http://private.fuller.edu/clameter/digi.html
Mailing List: digiboard@list.fuller.edu
Mailing List: digiboard@list.fuller.edu
(Write e-mail to that address to subscribe. Common ListServ commands work.
(Write e-mail to that address to subscribe. Common ListServ commands work.
Archive of messages available)
Archive of messages available)
Christoph Lameter (clameter@fuller.edu) 16. April 1996.
Christoph Lameter (clameter@fuller.edu) 16. April 1996.
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Changes v1.5.5:
Changes v1.5.5:
The ability to use the kernel's command line to pass in the configuration for
The ability to use the kernel's command line to pass in the configuration for
boards.  Using LILO's APPEND command, a string of comma separated identifiers
boards.  Using LILO's APPEND command, a string of comma separated identifiers
or integers can be used.  The 6 values in order are:
or integers can be used.  The 6 values in order are:
   Enable/Disable this card,
   Enable/Disable this card,
   Type of card: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
   Type of card: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
   Enable/Disable alternate pin arrangement,
   Enable/Disable alternate pin arrangement,
   Number of ports on this card,
   Number of ports on this card,
   I/O Port where card is configured (in HEX if using string identifiers),
   I/O Port where card is configured (in HEX if using string identifiers),
   Base of memory window (in HEX if using string identifiers),
   Base of memory window (in HEX if using string identifiers),
Samples:
Samples:
   append="digi=E,PC/Xi,D,16,200,D0000"
   append="digi=E,PC/Xi,D,16,200,D0000"
   append="digi=1,0,0,16,512,(whatever D0000 is in base 10 :)
   append="digi=1,0,0,16,512,(whatever D0000 is in base 10 :)
Driver's minor device numbers are conserved. This means that instead of
Driver's minor device numbers are conserved. This means that instead of
each board getting a block of 16 minors pre-assigned, it gets however
each board getting a block of 16 minors pre-assigned, it gets however
many it should, with the next card following directly behind it.  A
many it should, with the next card following directly behind it.  A
system with 4 2-port PC/Xi boards will use minor numbers 0-7.
system with 4 2-port PC/Xi boards will use minor numbers 0-7.
This conserves some memory, and removes a few hard coded constants.
This conserves some memory, and removes a few hard coded constants.
NOTE!! NOTE!! NOTE!!
NOTE!! NOTE!! NOTE!!
The definition of PC/Xem as a valid board type is the BEGINNING of support
The definition of PC/Xem as a valid board type is the BEGINNING of support
for this device.  The driver does not currently recognise the board, nor
for this device.  The driver does not currently recognise the board, nor
does it want to initialize it.  At least not the EISA version.
does it want to initialize it.  At least not the EISA version.
Mike McLagan  5, April 1996.
Mike McLagan  5, April 1996.
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.