Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   1) ================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   2) Comtrol(tm) RocketPort(R)/RocketModem(TM) Series
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   3) ================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   4) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   5) Device Driver for the Linux Operating System
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   6) ============================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   7) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   8) Product overview
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300   9) ----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  10) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  11) This driver provides a loadable kernel driver for the Comtrol RocketPort
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  12) and RocketModem PCI boards. These boards provide, 2, 4, 8, 16, or 32
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  13) high-speed serial ports or modems.  This driver supports up to a combination
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  14) of four RocketPort or RocketModems boards in one machine simultaneously.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  15) This file assumes that you are using the RocketPort driver which is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  16) integrated into the kernel sources.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  17) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  18) The driver can also be installed as an external module using the usual
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  19) "make;make install" routine.  This external module driver, obtainable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  20) from the Comtrol website listed below, is useful for updating the driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  21) or installing it into kernels which do not have the driver configured
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  22) into them.  Installations instructions for the external module
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  23) are in the included README and HW_INSTALL files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  24) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  25) RocketPort ISA and RocketModem II PCI boards currently are only supported by
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  26) this driver in module form.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  27) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  28) The RocketPort ISA board requires I/O ports to be configured by the DIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  29) switches on the board.  See the section "ISA Rocketport Boards" below for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  30) information on how to set the DIP switches.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  32) You pass the I/O port to the driver using the following module parameters:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  33) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  34) board1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  35) 	I/O port for the first ISA board
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  36) board2:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  37) 	I/O port for the second ISA board
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  38) board3:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  39) 	I/O port for the third ISA board
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  40) board4:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  41) 	I/O port for the fourth ISA board
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  42) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  43) There is a set of utilities and scripts provided with the external driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  44) (downloadable from http://www.comtrol.com) that ease the configuration and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  45) setup of the ISA cards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  46) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  47) The RocketModem II PCI boards require firmware to be loaded into the card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  48) before it will function.  The driver has only been tested as a module for this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  49) board.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  50) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  51) Installation Procedures
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  52) -----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  53) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  54) RocketPort/RocketModem PCI cards require no driver configuration, they are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  55) automatically detected and configured.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  56) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  57) The RocketPort driver can be installed as a module (recommended) or built
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  58) into the kernel. This is selected, as for other drivers, through the `make config`
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  59) command from the root of the Linux source tree during the kernel build process.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  60) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  61) The RocketPort/RocketModem serial ports installed by this driver are assigned
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  62) device major number 46, and will be named /dev/ttyRx, where x is the port number
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  63) starting at zero (ex. /dev/ttyR0, /devttyR1, ...).  If you have multiple cards
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  64) installed in the system, the mapping of port names to serial ports is displayed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  65) in the system log at /var/log/messages.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  66) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  67) If installed as a module, the module must be loaded.  This can be done
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  68) manually by entering "modprobe rocket".  To have the module loaded automatically
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  69) upon system boot, edit a `/etc/modprobe.d/*.conf` file and add the line
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  70) "alias char-major-46 rocket".
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  71) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  72) In order to use the ports, their device names (nodes) must be created with mknod.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  73) This is only required once, the system will retain the names once created.  To
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  74) create the RocketPort/RocketModem device names, use the command
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  75) "mknod /dev/ttyRx c 46 x" where x is the port number starting at zero.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  76) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  77) For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  78) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  79) 	> mknod /dev/ttyR0 c 46 0
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  80) 	> mknod /dev/ttyR1 c 46 1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  81) 	> mknod /dev/ttyR2 c 46 2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  82) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  83) The Linux script MAKEDEV will create the first 16 ttyRx device names (nodes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  84) for you::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  85) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  86) 	>/dev/MAKEDEV ttyR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  87) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  88) ISA Rocketport Boards
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  89) ---------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  90) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  91) You must assign and configure the I/O addresses used by the ISA Rocketport
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  92) card before installing and using it.  This is done by setting a set of DIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  93) switches on the Rocketport board.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  94) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  95) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  96) Setting the I/O address
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  97) -----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  98) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  99) Before installing RocketPort(R) or RocketPort RA boards, you must find
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) a range of I/O addresses for it to use. The first RocketPort card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) requires a 68-byte contiguous block of I/O addresses, starting at one
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) of the following: 0x100h, 0x140h, 0x180h, 0x200h, 0x240h, 0x280h,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) 0x300h, 0x340h, 0x380h.  This I/O address must be reflected in the DIP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) switches of *all* of the Rocketport cards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) The second, third, and fourth RocketPort cards require a 64-byte
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) contiguous block of I/O addresses, starting at one of the following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) I/O addresses: 0x100h, 0x140h, 0x180h, 0x1C0h, 0x200h, 0x240h, 0x280h,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) 0x2C0h, 0x300h, 0x340h, 0x380h, 0x3C0h.  The I/O address used by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) second, third, and fourth Rocketport cards (if present) are set via
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) software control.  The DIP switch settings for the I/O address must be
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) set to the value of the first Rocketport cards.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) In order to distinguish each of the card from the others, each card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) must have a unique board ID set on the dip switches.  The first
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) Rocketport board must be set with the DIP switches corresponding to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) the first board, the second board must be set with the DIP switches
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) corresponding to the second board, etc.  IMPORTANT: The board ID is
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) the only place where the DIP switch settings should differ between the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) various Rocketport boards in a system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) The I/O address range used by any of the RocketPort cards must not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) conflict with any other cards in the system, including other
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) RocketPort cards.  Below, you will find a list of commonly used I/O
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) address ranges which may be in use by other devices in your system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) On a Linux system, "cat /proc/ioports" will also be helpful in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) identifying what I/O addresses are being used by devices on your
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) system.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) Remember, the FIRST RocketPort uses 68 I/O addresses.  So, if you set it
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) for 0x100, it will occupy 0x100 to 0x143.  This would mean that you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) CAN NOT set the second, third or fourth board for address 0x140 since
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) the first 4 bytes of that range are used by the first board.  You would
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) need to set the second, third, or fourth board to one of the next available
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) blocks such as 0x180.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) RocketPort and RocketPort RA SW1 Settings::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)             +-------------------------------+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140)             | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 |
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141)             +-------+-------+---------------+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142)             | Unused| Card  | I/O Port Block|
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143)             +-------------------------------+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145)   DIP Switches                             DIP Switches
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146)   7    8                                   6    5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147)   ===================                      ===================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)   On   On   UNUSED, MUST BE ON.            On   On   First Card    <==== Default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149)                                            On   Off  Second Card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150)                                            Off  On   Third Card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)                                            Off  Off  Fourth Card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153)   DIP Switches         I/O Address Range
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154)   4    3    2    1     Used by the First Card
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155)   =====================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156)   On   Off  On   Off   100-143
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)   On   Off  Off  On    140-183
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158)   On   Off  Off  Off   180-1C3       <==== Default
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)   Off  On   On   Off   200-243
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160)   Off  On   Off  On    240-283
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161)   Off  On   Off  Off   280-2C3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162)   Off  Off  On   Off   300-343
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163)   Off  Off  Off  On    340-383
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164)   Off  Off  Off  Off   380-3C3
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) Reporting Bugs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) --------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) For technical support, please provide the following
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) information: Driver version, kernel release, distribution of
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) kernel, and type of board you are using. Error messages and log
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) printouts port configuration details are especially helpful.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) USA:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)     :Phone: (612) 494-4100
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176)     :FAX: (612) 494-4199
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)     :email: support@comtrol.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) Comtrol Europe:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180)     :Phone: +44 (0) 1 869 323-220
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)     :FAX: +44 (0) 1 869 323-211
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182)     :email: support@comtrol.co.uk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) Web:	http://www.comtrol.com
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) FTP:	ftp.comtrol.com