PER-C40C minipci card under FreeBSD

John Baldwin jhb at freebsd.org
Tue Feb 21 21:59:15 UTC 2012


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


More information about the freebsd-hardware mailing list