Date: Tue, 21 Feb 2012 23:15:35 +0100 From: Milan Obuch <freebsd-hardware@dino.sk> To: freebsd-hardware@freebsd.org Subject: Re: PER-C40C minipci card under FreeBSD Message-ID: <20120221231535.641419b1@atom.dino.sk> In-Reply-To: <20120221124333.0e8a9763@atom.dino.sk> References: <20120220220237.7474cc1e@atom.dino.sk> <20120221124333.0e8a9763@atom.dino.sk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, 21 Feb 2012 12:43:33 +0100 Milan Obuch <freebsd-hardware@dino.sk> wrote: > On Mon, 20 Feb 2012 22:02:37 +0100 > Milan Obuch <freebsd-hardware@dino.sk> wrote: > > > Hi, > > > > is somebody using $subject? I need to get this card working in order > > to get more serial ports in ALIX boards. Unfortunately, all I am > > getting is hangup - last lines on console are > > > > pci0: <simple comms, UART> at device 13.0 (no driver attached) > > puc0: <Oxford Semiconductor OX9160/OX16PCI954 UARTs (function 1)> > > port 0x1440-0x145f,0x1480-0x149f mem > > 0x80040000-0x80040fff,0x80080000-0x80080fff irq 12 at device 13.1 on > > pci0 > > puc0: Reserved 0x20 bytes for rid 0x10 type 4 at 0x1440 > > puc0: [FILTER] > > > > and nothing more happens (second line is wrapped here, very long for > > mail). > > After consulting datasheet, I found this part of pucdata.c looks erroneously to me: { 0x1415, 0x9511, 0xffff, 0, "Oxford Semiconductor OX9160/OX16PCI954 UARTs (function 1)", DEFAULT_RCLK, PUC_PORT_4S, 0x10, 0, 8, }, Function 1 is actually local bus/parallel port, and this could really be the reason for hang I observed. Comparing what I found in datasheet with other entries I found replacing above entry with { 0x1415, 0x9505, 0xffff, 0, "Oxford Semiconductor OXuPCI952 UARTs (function 0)", DEFAULT_RCLK, PUC_PORT_2S, 0x10, 4, 0, }, makes me happier, I see some well looking lines in console log: puc0: <Oxford Semiconductor OXuPCI952 UARTs (function 0)> port 0x1400-0x1407,0x1440-0x1447,0x1480-0x1487,0x14c0-0x14c7,0x1800-0x181f mem 0xe0040000-0xe0040fff irq 9 at device 12.00 uart1: <16550 or compatible> at port 1 on puc0 uart1: fast interrupt uart2: <16550 or compatible> at port 2 on puc0 uart2: fast interrupt Just one thing remains to resolve - it looks like baud rates are incorrect. Connecting two port with null modem cable and running cu -l /dev/cuau1 -s 9600 cu -l /dev/cuau2 -s 9600 makes functioning connection, as in 'what I type in one session appears at the second and vice versa', but when I connect one of my 'new' ports with other serial port, all I see is just some garbage. How could I find where I should put 'the last change' to make baud rates correct? Regards, Milan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120221231535.641419b1>