Since 2006, a new family of PCI-Express bridge chips has been available in the form of the CX23885/7/8. From a programming standpoint, these chips seem to be similar to the CX23880/1/2/3 in that they use a similar SRAM architecture with driver-configurable FIFOs, and they use a nearly identical DMA program format. This leads me to believe that it may be possible to add CX23885 support to the existing cx88 core logic (i.e. the cx88 and cx88i2c kernel modules) with only minor reorganization and addition of code. Register space differences will more than likely require separate drivers for specific functions, but I am not certain of this yet.
So far the CX23885 has not been widely used--mostly in a few high-end Hauppauge cards. However, it does offer several advantages over the CX23880/1/2/3:
- Support for dual frontends and thus dual simultaneous digital/digital, analog/analog, or analog/digital captures.
- Native PCI-Express support, as PCI slots will eventually go extinct
- Ability to directly address physical memory above the 4GB boundary
Right now, the two biggest things keeping me from working on this support are 1) I don't have a machine with PCIe slots, and 2) I don't have the datasheet. 1) will be resolved when I build a new machine sometime in 2009, but 2) seems to be harder. If anyone knows where I can find the full datasheet for the CX23885, please let me know.