Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Feb 2012 16:40:30 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hardware@freebsd.org
Cc:        Milan Obuch <freebsd-hardware@dino.sk>
Subject:   Re: PER-C40C minipci card under FreeBSD
Message-ID:  <201202211640.30854.jhb@freebsd.org>
In-Reply-To: <20120220220237.7474cc1e@atom.dino.sk>
References:  <20120220220237.7474cc1e@atom.dino.sk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, February 20, 2012 4:02:37 pm Milan Obuch 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).
> 
> In verbose boot, there are some related lines a bit sooner while doing
> pci bus scan:
> 
> found-> vendor=0x1415, dev=0x9505, revid=0x01
>         domain=0, bus=0, slot=13, func=0
>         class=07-00-06, hdrtype=0x00, mfdev=1
>         cmdreg=0x0103, statreg=0x0290, cachelnsz=0 (dwords)
>         lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
>         intpin=a, irq=12
>         powerspec 2  supports D0 D2 D3  current D0
>         map[10]: type I/O Port, range 32, base 0x1000, size  3, enabled
>         map[14]: type I/O Port, range 32, base 0x1040, size  3, enabled
>         map[18]: type I/O Port, range 32, base 0x1080, size  3, enabled
>         map[1c]: type I/O Port, range 32, base 0x10c0, size  3, enabled
>         map[20]: type I/O Port, range 32, base 0x1400, size  5, enabled
>         map[24]: type Memory, range 32, base 0x80000000, size 12,
> enabled

Looks like this device works differently (the default is expecting the
4 serial ports to all show up in RID 0x10).  Can you try this:

Index: pucdata.c
===================================================================
--- pucdata.c	(revision 231973)
+++ pucdata.c	(working copy)
@@ -708,11 +708,20 @@ const struct puc_cfg puc_pci_devices[] = {
 	    PUC_PORT_4S, 0x10, 0, 8,
 	},
 
+	/* XXX: Need subdevice/vendor */
 	{   0x1415, 0x9511, 0xffff, 0,
+	    "AAEON PER-C40C",
+	    DEFAULT_RCLK,
+	    PUC_PORT_4S, 0x10, 4, 0,
+	},
+
+#if 0
+	{   0x1415, 0x9511, 0xffff, 0,
 	    "Oxford Semiconductor OX9160/OX16PCI954 UARTs (function 1)",
 	    DEFAULT_RCLK,
 	    PUC_PORT_4S, 0x10, 0, 8,
 	},
+#endif
 
 	{   0x1415, 0x9521, 0xffff, 0,
 	    "Oxford Semiconductor OX16PCI952 UARTs",

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202211640.30854.jhb>