I am planning to develop a driver for a PCI-UART board such as MaxLinear’s XR17V358 evaluation board. In this board there are two XR17V358 chips. Only the master PCI chip is connected to the motherboard of the computer. I was wondering how does Windows sees this slave chip? I am guessing there will be multiple memory resources mapped to the memory space. I dont have the board yet, that’s why I am asking here. If anyone know how that works I would appreciate the help.
You can view the screenshot from the XR17V358’s datasheet here.
The master device communicates with the slave device via MaxLinear’s proprietary
expansion interface, illustrated in Figure 5. The PCIe interface on the slave device is not used and should be unconnected.
As far as I can tell the ‘proprietary expansion interface’ exposes the ‘slave’ uarts. Presumably it does this through MaxLinear’s software for windows and linux, although it might just work for windows with no driver at all. I don’t think they are offering source code.
Alright, I think XR17V358 handles slave communication itself without any driver. It just expands the memory space and Windows sees it as a single PCI device. UART configurations for the slave chip is between the addresses 0x2000 - 0x3FFF.