Artemiev Igor
2010-Apr-30 12:23 UTC
rpi(4) - Comtrol Infinity/Express card driver, please review
Hi 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: ftp://ftp.comtrol.com/rport_infinity/drivers/freebsd/6.x/rpinfinity_freebsd6_1.01.tar.z 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: http:// gate.kliksys.ru/~ai/rpinfinity-20100430.tar.bz2 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 or 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