Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Documentation/serial: Delete obsolete driver documentation

These serial drivers were removed in kernel v3.1, so we can drop their
documentation files and references to their magic numbers and
parameters.

There are still references to these old drivers in
Documentation/devices.txt but I'm afraid they can't be removed.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Rob Landley <rob@landley.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jean Delvare and committed by
Greg Kroah-Hartman
3053075c d758c9c1

-866
-13
Documentation/kernel-parameters.txt
··· 804 804 dhash_entries= [KNL] 805 805 Set number of hash buckets for dentry cache. 806 806 807 - digi= [HW,SERIAL] 808 - IO parameters + enable/disable command. 809 - 810 - digiepca= [HW,SERIAL] 811 - See drivers/char/README.epca and 812 - Documentation/serial/digiepca.txt. 813 - 814 807 disable= [IPV6] 815 808 See Documentation/networking/ipv6.txt. 816 809 ··· 2932 2939 rhash_entries= [KNL,NET] 2933 2940 Set number of hash buckets for route cache 2934 2941 2935 - riscom8= [HW,SERIAL] 2936 - Format: <io_board1>[,<io_board2>[,...<io_boardN>]] 2937 - 2938 2942 ro [KNL] Mount root device read-only on boot 2939 2943 2940 2944 root= [KNL] Root filesystem ··· 3072 3082 3073 3083 sonypi.*= [HW] Sony Programmable I/O Control Device driver 3074 3084 See Documentation/laptops/sonypi.txt 3075 - 3076 - specialix= [HW,SERIAL] Specialix multi-serial port adapter 3077 - See Documentation/serial/specialix.txt. 3078 3085 3079 3086 spia_io_base= [HW,MTD] 3080 3087 spia_fio_base=
-12
Documentation/magic-number.txt
··· 63 63 PG_MAGIC 'P' pg_{read,write}_hdr include/linux/pg.h 64 64 CMAGIC 0x0111 user include/linux/a.out.h 65 65 MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h 66 - RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h 67 - SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h 68 66 HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c 69 67 APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c 70 68 CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h ··· 80 82 X25_ASY_MAGIC 0x5303 x25_asy drivers/net/x25_asy.h 81 83 SIXPACK_MAGIC 0x5304 sixpack drivers/net/hamradio/6pack.h 82 84 AX25_MAGIC 0x5316 ax_disp drivers/net/mkiss.h 83 - ESP_MAGIC 0x53ee esp_struct drivers/char/esp.h 84 85 TTY_MAGIC 0x5401 tty_struct include/linux/tty.h 85 86 MGSL_MAGIC 0x5401 mgsl_info drivers/char/synclink.c 86 87 TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h ··· 91 94 RFCOMM_TTY_MAGIC 0x6d02 net/bluetooth/rfcomm/tty.c 92 95 USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port drivers/usb/serial/usb-serial.h 93 96 CG_MAGIC 0x00090255 ufs_cylinder_group include/linux/ufs_fs.h 94 - A2232_MAGIC 0x000a2232 gs_port drivers/char/ser_a2232.h 95 97 RPORT_MAGIC 0x00525001 r_port drivers/char/rocket_int.h 96 98 LSEMAGIC 0x05091998 lse drivers/fc4/fc.c 97 99 GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str drivers/scsi/gdth_ioctl.h 98 100 RIEBL_MAGIC 0x09051990 drivers/net/atarilance.c 99 - RIO_MAGIC 0x12345678 gs_port drivers/char/rio/rio_linux.c 100 - SX_MAGIC 0x12345678 gs_port drivers/char/sx.h 101 101 NBD_REQUEST_MAGIC 0x12560953 nbd_request include/linux/nbd.h 102 102 RED_MAGIC2 0x170fc2a5 (any) mm/slab.c 103 103 BAYCOM_MAGIC 0x19730510 baycom_state drivers/net/baycom_epp.c ··· 110 116 CTC_ASYNC_MAGIC 0x49344C01 ctc_tty_info drivers/s390/net/ctctty.c 111 117 ISDN_NET_MAGIC 0x49344C02 isdn_net_local_s drivers/isdn/i4l/isdn_net_lib.h 112 118 SAVEKMSG_MAGIC2 0x4B4D5347 savekmsg arch/*/amiga/config.c 113 - STLI_BOARDMAGIC 0x4bc6c825 stlibrd include/linux/istallion.h 114 119 CS_STATE_MAGIC 0x4c4f4749 cs_state sound/oss/cs46xx.c 115 120 SLAB_C_MAGIC 0x4f17a36d kmem_cache mm/slab.c 116 121 COW_MAGIC 0x4f4f4f4d cow_header_v1 arch/um/drivers/ubd_user.c ··· 120 127 SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c 121 128 GDA_MAGIC 0x58464552 gda arch/mips/include/asm/sn/gda.h 122 129 RED_MAGIC1 0x5a2cf071 (any) mm/slab.c 123 - STL_PORTMAGIC 0x5a7182c9 stlport include/linux/stallion.h 124 130 EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c 125 131 HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h 126 - EPCA_MAGIC 0x5c6df104 channel include/linux/epca.h 127 132 PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h 128 133 KV_MAGIC 0x5f4b565f kernel_vars_s arch/mips/include/asm/sn/klkernvars.h 129 134 I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c ··· 133 142 LO_MAGIC 0x68797548 nbd_device include/linux/nbd.h 134 143 OPROFILE_MAGIC 0x6f70726f super_block drivers/oprofile/oprofilefs.h 135 144 M3_STATE_MAGIC 0x734d724d m3_state sound/oss/maestro3.c 136 - STL_PANELMAGIC 0x7ef621a1 stlpanel include/linux/stallion.h 137 145 VMALLOC_MAGIC 0x87654320 snd_alloc_track sound/core/memory.c 138 146 KMALLOC_MAGIC 0x87654321 snd_alloc_track sound/core/memory.c 139 147 PWC_MAGIC 0x89DC10AB pwc_device drivers/usb/media/pwc.h 140 148 NBD_REPLY_MAGIC 0x96744668 nbd_reply include/linux/nbd.h 141 - STL_BOARDMAGIC 0xa2267f52 stlbrd include/linux/stallion.h 142 149 ENI155_MAGIC 0xa54b872d midway_eprom drivers/atm/eni.h 143 150 SCI_MAGIC 0xbabeface gs_port drivers/char/sh-sci.h 144 151 CODA_MAGIC 0xC0DAC0DA coda_file_info fs/coda/coda_fs_i.h 145 152 DPMEM_MAGIC 0xc0ffee11 gdt_pci_sram drivers/scsi/gdth.h 146 - STLI_PORTMAGIC 0xe671c7a1 stliport include/linux/istallion.h 147 153 YAM_MAGIC 0xF10A7654 yam_port drivers/net/hamradio/yam.c 148 154 CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c 149 155 QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c
-8
Documentation/serial/00-INDEX
··· 2 2 - this file. 3 3 README.cycladesZ 4 4 - info on Cyclades-Z firmware loading. 5 - digiepca.txt 6 - - info on Digi Intl. {PC,PCI,EISA}Xx and Xem series cards. 7 5 driver 8 6 - intro to the low level serial driver. 9 7 moxa-smartio 10 8 - file with info on installing/using Moxa multiport serial driver. 11 9 n_gsm.txt 12 10 - GSM 0710 tty multiplexer howto. 13 - riscom8.txt 14 - - notes on using the RISCom/8 multi-port serial driver. 15 11 rocket.txt 16 12 - info on the Comtrol RocketPort multiport serial driver. 17 13 serial-rs485.txt 18 14 - info about RS485 structures and support in the kernel. 19 - specialix.txt 20 - - info on hardware/driver for specialix IO8+ multiport serial card. 21 - sx.txt 22 - - info on the Specialix SX/SI multiport serial driver. 23 15 tty.txt 24 16 - guide to the locking policies of the tty layer.
-98
Documentation/serial/digiepca.txt
··· 1 - NOTE: This driver is obsolete. Digi provides a 2.6 driver (dgdm) at 2 - http://www.digi.com for PCI cards. They no longer maintain this driver, 3 - and have no 2.6 driver for ISA cards. 4 - 5 - This driver requires a number of user-space tools. They can be acquired from 6 - http://www.digi.com, but only works with 2.4 kernels. 7 - 8 - 9 - The Digi Intl. epca driver. 10 - ---------------------------- 11 - The Digi Intl. epca driver for Linux supports the following boards: 12 - 13 - Digi PC/Xem, PC/Xr, PC/Xe, PC/Xi, PC/Xeve 14 - Digi EISA/Xem, PCI/Xem, PCI/Xr 15 - 16 - Limitations: 17 - ------------ 18 - Currently the driver only autoprobes for supported PCI boards. 19 - 20 - The Linux MAKEDEV command does not support generating the Digiboard 21 - Devices. Users executing digiConfig to setup EISA and PC series cards 22 - will have their device nodes automatically constructed (cud?? for ~CLOCAL, 23 - and ttyD?? for CLOCAL). Users wishing to boot their board from the LILO 24 - prompt, or those users booting PCI cards may use buildDIGI to construct 25 - the necessary nodes. 26 - 27 - Notes: 28 - ------ 29 - This driver may be configured via LILO. For users who have already configured 30 - their driver using digiConfig, configuring from LILO will override previous 31 - settings. Multiple boards may be configured by issuing multiple LILO command 32 - lines. For examples see the bottom of this document. 33 - 34 - Device names start at 0 and continue up. Beware of this as previous Digi 35 - drivers started device names with 1. 36 - 37 - PCI boards are auto-detected and configured by the driver. PCI boards will 38 - be allocated device numbers (internally) beginning with the lowest PCI slot 39 - first. In other words a PCI card in slot 3 will always have higher device 40 - nodes than a PCI card in slot 1. 41 - 42 - LILO config examples: 43 - --------------------- 44 - Using LILO's APPEND command, a string of comma separated identifiers or 45 - integers can be used to configure supported boards. The six values in order 46 - are: 47 - 48 - Enable/Disable this card or Override, 49 - Type of card: PC/Xe (AccelePort) (0), PC/Xeve (1), PC/Xem or PC/Xr (2), 50 - EISA/Xem (3), PC/64Xe (4), PC/Xi (5), 51 - Enable/Disable alternate pin arrangement, 52 - Number of ports on this card, 53 - I/O Port where card is configured (in HEX if using string identifiers), 54 - Base of memory window (in HEX if using string identifiers), 55 - 56 - NOTE : PCI boards are auto-detected and configured. Do not attempt to 57 - configure PCI boards with the LILO append command. If you wish to override 58 - previous configuration data (As set by digiConfig), but you do not wish to 59 - configure any specific card (Example if there are PCI cards in the system) 60 - the following override command will accomplish this: 61 - -> append="digi=2" 62 - 63 - Samples: 64 - append="digiepca=E,PC/Xe,D,16,200,D0000" 65 - or 66 - append="digi=1,0,0,16,512,851968" 67 - 68 - Supporting Tools: 69 - ----------------- 70 - Supporting tools include digiDload, digiConfig, buildPCI, and ditty. See 71 - drivers/char/README.epca for more details. Note, 72 - this driver REQUIRES that digiDload be executed prior to it being used. 73 - Failure to do this will result in an ENODEV error. 74 - 75 - Documentation: 76 - -------------- 77 - Complete documentation for this product may be found in the tool package. 78 - 79 - Sources of information and support: 80 - ----------------------------------- 81 - Digi Intl. support site for this product: 82 - 83 - -> http://www.digi.com 84 - 85 - Acknowledgments: 86 - ---------------- 87 - Much of this work (And even text) was derived from a similar document 88 - supporting the original public domain DigiBoard driver Copyright (C) 89 - 1994,1995 Troy De Jongh. Many thanks to Christoph Lameter 90 - (christoph@lameter.com) and Mike McLagan (mike.mclagan@linux.org) who authored 91 - and contributed to the original document. 92 - 93 - Changelog: 94 - ---------- 95 - 10-29-04: Update status of driver, remove dead links in document 96 - James Nelson <james4765@gmail.com> 97 - 98 - 2000 (?) Original Document
-36
Documentation/serial/riscom8.txt
··· 1 - * NOTE - this is an unmaintained driver. The original author cannot be located. 2 - 3 - SDL Communications is now SBS Technologies, and does not have any 4 - information on these ancient ISA cards on their website. 5 - 6 - James Nelson <james4765@gmail.com> - 12-12-2004 7 - 8 - This is the README for RISCom/8 multi-port serial driver 9 - (C) 1994-1996 D.Gorodchanin 10 - See file LICENSE for terms and conditions. 11 - 12 - NOTE: English is not my native language. 13 - I'm sorry for any mistakes in this text. 14 - 15 - Misc. notes for RISCom/8 serial driver, in no particular order :) 16 - 17 - 1) This driver can support up to 4 boards at time. 18 - Use string "riscom8=0xXXX,0xXXX,0xXXX,0xXXX" at LILO prompt, for 19 - setting I/O base addresses for boards. If you compile driver 20 - as module use modprobe options "iobase=0xXXX iobase1=0xXXX iobase2=..." 21 - 22 - 2) The driver partially supports famous 'setserial' program, you can use almost 23 - any of its options, excluding port & irq settings. 24 - 25 - 3) There are some misc. defines at the beginning of riscom8.c, please read the 26 - comments and try to change some of them in case of problems. 27 - 28 - 4) I consider the current state of the driver as BETA. 29 - 30 - 5) SDL Communications WWW page is http://www.sdlcomm.com. 31 - 32 - 6) You can use the MAKEDEV program to create RISCom/8 /dev/ttyL* entries. 33 - 34 - 7) Minor numbers for first board are 0-7, for second 8-15, etc. 35 - 36 - 22 Apr 1996.
-383
Documentation/serial/specialix.txt
··· 1 - 2 - specialix.txt -- specialix IO8+ multiport serial driver readme. 3 - 4 - 5 - 6 - Copyright (C) 1997 Roger Wolff (R.E.Wolff@BitWizard.nl) 7 - 8 - Specialix pays for the development and support of this driver. 9 - Please DO contact io8-linux@specialix.co.uk if you require 10 - support. 11 - 12 - This driver was developed in the BitWizard linux device 13 - driver service. If you require a linux device driver for your 14 - product, please contact devices@BitWizard.nl for a quote. 15 - 16 - This code is firmly based on the riscom/8 serial driver, 17 - written by Dmitry Gorodchanin. The specialix IO8+ card 18 - programming information was obtained from the CL-CD1865 Data 19 - Book, and Specialix document number 6200059: IO8+ Hardware 20 - Functional Specification, augmented by document number 6200088: 21 - Merak Hardware Functional Specification. (IO8+/PCI is also 22 - called Merak) 23 - 24 - 25 - This program is free software; you can redistribute it and/or 26 - modify it under the terms of the GNU General Public License as 27 - published by the Free Software Foundation; either version 2 of 28 - the License, or (at your option) any later version. 29 - 30 - This program is distributed in the hope that it will be 31 - useful, but WITHOUT ANY WARRANTY; without even the implied 32 - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 33 - PURPOSE. See the GNU General Public License for more details. 34 - 35 - You should have received a copy of the GNU General Public 36 - License along with this program; if not, write to the Free 37 - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, 38 - USA. 39 - 40 - 41 - Intro 42 - ===== 43 - 44 - 45 - This file contains some random information, that I like to have online 46 - instead of in a manual that can get lost. Ever misplace your Linux 47 - kernel sources? And the manual of one of the boards in your computer? 48 - 49 - 50 - Addresses and interrupts 51 - ======================== 52 - 53 - Address dip switch settings: 54 - The dip switch sets bits 2-9 of the IO address. 55 - 56 - 9 8 7 6 5 4 3 2 57 - +-----------------+ 58 - 0 | X X X X X X X | 59 - | | = IoBase = 0x100 60 - 1 | X | 61 - +-----------------+ ------ RS232 connectors ----> 62 - 63 - | | | 64 - edge connector 65 - | | | 66 - V V V 67 - 68 - Base address 0x100 caused a conflict in one of my computers once. I 69 - haven't the foggiest why. My Specialix card is now at 0x180. My 70 - other computer runs just fine with the Specialix card at 0x100.... 71 - The card occupies 4 addresses, but actually only two are really used. 72 - 73 - The PCI version doesn't have any dip switches. The BIOS assigns 74 - an IO address. 75 - 76 - The driver now still autoprobes at 0x100, 0x180, 0x250 and 0x260. If 77 - that causes trouble for you, please report that. I'll remove 78 - autoprobing then. 79 - 80 - The driver will tell the card what IRQ to use, so you don't have to 81 - change any jumpers to change the IRQ. Just use a command line 82 - argument (irq=xx) to the insmod program to set the interrupt. 83 - 84 - The BIOS assigns the IRQ on the PCI version. You have no say in what 85 - IRQ to use in that case. 86 - 87 - If your specialix cards are not at the default locations, you can use 88 - the kernel command line argument "specialix=io0,irq0,io1,irq1...". 89 - Here "io0" is the io address for the first card, and "irq0" is the 90 - irq line that the first card should use. And so on. 91 - 92 - Examples. 93 - 94 - You use the driver as a module and have three cards at 0x100, 0x250 95 - and 0x180. And some way or another you want them detected in that 96 - order. Moreover irq 12 is taken (e.g. by your PS/2 mouse). 97 - 98 - insmod specialix.o iobase=0x100,0x250,0x180 irq=9,11,15 99 - 100 - The same three cards, but now in the kernel would require you to 101 - add 102 - 103 - specialix=0x100,9,0x250,11,0x180,15 104 - 105 - to the command line. This would become 106 - 107 - append="specialix=0x100,9,0x250,11,0x180,15" 108 - 109 - in your /etc/lilo.conf file if you use lilo. 110 - 111 - The Specialix driver is slightly odd: It allows you to have the second 112 - or third card detected without having a first card. This has 113 - advantages and disadvantages. A slot that isn't filled by an ISA card, 114 - might be filled if a PCI card is detected. Thus if you have an ISA 115 - card at 0x250 and a PCI card, you would get: 116 - 117 - sx0: specialix IO8+ Board at 0x100 not found. 118 - sx1: specialix IO8+ Board at 0x180 not found. 119 - sx2: specialix IO8+ board detected at 0x250, IRQ 12, CD1865 Rev. B. 120 - sx3: specialix IO8+ Board at 0x260 not found. 121 - sx0: specialix IO8+ board detected at 0xd800, IRQ 9, CD1865 Rev. B. 122 - 123 - This would happen if you don't give any probe hints to the driver. 124 - If you would specify: 125 - 126 - specialix=0x250,11 127 - 128 - you'd get the following messages: 129 - 130 - sx0: specialix IO8+ board detected at 0x250, IRQ 11, CD1865 Rev. B. 131 - sx1: specialix IO8+ board detected at 0xd800, IRQ 9, CD1865 Rev. B. 132 - 133 - ISA probing is aborted after the IO address you gave is exhausted, and 134 - the PCI card is now detected as the second card. The ISA card is now 135 - also forced to IRQ11.... 136 - 137 - 138 - Baud rates 139 - ========== 140 - 141 - The rev 1.2 and below boards use a CL-CD1864. These chips can only 142 - do 64kbit. The rev 1.3 and newer boards use a CL-CD1865. These chips 143 - are officially capable of 115k2. 144 - 145 - The Specialix card uses a 25MHz crystal (in times two mode, which in 146 - fact is a divided by two mode). This is not enough to reach the rated 147 - 115k2 on all ports at the same time. With this clock rate you can only 148 - do 37% of this rate. This means that at 115k2 on all ports you are 149 - going to lose characters (The chip cannot handle that many incoming 150 - bits at this clock rate.) (Yes, you read that correctly: there is a 151 - limit to the number of -=bits=- per second that the chip can handle.) 152 - 153 - If you near the "limit" you will first start to see a graceful 154 - degradation in that the chip cannot keep the transmitter busy at all 155 - times. However with a central clock this slow, you can also get it to 156 - miss incoming characters. The driver will print a warning message when 157 - you are outside the official specs. The messages usually show up in 158 - the file /var/log/messages . 159 - 160 - The specialix card cannot reliably do 115k2. If you use it, you have 161 - to do "extensive testing" (*) to verify if it actually works. 162 - 163 - When "mgetty" communicates with my modem at 115k2 it reports: 164 - got: +++[0d]ATQ0V1H0[0d][0d][8a]O[cb][0d][8a] 165 - ^^^^ ^^^^ ^^^^ 166 - 167 - The three characters that have the "^^^" under them have suffered a 168 - bit error in the highest bit. In conclusion: I've tested it, and found 169 - that it simply DOESN'T work for me. I also suspect that this is also 170 - caused by the baud rate being just a little bit out of tune. 171 - 172 - I upgraded the crystal to 66Mhz on one of my Specialix cards. Works 173 - great! Contact me for details. (Voids warranty, requires a steady hand 174 - and more such restrictions....) 175 - 176 - 177 - (*) Cirrus logic CD1864 databook, page 40. 178 - 179 - 180 - Cables for the Specialix IO8+ 181 - ============================= 182 - 183 - The pinout of the connectors on the IO8+ is: 184 - 185 - pin short direction long name 186 - name 187 - Pin 1 DCD input Data Carrier Detect 188 - Pin 2 RXD input Receive 189 - Pin 3 DTR/RTS output Data Terminal Ready/Ready To Send 190 - Pin 4 GND - Ground 191 - Pin 5 TXD output Transmit 192 - Pin 6 CTS input Clear To Send 193 - 194 - 195 - -- 6 5 4 3 2 1 -- 196 - | | 197 - | | 198 - | | 199 - | | 200 - +----- -----+ 201 - |__________| 202 - clip 203 - 204 - Front view of an RJ12 connector. Cable moves "into" the paper. 205 - (the plug is ready to plug into your mouth this way...) 206 - 207 - 208 - NULL cable. I don't know who is going to use these except for 209 - testing purposes, but I tested the cards with this cable. (It 210 - took quite a while to figure out, so I'm not going to delete 211 - it. So there! :-) 212 - 213 - 214 - This end goes This end needs 215 - straight into the some twists in 216 - RJ12 plug. the wiring. 217 - IO8+ RJ12 IO8+ RJ12 218 - 1 DCD white - 219 - - - 1 DCD 220 - 2 RXD black 5 TXD 221 - 3 DTR/RTS red 6 CTS 222 - 4 GND green 4 GND 223 - 5 TXD yellow 2 RXD 224 - 6 CTS blue 3 DTR/RTS 225 - 226 - 227 - Same NULL cable, but now sorted on the second column. 228 - 229 - 1 DCD white - 230 - - - 1 DCD 231 - 5 TXD yellow 2 RXD 232 - 6 CTS blue 3 DTR/RTS 233 - 4 GND green 4 GND 234 - 2 RXD black 5 TXD 235 - 3 DTR/RTS red 6 CTS 236 - 237 - 238 - 239 - This is a modem cable usable for hardware handshaking: 240 - RJ12 DB25 DB9 241 - 1 DCD white 8 DCD 1 DCD 242 - 2 RXD black 3 RXD 2 RXD 243 - 3 DTR/RTS red 4 RTS 7 RTS 244 - 4 GND green 7 GND 5 GND 245 - 5 TXD yellow 2 TXD 3 TXD 246 - 6 CTS blue 5 CTS 8 CTS 247 - +---- 6 DSR 6 DSR 248 - +---- 20 DTR 4 DTR 249 - 250 - This is a modem cable usable for software handshaking: 251 - It allows you to reset the modem using the DTR ioctls. 252 - I (REW) have never tested this, "but xxxxxxxxxxxxx 253 - says that it works." If you test this, please 254 - tell me and I'll fill in your name on the xxx's. 255 - 256 - RJ12 DB25 DB9 257 - 1 DCD white 8 DCD 1 DCD 258 - 2 RXD black 3 RXD 2 RXD 259 - 3 DTR/RTS red 20 DTR 4 DTR 260 - 4 GND green 7 GND 5 GND 261 - 5 TXD yellow 2 TXD 3 TXD 262 - 6 CTS blue 5 CTS 8 CTS 263 - +---- 6 DSR 6 DSR 264 - +---- 4 RTS 7 RTS 265 - 266 - I bought a 6 wire flat cable. It was colored as indicated. 267 - Check that yours is the same before you trust me on this. 268 - 269 - 270 - Hardware handshaking issues. 271 - ============================ 272 - 273 - The driver can be told to operate in two different ways. The default 274 - behaviour is specialix.sx_rtscts = 0 where the pin behaves as DTR when 275 - hardware handshaking is off. It behaves as the RTS hardware 276 - handshaking signal when hardware handshaking is selected. 277 - 278 - When you use this, you have to use the appropriate cable. The 279 - cable will either be compatible with hardware handshaking or with 280 - software handshaking. So switching on the fly is not really an 281 - option. 282 - 283 - I actually prefer to use the "specialix.sx_rtscts=1" option. 284 - This makes the DTR/RTS pin always an RTS pin, and ioctls to 285 - change DTR are always ignored. I have a cable that is configured 286 - for this. 287 - 288 - 289 - Ports and devices 290 - ================= 291 - 292 - Port 0 is the one furthest from the card-edge connector. 293 - 294 - Devices: 295 - 296 - You should make the devices as follows: 297 - 298 - bash 299 - cd /dev 300 - for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 \ 301 - 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 302 - do 303 - echo -n "$i " 304 - mknod /dev/ttyW$i c 75 $i 305 - mknod /dev/cuw$i c 76 $i 306 - done 307 - echo "" 308 - 309 - If your system doesn't come with these devices preinstalled, bug your 310 - linux-vendor about this. They have had ample time to get this 311 - implemented by now. 312 - 313 - You cannot have more than 4 boards in one computer. The card only 314 - supports 4 different interrupts. If you really want this, contact me 315 - about this and I'll give you a few tips (requires soldering iron).... 316 - 317 - If you have enough PCI slots, you can probably use more than 4 PCI 318 - versions of the card though.... 319 - 320 - The PCI version of the card cannot adhere to the mechanical part of 321 - the PCI spec because the 8 serial connectors are simply too large. If 322 - it doesn't fit in your computer, bring back the card. 323 - 324 - 325 - ------------------------------------------------------------------------ 326 - 327 - 328 - Fixed bugs and restrictions: 329 - - During initialization, interrupts are blindly turned on. 330 - Having a shadow variable would cause an extra memory 331 - access on every IO instruction. 332 - - The interrupt (on the card) should be disabled when we 333 - don't allocate the Linux end of the interrupt. This allows 334 - a different driver/card to use it while all ports are not in 335 - use..... (a la standard serial port) 336 - == An extra _off variant of the sx_in and sx_out macros are 337 - now available. They don't set the interrupt enable bit. 338 - These are used during initialization. Normal operation uses 339 - the old variant which enables the interrupt line. 340 - - RTS/DTR issue needs to be implemented according to 341 - specialix' spec. 342 - I kind of like the "determinism" of the current 343 - implementation. Compile time flag? 344 - == Ok. Compile time flag! Default is how Specialix likes it. 345 - == Now a config time flag! Gets saved in your config file. Neat! 346 - - Can you set the IO address from the lilo command line? 347 - If you need this, bug me about it, I'll make it. 348 - == Hah! No bugging needed. Fixed! :-) 349 - - Cirrus logic hasn't gotten back to me yet why the CD1865 can 350 - and the CD1864 can't do 115k2. I suspect that this is 351 - because the CD1864 is not rated for 33MHz operation. 352 - Therefore the CD1864 versions of the card can't do 115k2 on 353 - all ports just like the CD1865 versions. The driver does 354 - not block 115k2 on CD1864 cards. 355 - == I called the Cirrus Logic representative here in Holland. 356 - The CD1864 databook is identical to the CD1865 databook, 357 - except for an extra warning at the end. Similar Bit errors 358 - have been observed in testing at 115k2 on both an 1865 and 359 - a 1864 chip. I see no reason why I would prohibit 115k2 on 360 - 1864 chips and not do it on 1865 chips. Actually there is 361 - reason to prohibit it on BOTH chips. I print a warning. 362 - If you use 115k2, you're on your own. 363 - - A spiky CD may send spurious HUPs. Also in CLOCAL??? 364 - -- A fix for this turned out to be counter productive. 365 - Different fix? Current behaviour is acceptable? 366 - -- Maybe the current implementation is correct. If anybody 367 - gets bitten by this, please report, and it will get fixed. 368 - 369 - -- Testing revealed that when in CLOCAL, the problem doesn't 370 - occur. As warned for in the CD1865 manual, the chip may 371 - send modem intr's on a spike. We could filter those out, 372 - but that would be a cludge anyway (You'd still risk getting 373 - a spurious HUP when two spikes occur.)..... 374 - 375 - 376 - 377 - Bugs & restrictions: 378 - - This is a difficult card to autoprobe. 379 - You have to WRITE to the address register to even 380 - read-probe a CD186x register. Disable autodetection? 381 - -- Specialix: any suggestions? 382 - 383 -
-294
Documentation/serial/sx.txt
··· 1 - 2 - sx.txt -- specialix SX/SI multiport serial driver readme. 3 - 4 - 5 - 6 - Copyright (C) 1997 Roger Wolff (R.E.Wolff@BitWizard.nl) 7 - 8 - Specialix pays for the development and support of this driver. 9 - Please DO contact support@specialix.co.uk if you require 10 - support. 11 - 12 - This driver was developed in the BitWizard linux device 13 - driver service. If you require a linux device driver for your 14 - product, please contact devices@BitWizard.nl for a quote. 15 - 16 - (History) 17 - There used to be an SI driver by Simon Allan. This is a complete 18 - rewrite from scratch. Just a few lines-of-code have been snatched. 19 - 20 - (Sources) 21 - Specialix document number 6210028: SX Host Card and Download Code 22 - Software Functional Specification. 23 - 24 - (Copying) 25 - This program is free software; you can redistribute it and/or 26 - modify it under the terms of the GNU General Public License as 27 - published by the Free Software Foundation; either version 2 of 28 - the License, or (at your option) any later version. 29 - 30 - This program is distributed in the hope that it will be 31 - useful, but WITHOUT ANY WARRANTY; without even the implied 32 - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 33 - PURPOSE. See the GNU General Public License for more details. 34 - 35 - You should have received a copy of the GNU General Public 36 - License along with this program; if not, write to the Free 37 - Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, 38 - USA. 39 - 40 - (Addendum) 41 - I'd appreciate it that if you have fixes, that you send them 42 - to me first. 43 - 44 - 45 - Introduction 46 - ============ 47 - 48 - This file contains some random information, that I like to have online 49 - instead of in a manual that can get lost. Ever misplace your Linux 50 - kernel sources? And the manual of one of the boards in your computer? 51 - 52 - 53 - Theory of operation 54 - =================== 55 - 56 - An important thing to know is that the driver itself doesn't have the 57 - firmware for the card. This means that you need the separate package 58 - "sx_firmware". For now you can get the source at 59 - 60 - ftp://ftp.bitwizard.nl/specialix/sx_firmware_<version>.tgz 61 - 62 - The firmware load needs a "misc" device, so you'll need to enable the 63 - "Support for user misc device modules" in your kernel configuration. 64 - The misc device needs to be called "/dev/specialix_sxctl". It needs 65 - misc major 10, and minor number 167 (assigned by HPA). The section 66 - on creating device files below also creates this device. 67 - 68 - After loading the sx.o module into your kernel, the driver will report 69 - the number of cards detected, but because it doesn't have any 70 - firmware, it will not be able to determine the number of ports. Only 71 - when you then run "sx_firmware" will the firmware be downloaded and 72 - the rest of the driver initialized. At that time the sx_firmware 73 - program will report the number of ports installed. 74 - 75 - In contrast with many other multi port serial cards, some of the data 76 - structures are only allocated when the card knows the number of ports 77 - that are connected. This means we won't waste memory for 120 port 78 - descriptor structures when you only have 8 ports. If you experience 79 - problems due to this, please report them: I haven't seen any. 80 - 81 - 82 - Interrupts 83 - ========== 84 - 85 - A multi port serial card, would generate a horrendous amount of 86 - interrupts if it would interrupt the CPU for every received 87 - character. Even more than 10 years ago, the trick not to use 88 - interrupts but to poll the serial cards was invented. 89 - 90 - The SX card allow us to do this two ways. First the card limits its 91 - own interrupt rate to a rate that won't overwhelm the CPU. Secondly, 92 - we could forget about the cards interrupt completely and use the 93 - internal timer for this purpose. 94 - 95 - Polling the card can take up to a few percent of your CPU. Using the 96 - interrupts would be better if you have most of the ports idle. Using 97 - timer-based polling is better if your card almost always has work to 98 - do. You save the separate interrupt in that case. 99 - 100 - In any case, it doesn't really matter all that much. 101 - 102 - The most common problem with interrupts is that for ISA cards in a PCI 103 - system the BIOS has to be told to configure that interrupt as "legacy 104 - ISA". Otherwise the card can pull on the interrupt line all it wants 105 - but the CPU won't see this. 106 - 107 - If you can't get the interrupt to work, remember that polling mode is 108 - more efficient (provided you actually use the card intensively). 109 - 110 - 111 - Allowed Configurations 112 - ====================== 113 - 114 - Some configurations are disallowed. Even though at a glance they might 115 - seem to work, they are known to lockup the bus between the host card 116 - and the device concentrators. You should respect the drivers decision 117 - not to support certain configurations. It's there for a reason. 118 - 119 - Warning: Seriously technical stuff ahead. Executive summary: Don't use 120 - SX cards except configured at a 64k boundary. Skip the next paragraph. 121 - 122 - The SX cards can theoretically be placed at a 32k boundary. So for 123 - instance you can put an SX card at 0xc8000-0xd7fff. This is not a 124 - "recommended configuration". ISA cards have to tell the bus controller 125 - how they like their timing. Due to timing issues they have to do this 126 - based on which 64k window the address falls into. This means that the 127 - 32k window below and above the SX card have to use exactly the same 128 - timing as the SX card. That reportedly works for other SX cards. But 129 - you're still left with two useless 32k windows that should not be used 130 - by anybody else. 131 - 132 - 133 - Configuring the driver 134 - ====================== 135 - 136 - PCI cards are always detected. The driver auto-probes for ISA cards at 137 - some sensible addresses. Please report if the auto-probe causes trouble 138 - in your system, or when a card isn't detected. 139 - 140 - I'm afraid I haven't implemented "kernel command line parameters" yet. 141 - This means that if the default doesn't work for you, you shouldn't use 142 - the compiled-into-the-kernel version of the driver. Use a module 143 - instead. If you convince me that you need this, I'll make it for 144 - you. Deal? 145 - 146 - I'm afraid that the module parameters are a bit clumsy. If you have a 147 - better idea, please tell me. 148 - 149 - You can specify several parameters: 150 - 151 - sx_poll: number of jiffies between timer-based polls. 152 - 153 - Set this to "0" to disable timer based polls. 154 - Initialization of cards without a working interrupt 155 - will fail. 156 - 157 - Set this to "1" if you want a polling driver. 158 - (on Intel: 100 polls per second). If you don't use 159 - fast baud rates, you might consider a value like "5". 160 - (If you don't know how to do the math, use 1). 161 - 162 - sx_slowpoll: Number of jiffies between timer-based polls. 163 - Set this to "100" to poll once a second. 164 - This should get the card out of a stall if the driver 165 - ever misses an interrupt. I've never seen this happen, 166 - and if it does, that's a bug. Tell me. 167 - 168 - sx_maxints: Number of interrupts to request from the card. 169 - The card normally limits interrupts to about 100 per 170 - second to offload the host CPU. You can increase this 171 - number to reduce latency on the card a little. 172 - Note that if you give a very high number you can overload 173 - your CPU as well as the CPU on the host card. This setting 174 - is inaccurate and not recommended for SI cards (But it 175 - works). 176 - 177 - sx_irqmask: The mask of allowable IRQs to use. I suggest you set 178 - this to 0 (disable IRQs all together) and use polling if 179 - the assignment of IRQs becomes problematic. This is defined 180 - as the sum of (1 << irq) 's that you want to allow. So 181 - sx_irqmask of 8 (1 << 3) specifies that only irq 3 may 182 - be used by the SX driver. If you want to specify to the 183 - driver: "Either irq 11 or 12 is ok for you to use", then 184 - specify (1 << 11) | (1 << 12) = 0x1800 . 185 - 186 - sx_debug: You can enable different sorts of debug traces with this. 187 - At "-1" all debugging traces are active. You'll get several 188 - times more debugging output than you'll get characters 189 - transmitted. 190 - 191 - 192 - Baud rates 193 - ========== 194 - 195 - Theoretically new SXDCs should be capable of more than 460k 196 - baud. However the line drivers usually give up before that. Also the 197 - CPU on the card may not be able to handle 8 channels going at full 198 - blast at that speed. Moreover, the buffers are not large enough to 199 - allow operation with 100 interrupts per second. You'll have to realize 200 - that the card has a 256 byte buffer, so you'll have to increase the 201 - number of interrupts per second if you have more than 256*100 bytes 202 - per second to transmit. If you do any performance testing in this 203 - area, I'd be glad to hear from you... 204 - 205 - (Psst Linux users..... I think the Linux driver is more efficient than 206 - the driver for other OSes. If you can and want to benchmark them 207 - against each other, be my guest, and report your findings...... :-) 208 - 209 - 210 - Ports and devices 211 - ================= 212 - 213 - Port 0 is the top connector on the module closest to the host 214 - card. Oh, the ports on the SXDCs and TAs are labelled from 1 to 8 215 - instead of from 0 to 7, as they are numbered by linux. I'm stubborn in 216 - this: I know for sure that I wouldn't be able to calculate which port 217 - is which anymore if I would change that.... 218 - 219 - 220 - Devices: 221 - 222 - You should make the device files as follows: 223 - 224 - #!/bin/sh 225 - # (I recommend that you cut-and-paste this into a file and run that) 226 - cd /dev 227 - t=0 228 - mknod specialix_sxctl c 10 167 229 - while [ $t -lt 64 ] 230 - do 231 - echo -n "$t " 232 - mknod ttyX$t c 32 $t 233 - mknod cux$t c 33 $t 234 - t=`expr $t + 1` 235 - done 236 - echo "" 237 - rm /etc/psdevtab 238 - ps > /dev/null 239 - 240 - 241 - This creates 64 devices. If you have more, increase the constant on 242 - the line with "while". The devices start at 0, as is customary on 243 - Linux. Specialix seems to like starting the numbering at 1. 244 - 245 - If your system doesn't come with these devices pre-installed, bug your 246 - linux-vendor about this. They should have these devices 247 - "pre-installed" before the new millennium. The "ps" stuff at the end 248 - is to "tell" ps that the new devices exist. 249 - 250 - Officially the maximum number of cards per computer is 4. This driver 251 - however supports as many cards in one machine as you want. You'll run 252 - out of interrupts after a few, but you can switch to polled operation 253 - then. At about 256 ports (More than 8 cards), we run out of minor 254 - device numbers. Sorry. I suggest you buy a second computer.... (Or 255 - switch to RIO). 256 - 257 - ------------------------------------------------------------------------ 258 - 259 - 260 - Fixed bugs and restrictions: 261 - - Hangup processing. 262 - -- Done. 263 - 264 - - the write path in generic_serial (lockup / oops). 265 - -- Done (Ugly: not the way I want it. Copied from serial.c). 266 - 267 - - write buffer isn't flushed at close. 268 - -- Done. I still seem to lose a few chars at close. 269 - Sorry. I think that this is a firmware issue. (-> Specialix) 270 - 271 - - drain hardware before changing termios 272 - - Change debug on the fly. 273 - - ISA free irq -1. (no firmware loaded). 274 - - adding c8000 as a probe address. Added warning. 275 - - Add a RAMtest for the RAM on the card.c 276 - - Crash when opening a port "way" of the number of allowed ports. 277 - (for example opening port 60 when there are only 24 ports attached) 278 - - Sometimes the use-count strays a bit. After a few hours of 279 - testing the use count is sometimes "3". If you are not like 280 - me and can remember what you did to get it that way, I'd 281 - appreciate an Email. Possibly fixed. Tell me if anyone still 282 - sees this. 283 - - TAs don't work right if you don't connect all the modem control 284 - signals. SXDCs do. T225 firmware problem -> Specialix. 285 - (Mostly fixed now, I think. Tell me if you encounter this!) 286 - 287 - Bugs & restrictions: 288 - 289 - - Arbitrary baud rates. Requires firmware update. (-> Specialix) 290 - 291 - - Low latency (mostly firmware, -> Specialix) 292 - 293 - 294 -
-12
Documentation/zh_CN/magic-number.txt
··· 63 63 PG_MAGIC 'P' pg_{read,write}_hdr include/linux/pg.h 64 64 CMAGIC 0x0111 user include/linux/a.out.h 65 65 MKISS_DRIVER_MAGIC 0x04bf mkiss_channel drivers/net/mkiss.h 66 - RISCOM8_MAGIC 0x0907 riscom_port drivers/char/riscom8.h 67 - SPECIALIX_MAGIC 0x0907 specialix_port drivers/char/specialix_io8.h 68 66 HDLC_MAGIC 0x239e n_hdlc drivers/char/n_hdlc.c 69 67 APM_BIOS_MAGIC 0x4101 apm_user arch/x86/kernel/apm_32.c 70 68 CYCLADES_MAGIC 0x4359 cyclades_port include/linux/cyclades.h ··· 80 82 X25_ASY_MAGIC 0x5303 x25_asy drivers/net/x25_asy.h 81 83 SIXPACK_MAGIC 0x5304 sixpack drivers/net/hamradio/6pack.h 82 84 AX25_MAGIC 0x5316 ax_disp drivers/net/mkiss.h 83 - ESP_MAGIC 0x53ee esp_struct drivers/char/esp.h 84 85 TTY_MAGIC 0x5401 tty_struct include/linux/tty.h 85 86 MGSL_MAGIC 0x5401 mgsl_info drivers/char/synclink.c 86 87 TTY_DRIVER_MAGIC 0x5402 tty_driver include/linux/tty_driver.h ··· 91 94 RFCOMM_TTY_MAGIC 0x6d02 net/bluetooth/rfcomm/tty.c 92 95 USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port drivers/usb/serial/usb-serial.h 93 96 CG_MAGIC 0x00090255 ufs_cylinder_group include/linux/ufs_fs.h 94 - A2232_MAGIC 0x000a2232 gs_port drivers/char/ser_a2232.h 95 97 RPORT_MAGIC 0x00525001 r_port drivers/char/rocket_int.h 96 98 LSEMAGIC 0x05091998 lse drivers/fc4/fc.c 97 99 GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str drivers/scsi/gdth_ioctl.h 98 100 RIEBL_MAGIC 0x09051990 drivers/net/atarilance.c 99 - RIO_MAGIC 0x12345678 gs_port drivers/char/rio/rio_linux.c 100 - SX_MAGIC 0x12345678 gs_port drivers/char/sx.h 101 101 NBD_REQUEST_MAGIC 0x12560953 nbd_request include/linux/nbd.h 102 102 RED_MAGIC2 0x170fc2a5 (any) mm/slab.c 103 103 BAYCOM_MAGIC 0x19730510 baycom_state drivers/net/baycom_epp.c ··· 110 116 CTC_ASYNC_MAGIC 0x49344C01 ctc_tty_info drivers/s390/net/ctctty.c 111 117 ISDN_NET_MAGIC 0x49344C02 isdn_net_local_s drivers/isdn/i4l/isdn_net_lib.h 112 118 SAVEKMSG_MAGIC2 0x4B4D5347 savekmsg arch/*/amiga/config.c 113 - STLI_BOARDMAGIC 0x4bc6c825 stlibrd include/linux/istallion.h 114 119 CS_STATE_MAGIC 0x4c4f4749 cs_state sound/oss/cs46xx.c 115 120 SLAB_C_MAGIC 0x4f17a36d kmem_cache mm/slab.c 116 121 COW_MAGIC 0x4f4f4f4d cow_header_v1 arch/um/drivers/ubd_user.c ··· 120 127 SAVEKMSG_MAGIC1 0x53415645 savekmsg arch/*/amiga/config.c 121 128 GDA_MAGIC 0x58464552 gda arch/mips/include/asm/sn/gda.h 122 129 RED_MAGIC1 0x5a2cf071 (any) mm/slab.c 123 - STL_PORTMAGIC 0x5a7182c9 stlport include/linux/stallion.h 124 130 EEPROM_MAGIC_VALUE 0x5ab478d2 lanai_dev drivers/atm/lanai.c 125 131 HDLCDRV_MAGIC 0x5ac6e778 hdlcdrv_state include/linux/hdlcdrv.h 126 - EPCA_MAGIC 0x5c6df104 channel include/linux/epca.h 127 132 PCXX_MAGIC 0x5c6df104 channel drivers/char/pcxx.h 128 133 KV_MAGIC 0x5f4b565f kernel_vars_s arch/mips/include/asm/sn/klkernvars.h 129 134 I810_STATE_MAGIC 0x63657373 i810_state sound/oss/i810_audio.c ··· 133 142 LO_MAGIC 0x68797548 nbd_device include/linux/nbd.h 134 143 OPROFILE_MAGIC 0x6f70726f super_block drivers/oprofile/oprofilefs.h 135 144 M3_STATE_MAGIC 0x734d724d m3_state sound/oss/maestro3.c 136 - STL_PANELMAGIC 0x7ef621a1 stlpanel include/linux/stallion.h 137 145 VMALLOC_MAGIC 0x87654320 snd_alloc_track sound/core/memory.c 138 146 KMALLOC_MAGIC 0x87654321 snd_alloc_track sound/core/memory.c 139 147 PWC_MAGIC 0x89DC10AB pwc_device drivers/usb/media/pwc.h 140 148 NBD_REPLY_MAGIC 0x96744668 nbd_reply include/linux/nbd.h 141 - STL_BOARDMAGIC 0xa2267f52 stlbrd include/linux/stallion.h 142 149 ENI155_MAGIC 0xa54b872d midway_eprom drivers/atm/eni.h 143 150 SCI_MAGIC 0xbabeface gs_port drivers/char/sh-sci.h 144 151 CODA_MAGIC 0xC0DAC0DA coda_file_info include/linux/coda_fs_i.h 145 152 DPMEM_MAGIC 0xc0ffee11 gdt_pci_sram drivers/scsi/gdth.h 146 - STLI_PORTMAGIC 0xe671c7a1 stliport include/linux/istallion.h 147 153 YAM_MAGIC 0xF10A7654 yam_port drivers/net/hamradio/yam.c 148 154 CCB_MAGIC 0xf2691ad2 ccb drivers/scsi/ncr53c8xx.c 149 155 QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry drivers/scsi/arm/queue.c
-10
firmware/WHENCE
··· 273 273 274 274 -------------------------------------------------------------------------- 275 275 276 - Driver: ip2 -- Computone IntelliPort Plus serial device 277 - 278 - File: intelliport2.bin 279 - 280 - Licence: Unknown 281 - 282 - Found in hex form in kernel source. 283 - 284 - -------------------------------------------------------------------------- 285 - 286 276 Driver: CPiA2 -- cameras based on Vision's CPiA2 287 277 288 278 File: cpia2/stv0672_vp4.bin