Support high speed serial boards (For FreeBSD 3.1-RELEASE)
			by Junichi Satoh <junichi@astec.co.jp> Apr. 24, 1999


<< Introduction >>

  This archieve contains a patch for sio driver of FreeBSD 3.1R.

  It allows over 115200bps using high speed serial boards. After appling it,
  the sio driver allows over 115200bps.


<< About the patch >>

  The patch supports following boards.

      Vendor                board's name  Allowable baud rate, over 115Kbps
     -----------------------------------------------------------------------
      I-O DATA              RSA-DV /S     153600, 184320, 230400, 307200,
                                          460800, 921600bps

      I-O DATA              RSA-DV II/S   153600, 184320, 230400, 307200,
                                          460800, 921600bps

      ZyXEL                 SP111AT       230400, 460800, 921600bps

      Planex communications FS-460        230400, 460800bps

      AMI                   S-650         230400, 460800bps


<< Appling the patch >>

  Apply the patch to the source tree of FreeBSD 3.1-RELEASE.
  Execute patch command on /usr/src/sys directory like this:

    cd /usr/src/sys/i386
    patch -p < sio310-990424.patch


<< Kernel configuration >>

  How to configure the kernel configuration file is the same with general
  serial ports except that some definitions, options and flags.

   * RSA-DV II/S (I-O DATA)
     Need no special flags.

     Example:
	. PnP mode
	  controller	  pnp0
	  options         COM_HIGHSPEED
	. no-PnP mode
	  device          sio4    at isa? port 0x2c0 tty irq 15 vector siointr
	  options         COM_HIGHSPEED

   * SP111AT (ZyXEL)
     Need 'flags 0x100000'.

     Example:
     device          sio2    at isa? port "IO_COM3" tty flags 0x100000 irq 9 vector siointr
     options         COM_HIGHSPEED

   * FS-460 (Planex communications)
        o Need 'flags 0x240000', when the clock set I/O addresses are set
          to 2c0 and 2c8.
        o Need 'flags 0x440000', when the clock set I/O addresses are set
          to 2d0 and 2d8.

     Example:
     device          sio2    at isa? port "IO_COM3" tty flags 0x200000 irq 9 vector siointr
     options         COM_HIGHSPEED

   * S-650 (AMI)
     Need 'flags 0x40000'.

     Example:
     device          sio2    at isa? port "IO_COM3" tty flags 0x40000 irq 9 vector siointr
     options         COM_HIGHSPEED


<< After reboot >>

  High speed serial boards will be probed as follows:

   * RSA-DV II/S (I-O DATA)

     . PnP mode
       CSN 1 Vendor ID: IOD0061 [0x6100e425] Serial 0xffffffff
       sio4: type I-O DATA  RSA-DV II/S
       sio4 (siopnp <IOD0061> sn 0xffffffff) at 0x210 irq 9 drq -1 flags 0x0 id 10
     . no-PnP mode
       sio4 at 0x2c0-0x2cf irq 15 on isa
       sio4: type I-O DATA  RSA-DV II/S

   * SP111AT (ZyXEL)

     sio2 at 0x3e8-0x3ef irq 9 on isa
     sio2: type 16550A (ZyXEL SP111AT)

   * FS-460 (Planex communications)

     sio1 at 0x2f8-0x2ff irq 3 on isa
     sio1: type ST16650A
     sio2 at 0x3e8-0x3ef irq 9 on isa
     sio2: type ST16650A

   * S-650 (AMI)

     sio1 at 0x2f8-0x2ff irq 3 on isa
     sio1: type ST16650A


<< ChangeLog >>

Dec. 7, 1997  Fix 'RSA-DV II/S' is not probed.
May 1, 1998   Change base sio driver source included in 2.2.6-RELEASE.
May 1, 1998   Support ZyXEL mode on 'SP111AT'. (Thanks to Yoshiji Emoto.)
May 1, 1998   Support PnP mode on 'RSA-DV II/S'.
Sep. 6, 1998   Change base sio driver source included in 2.2.7-RELEASE.
Apr. 24, 1999   Change base sio driver source included in 3.1-RELEASE.
Apr. 24, 1999   Support 'RSA-DV/S'. (Thanks to Katsuya Higuchi.)
