From owner-freebsd-hackers@FreeBSD.ORG Tue Mar 3 14:32:19 2009 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 31C531065673; Tue, 3 Mar 2009 14:32:19 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id 030518FC0C; Tue, 3 Mar 2009 14:32:19 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (pool-98-109-39-197.nwrknj.fios.verizon.net [98.109.39.197]) by cyrus.watson.org (Postfix) with ESMTPSA id 85E6D46B32; Tue, 3 Mar 2009 09:32:18 -0500 (EST) Received: from localhost (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.14.3/8.14.3) with ESMTP id n23EW1On086187; Tue, 3 Mar 2009 09:32:12 -0500 (EST) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-hackers@freebsd.org Date: Tue, 3 Mar 2009 09:15:42 -0500 User-Agent: KMail/1.9.7 References: In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200903030915.43037.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 03 Mar 2009 09:32:12 -0500 (EST) X-Virus-Scanned: ClamAV 0.94.2/9065/Tue Mar 3 05:43:41 2009 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: marcel@freebsd.org, Navdeep Parhar Subject: Re: puc support for a generic card (patch attached) X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Mar 2009 14:32:19 -0000 On Monday 02 March 2009 4:05:02 pm Navdeep Parhar wrote: > This may interest puc and uart maintainers. > > I needed an extra serial port on my FreeBSD machine and bought a > store-branded "1-Port Serial PCI Adapter" from a local computer > store. > > This is what pciconf shows: > puc0@pci0:4:1:0: class=0x070002 card=0x00011000 chip=0x98359710 > rev=0x01 hdr=0x00 > > And here's what puc identified it as: > puc0: port > 0xec00-0xec07,0xe480-0xe487,0xe400-0xe407,0xe080-0xe087,0xe000-0xe007,0xdc00-0xdc0f > irq 16 at device 1.0 on pci4 > > Visual inspection shows the card has missing circuitry and headers > for the extra serial and parallel port that the chip supports. puc > gave me 2 serial port and 1 parallel port devices for the card, and > none of them would work (not even the first serial port device). > > I had to tweak pucdata.c to get the card working. Patch against > HEAD is attached, and also pasted at the end of this email (in case > this list drops attachements). > > Regards, > Navdeep > > diff -r 025cb00d19d7 sys/dev/puc/puc.c > --- a/sys/dev/puc/puc.c Sat Feb 28 12:42:37 2009 -0800 > +++ b/sys/dev/puc/puc.c Mon Mar 02 12:21:07 2009 -0800 > @@ -440,9 +440,6 @@ > sc->sc_dev = dev; > sc->sc_cfg = cfg; > > - /* We don't attach to single-port serial cards. */ > - if (cfg->ports == PUC_PORT_1S || cfg->ports == PUC_PORT_1P) > - return (EDOOFUS); FWIW, the traditional reason for this is that we made the sio/uart or ppc drivers claim single port devices directly and only use puc for multiple-port cards. I'm not sure if that should still be the case or not. Marcel, do you have an opinion? > error = puc_config(sc, PUC_CFG_GET_NPORTS, 0, &res); > if (error) > return (error); > diff -r 025cb00d19d7 sys/dev/puc/pucdata.c > --- a/sys/dev/puc/pucdata.c Sat Feb 28 12:42:37 2009 -0800 > +++ b/sys/dev/puc/pucdata.c Mon Mar 02 12:21:07 2009 -0800 > @@ -761,6 +761,12 @@ > PUC_PORT_2P, 0x10, 8, 0, > }, > > + { 0x9710, 0x9835, 0x1000, 1, > + "NetMos NM9835 based 1-port serial", > + DEFAULT_RCLK, > + PUC_PORT_1S, 0x10, 4, 0, > + }, > + > { 0x9710, 0x9835, 0xffff, 0, > "NetMos NM9835 Dual UART and 1284 Printer port", > DEFAULT_RCLK, > -- John Baldwin