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,
