I'm trying to add an Oxford Semiconductor 4-port serial card
to puc(4).  Using the datasheet, I've gotten to the point where
all four serial ports are probed and attached.  However, I don't
seem to be able to communicate through the ports.  And, there
doesn't seem to be any real documentation on puc(4).  I'm trying
to figure out what the various flags mean.  A URL for the datasheet
is:

https://www.semiconductorstore.com/pdf/newsite/oxford/OXPCIe954_ds.pdf

Here are the patches that I used to get it started:

Index: pcidevs
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1333
diff -u -r1.1333 pcidevs
--- pcidevs     3 May 2018 04:21:10 -0000       1.1333
+++ pcidevs     7 May 2018 07:58:28 -0000
@@ -6280,6 +6280,7 @@
 product OXFORDSEMI OXPCIE952_4 0xc141  OXPCIe952
 product OXFORDSEMI OXPCIE952_5 0xc144  OXPCIe952
 product OXFORDSEMI OXPCIE952_6 0xc145  OXPCIe952
+product OXFORDSEMI OXPCIE952_7 0xc208  OXPCIe952
 
 /* Packet Engines products */
 product PACKETENGINES GNICII   0x0911  G-NIC II Ethernet

Index: pucdata.c
===================================================================
RCS file: /cvsroot/src/sys/dev/pci/pucdata.c,v
retrieving revision 1.101
diff -u -r1.101 pucdata.c
--- pucdata.c   13 Apr 2018 07:57:04 -0000      1.101
+++ pucdata.c   7 May 2018 07:58:53 -0000
@@ -1108,6 +1108,19 @@
            },
        },
 
+       /* Oxford Semiconductor OXPCIe952 PCIe UARTs */
+       {   "Oxford Semiconductor OXPCIe952 UART",
+           {   PCI_VENDOR_OXFORDSEMI, PCI_PRODUCT_OXFORDSEMI_OXPCIE952_7,
+               0, 0 },
+           {   0xffff, 0xffff, 0,      0       },
+           {
+               { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1000, COM_FREQ },
+               { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1200, COM_FREQ },
+               { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1400, COM_FREQ },
+               { PUC_PORT_TYPE_COM, PCI_BAR0, 0x1600, COM_FREQ },
+           },
+       },
+
        /* Oxford Semiconductor OXmPCI952 PCI UARTs */
        {   "Oxford Semiconductor OXmPCI952 UARTs",
            {   PCI_VENDOR_OXFORDSEMI,  PCI_PRODUCT_OXFORDSEMI_EXSYS_EX41092,

Reply via email to