kern/149266: rpi(4) - Comtrol Infinity/Express card driver

Artemiev Igor ai at
Wed Aug 4 11:10:06 UTC 2010

>Number:         149266
>Category:       kern
>Synopsis:       rpi(4) - Comtrol Infinity/Express card driver
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Aug 04 11:10:05 UTC 2010
>Originator:     Artemiev Igor
>Release:        FreeBSD 8.0-STABLE i386
System: FreeBSD 8.0-STABLE FreeBSD 8.0-STABLE #5: Thu Jul 1 10:26:14 MSD 2010 root at i386

This driver supports the RocketPort Infinity series of multiport serial cards,
which are 3.3V PCI and PCI-X, PCI-E (RocketPort Express) compatible.

Comtrol already have freebsd driver for those cards with abandoned support, it
is only for freebsd5.x/6.x and old tty layout:

I have changed it for new tty layer and tested with freebsd 8-stable. New
driver is not only simple conversion from native comtrol version, but taking
some functionality from comtrol linux driver, which more mature. Driver looks
stable for me, i`m using it for our console server with several Comtrol
Express cards: 


dmesg output:
rpi0: <RocketPort Express 8, Octa, DB, Selectable> mem 0xfabff000-0xfabfffff,0xfabf8000-0xfabfbfff irq 16 at device 0.0 on pci2
rpi1: <RocketPort Express 8, Octa, DB, Selectable> mem 0xfacff000-0xfacfffff,0xfacf8000-0xfacfbfff irq 16 at device 0.0 on pci4
rpi2: <RocketPort Express 8, Octa, DB, Selectable> mem 0xfadff000-0xfadfffff,0xfadf8000-0xfadfbfff irq 16 at device 0.0 on pci6

The Rocketport Infinity/Express devices include the ability to
be configured for any of five interface modes:
    - RS232
    - RS422
    - RS485 2 wire (RS485)
    - RS485 4 wire slave (RS486)
    - RS485 4 wire master (RS487)

The default mode is RS232. The exception to this is the SMPTE models,
which are RS422 only. It can be setup via sysctl or loader tunables: 

dev.rpi.<unit>.port.<port number>.mode
hw.rpi.<unit>.port.<port number>.mode (loader tunables)

dev.rpi.<unit>.port.<port number>.rts_toggle  - inverting RTS signal. (only sysctl)

For callin ports it create /dev/ttyRPIxy, for callout - /dev/cuaRPIxy, where x
is the card unit, y is the port number




More information about the freebsd-bugs mailing list