patch-2.1.33 linux/Documentation/digiboard.txt

Next file: linux/Documentation/ioctl-number.txt
Previous file: linux/Documentation/devices.txt
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.32/linux/Documentation/digiboard.txt linux/Documentation/digiboard.txt
@@ -3,37 +3,184 @@
 
 The Digiboard Driver for Linux supports the following boards:
 
- DigiBoard PC/Xe, PC/Xi, PC/Xeve
+ DigiBoard PC/Xi, PC/Xe, PC/Xeve(which is the newer, smaller Xe with
+ a 8K window which is also known as PC/Xe(8K) and has no memory/irq
+ switches) You can use up to 4 cards with this driver and should work
+ on other architectures than intel also.
+
+In case you have problems with this version(1.6.1) of this driver, please
+email directly to me as I made the last update. It you have a report about
+runnning it on other architectures than intel, email me, so I can document
+it here.
+
+An version of this driver has been taken by Digiboard to make a driver
+software package which supports also PC/Xem cards and newer PCI cards
+but it don't support the old PC/Xi cards and it isn't yet ported to
+linux-2.1.x and may not be useable on other architectures than intel now.
+It is available from ftp.digi.com/ftp.digiboard.com. You can write me if
+you need an patch for this driver.
 
-Limitations:
-------------
-Currently the Driver does not do autoprobing!
+  Bernhard Kaindl (bkaindl@netway.at)  6. April 1997.
 
-The preconfigured I/O address is 0200h and the default memory address
-0D0000h, ALT-PIN feature on and 16 ports available.
+Configuring the Driver
+----------------------
+
+The driver can be build direct into the kernel or as module.
+The pcxx driver can be configured using the command line feature while
+loading the kernel with LILO or LOADLIN or, if built as a module,
+with arguments to insmod and modprobe or with parameters in
+/etc/conf.modules for modprobe and kerneld.
+
+After configuring the driver you need to create the device special files
+as described in "Device file creation:" below and set the appropriate
+permissions for your application.
+
+As Module
+---------
+
+modprobe pcxx io=<io> \
+  membase=<membase> \
+  memsize=<memsize> \
+  numports=<numports>  \
+  altpin=<altpin> \
+  verbose=<verbose>
+
+or, if several cards are installed
+
+modprobe pcxx io=<io-1>,<io-2>,... \
+  membase=<membase-1>,<membase-2>,... \
+  memsize=<memsize-1>,<memsize-2>,... \
+  numports=<numports-1>,<numports-2>,... \
+  altpin=<altpin-1>,<altpin-2>,... \
+  verbose=<verbose>
+
+where <io-N> is the io address of the Nth card and <membase-N> is the
+memory base address of the Nth card, etc.
+
+The parameters can be specified in any order. For example, the numports
+parameter can precede the membase parameter, or vice versa. If several
+cards are installed the ordering within the comma separated parameter
+lists must be consistent, of course.
+
+io       - I/O port address of that card.
+membase  - Memory start address of that card.
+memsize  - Memory size of that card, in kilobytes. If given, this value
+           is compared against the card to verify configuration and
+           hinder the driver to use a misconfigured card. If the parameter
+           does not match the board it is disabled with a memory size error.
+numports - Number of ports on this card. This is the number of devices to
+           assign to this card or reserve if disabled.
+altpin   - 1: swap DCD and DSR for 8-pin RJ-45 with modems.
+	   0: don't swap DCD and DSR.
+           other values count as 1.
+verbose  - 1: give nice verbose output during initialisation of the driver.
+              possibly helpful during board configuration.
+           0: normal terse output.
+
+Only the parameters which differ from the defaults need to be specified.
+If the io= parameter is not given, the default config is used. This is
+
+  io=0x200 membase=0xD0000 numports=16 altpin=0
+
+Only parameters applicable need be specified. For example to configure
+2 boards, first one at 0x200 with 8 ports, rest defaults, second one at
+0x120, memory at 0xD80000, altpin enabled, rest defaults, you can do this
+by using these parameters:
+
+  modprobe pcxx io=0x200,0x120 numports=8,8 membase=,0xD80000 altpin=,1
+
+To disable a temporary unuseable board without changing the mapping of the
+devices following that board, you can empty the io-value for that board:
+
+  modprobe pcxx io=,0x120 numports=8,8 membase=,0xD80000 altpin=,1
+
+The remainig board still uses ttyD8-ttyD15 and cud8-cud15.
+
+Example line for /etc/conf.modules for use with kerneld and as default
+parameters for modprobe:
+
+options pcxx           io=0x200 numports=8
+
+For kerneld to work you will likely need to add these two lines to your
+/etc/conf.modules:
+
+alias char-major-22    pcxx
+alias char-major-23    pcxx
+
+
+Boot-time configuration when linked into the kernel
+---------------------------------------------------
+
+Per Board to be configured, pass a digi= commandline parameter to the
+kernel using lilo or loadlin. It consists of a string of comma separated
+identifiers or integers.  The 6 values in order are:
+
+Card status:      Enable      - use that board
+		  Disable     - don't actually use that board.
+
+Card type:        PC/Xi       - the old ones with 64/128/256/512K RAM.
+		  PC/Xe       - PC/Xe(old ones with 64k mem range).
+		  PC/Xeve     - PC/Xe(newers with 8k mem range).
+
+Note: This is for documentation only, the type is detected from the board.
+
+Altpin setting:   Enable      - swap DCD and DSR for 8-pin RJ-45 with modems.
+		  Disable     - don't swap DCD and DSR.
+
+Number of ports:  1 ... 16    - Number of ports on this card. This is the
+				number of devices to assign to this card.
+
+I/O port address: eg. 200     - I/O Port address where the card is configured.
+
+Memory base addr: eg. 80000   - Memory address where the board's memory starts.
+
+This is an example for a line which you can insert into you lilo.conf:
+
+   append="digi=Enable,PC/Xi,Disable,4,120,D0000"
+
+there is an alternate form, in which you must use decimal values only:
+
+   append="digi=1,0,0,16,512,851968"
+
+If you don't give a digi= commandline, the compiled-in defaults of
+board 1: io=0x200, membase=0xd0000, altpin=off and numports=16 are used.
+
+If you have the resources (io&mem) free for use, configure your board to
+these settings and you should be set up fine even if yours has not 16 ports.
 
-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
-message. The default settings vanish as soon as you give a digi= commandline.
-You can give multiple digi= commandline parameters to define multiple
-boards.
+Sources of Information
+----------------------
+
+Webpage: http://private.fuller.edu/clameter/digi.html
+
+Mailing List: digiboard@list.fuller.edu
+
+(Write e-mail to that address to subscribe. Common ListServ commands work.
+Archive of messages available)
+
+Christoph Lameter (clameter@fuller.edu) 16. April 1996.
+
+Supporting Tools
+----------------
 
-Supporting Tools:
------------------
 Some tools and more detailed information can be found at
 ftp://ftp.fuller.edu/Linux/digi
 
-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.
-Better not use any of the software in that directory if you run a recent
-1.3.X Kernel or later!
-
 The "ditty" tool described in the Digiboard Manuals for other Unixes
 is also available.
 
+
+Device file creation
+--------------------
+
 Currently the Linux MAKEDEV command does not support generating the Digiboard
-Devices. Use the following script to generate the devices:
+Devices. 
+
+The /dev/cud devices behave like the /dev/cua devices
+and the ttyD devices are like the /dev/ttyS devices.
+
+Use the following script to generate the devices:
 
 ------------------ mkdigidev begin
 #!/bin/sh
@@ -66,8 +213,10 @@
   boardnum=`expr $boardnum + 1`
 done
 ------------------ mkdigidev end
+
 or apply the following patch to /dev/MAKEDEV and do a 
-make digi
+sh /dev/MAKEDEV digi
+
 ----- MAKEDEV Patch
 --- /dev/MAKEDEV	Sun Aug 13 15:48:23 1995
 +++ MAKEDEV	Tue Apr 16 17:53:27 1996
@@ -105,51 +254,3 @@
  		;;
  	par[0-2])
 ----- End Makedev patch
-
-The /dev/cud?? devices behave like the /dev/cua?? devices
-and the ttyD devices are like the /dev/ttyS?? devices.
-
-Sources of Information
-----------------------
-
-Webpage: http://private.fuller.edu/clameter/digi.html
-
-Mailing List: digiboard@list.fuller.edu
-
-(Write e-mail to that address to subscribe. Common ListServ commands work.
-Archive of messages available)
-
-Christoph Lameter (clameter@fuller.edu) 16. April 1996.
-
------------------------------------------------------------------------------
-
-Changes v1.5.5:
-
-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 
-or integers can be used.  The 6 values in order are:
-
-   Enable/Disable this card,
-   Type of card: PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)
-   Enable/Disable alternate pin arrangement,
-   Number of ports on this card,
-   I/O Port where card is configured (in HEX if using string identifiers),
-   Base of memory window (in HEX if using string identifiers), 
-
-Samples:
-   append="digi=E,PC/Xi,D,16,200,D0000"
-   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
-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
-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.
-
-NOTE!! NOTE!! NOTE!!
-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
-does it want to initialize it.  At least not the EISA version.
-
-Mike McLagan <mike.mclagan@linux.org> 5, April 1996.
-

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov