Date: Sat, 24 Mar 2007 11:35:29 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Mike Tancsa <mike@sentex.net> Cc: freebsd-questions@freebsd.org Subject: Re: fixing a PUC / uart speed issue Message-ID: <17B8B4E4-CF41-4BFD-B228-4AEAA179A2FB@mac.com> In-Reply-To: <200703241241.l2OCfk8q089451@lava.sentex.ca> References: <200703240449.l2O4n159087350@lava.sentex.ca> <7FF1D403-84EB-4FD3-A183-46BBC484F9D3@mac.com> <200703241241.l2OCfk8q089451@lava.sentex.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mar 24, 2007, at 5:41 AM, Mike Tancsa wrote: > At 02:10 AM 3/24/2007, Marcel Moolenaar wrote: > >> Try changing the frequency from COM_FREQ to (4 * COM_FREQ). The >> .... >> HTH, > > Thanks, it fixed it! BTW, would this be for all such cards with > this PCI ID ? If so, should I file a PR ? If not, apart from > keeping a private set of patches, whats the best way to work around > this with each cvsup / buildworld ? Well, the clock frequency used to feed the UART is really a property of the add-in card, not of the chipset (Oxford in this case). While many PCI cards have the vendor ID and device ID of the Oxford chipset (and its manufacturer), it doesn't really help us to identify the particular add-in card. IIRC, the sub-vendor and sub-device IDs are all zeroes in your case. I doubt that we can use that to match the actual add-in card and therefore use a 4x clock. Other cards exist that are based on the Oxford chipset that use different clocks and if they too have a sub-device or sub-vendor ID of all zeroes, then there's still a conflict. Maybe it's worthwhile to detect the clock frequency by programming the UART for a fixed baudrate and then checking (using loopback) how fast characters are being transmitted. Based on that it should be possible to determine the right frequency. Alternatively, we could also just use hints. In any case: changing the entry in puc(4) will likely break some other card, so that not a good idea. FYI, -- Marcel Moolenaar xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17B8B4E4-CF41-4BFD-B228-4AEAA179A2FB>