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

Subversion Repositories or1k

[/] [or1k/] [trunk/] [uclinux/] [uClinux-2.0.x/] [Documentation/] [digiboard.txt] - Blame information for rev 1775

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 199 simons
The Linux Digiboard Driver
2
--------------------------
3
 
4
The Digiboard Driver for Linux supports the following boards:
5
 
6
 DigiBoard PC/Xe, PC/Xi, PC/Xeve
7
 
8
Limitations:
9
------------
10
Currently the Driver does not do autoprobing!
11
 
12
The preconfigured I/O address is 0200h and the default memory address
13
0D0000h, ALT-PIN feature on and 16 ports available.
14
 
15
Use them and you will not have to worry about configuring anything.
16
 
17
You can configure the driver via lilo. Have a look at the end of this
18
message. The default settings vanish as soon as you give a digi= commandline.
19
You can give multiple digi= commandline parameters to define multiple
20
boards.
21
 
22
Supporting Tools:
23
-----------------
24
Some tools and more detailed information can be found at
25
ftp://ftp.fuller.edu/Linux/digi
26
 
27
WARNING: Most of the stuff available right now uses the WRONG Major Device
28
numbers and the wrong call out devices. Be careful and check them first.
29
Better not use any of the software in that directory if you run a recent
30
1.3.X Kernel or later!
31
 
32
The "ditty" tool described in the Digiboard Manuals for other Unixes
33
is also available.
34
 
35
Currently the Linux MAKEDEV command does not support generating the Digiboard
36
Devices. Use the following script to generate the devices:
37
 
38
------------------ mkdigidev begin
39
#!/bin/sh
40
#
41
# Script to create Digiboard Devices
42
# Christoph Lameter, April 16, 1996
43
#
44
# Usage:
45
# mkdigidev []
46
#
47
 
48
DIGI_MAJOR=23
49
DIGICU_MAJOR=22
50
 
51
BOARDS=$1
52
 
53
if [ "$BOARDS" = "" ]; then
54
BOARDS=1
55
fi
56
 
57
boardnum=0
58
while [ $boardnum -lt $BOARDS ];
59
do
60
  for c in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15;
61
  do
62
        name=`expr $boardnum \* 16 + $c`
63
        mknod /dev/cud$name c $DIGICU_MAJOR $name
64
        mknod /dev/ttyD$name c $DIGI_MAJOR $name
65
  done
66
  boardnum=`expr $boardnum + 1`
67
done
68
------------------ mkdigidev end
69
or apply the following patch to /dev/MAKEDEV and do a
70
make digi
71
----- MAKEDEV Patch
72
--- /dev/MAKEDEV        Sun Aug 13 15:48:23 1995
73
+++ MAKEDEV     Tue Apr 16 17:53:27 1996
74
@@ -120,7 +120,7 @@
75
        while [ $# -ne 0 ]
76
        do
77
                case "$1" in
78
-                       mem|tty|ttyp|cua|cub)   ;;
79
+                       mem|tty|ttyp|cua|cub|cud)       ;;
80
                        hd)     echo hda hdb hdc hdd ;;
81
                        xd)     echo xda xdb ;;
82
                        fd)     echo fd0 fd1 ;;
83
@@ -140,6 +140,7 @@
84
                        dcf)            echo dcf ;;
85
                        pcmcia) ;; # taken care of by its own driver
86
                        ttyC)   echo cyclades ;;
87
+                       ttyD)   echo digi ;;
88
                        *)      echo "$0: don't know what \"$1\" is" >&2 ;;
89
                esac
90
                shift
91
@@ -208,6 +209,15 @@
92
                do
93
                        makedev ttyC$i c $major1 `expr 32 + $i` $tty
94
                        makedev cub$i c $major2 `expr 32 + $i` $dialout
95
+               done
96
+               ;;
97
+       digi)
98
+               major1=`Major ttyD` || continue
99
+               major2=`Major cud` || continue
100
+               for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
101
+               do
102
+                       makedev ttyD$i c $major1 `expr 32 + $i` $tty
103
+                       makedev cud$i c $major2 `expr 32 + $i` $dialout
104
                done
105
                ;;
106
        par[0-2])
107
----- End Makedev patch
108
 
109
The /dev/cud?? devices behave like the /dev/cua?? devices
110
and the ttyD devices are like the /dev/ttyS?? devices.
111
 
112
Sources of Information
113
----------------------
114
 
115
Webpage: http://private.fuller.edu/clameter/digi.html
116
 
117
Mailing List: digiboard@list.fuller.edu
118
 
119
(Write e-mail to that address to subscribe. Common ListServ commands work.
120
Archive of messages available)
121
 
122
Christoph Lameter (clameter@fuller.edu) 16. April 1996.
123
 
124
-----------------------------------------------------------------------------
125
 
126
Changes v1.5.5:
127
 
128
The ability to use the kernel's command line to pass in the configuration for
129
boards.  Using LILO's APPEND command, a string of comma separated identifiers
130
or integers can be used.  The 6 values in order are:
131
 
132
   Enable/Disable this card,
133
   Type of card: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
134
   Enable/Disable alternate pin arrangement,
135
   Number of ports on this card,
136
   I/O Port where card is configured (in HEX if using string identifiers),
137
   Base of memory window (in HEX if using string identifiers),
138
 
139
Samples:
140
   append="digi=E,PC/Xi,D,16,200,D0000"
141
   append="digi=1,0,0,16,512,(whatever D0000 is in base 10 :)
142
 
143
Driver's minor device numbers are conserved. This means that instead of
144
each board getting a block of 16 minors pre-assigned, it gets however
145
many it should, with the next card following directly behind it.  A
146
system with 4 2-port PC/Xi boards will use minor numbers 0-7.
147
This conserves some memory, and removes a few hard coded constants.
148
 
149
NOTE!! NOTE!! NOTE!!
150
The definition of PC/Xem as a valid board type is the BEGINNING of support
151
for this device.  The driver does not currently recognise the board, nor
152
does it want to initialize it.  At least not the EISA version.
153
 
154
Mike McLagan  5, April 1996.
155
 

powered by: WebSVN 2.1.0

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