Hello
I have an old PCI GPS card with an Oxford Semiconductor UART chip on It.
This chip should be recognized by the "puc" driver. But the device
number is not in the list of recognized chips.
from pciconfig:
none0@pci0:9:1:0: class=0x070006 rev=0x00 hdr=0x00 vendor=0x1415
device=0x950c subvendor=0x0000 subdevice=0x0000
vendor = 'Oxford Semiconductor Ltd'
class = simple comms
subclass = UART
none1@pci0:9:1:1: class=0x068000 rev=0x00 hdr=0x00 vendor=0x1415
device=0x9510 subvendor=0x0000 subdevice=0x0000
vendor = 'Oxford Semiconductor Ltd'
device = 'OX16PCI954 (Quad 16950 UART) function 1 (Disabled)'
class = bridge
I remember a few years ago having patched /usr/src/sys/dev/puc/pucdata.c
and recompiled the kernel to make it works.
It was in freebsd 7 ; now, with freebsd 13, I'm sure there must be a
more modern way to make this card match the driver .
Perhaps "hint" (but devices.hints is mostly for old "isa" things), or
recompiling only this kernel driver (but "puc" is already embeded in the
kernel: it's seem not possible to unload it to reload a new one). I try
to avoid recompiling a patched kernel since it's likely to be changed at
next freebsd-update.....
Any advice would be appreciated ;-)
Thanks.