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>
