Andy Creque

Using the 547X as a PCI device - not controller

Discussion created by Andy Creque on Feb 1, 2007
Latest reply on Jun 19, 2007 by David Wyban
I have a functional 5474 design, running an RTOS, that communicates with a host computer using LAN, USB, or Serial.  I have been asked convert this board into a conventional 32-bit, 33Mhz, PCI plug-in card.  Because I knew I might be asked to do this, I used a multiplexed add/data bus and kept the PCI pins open.  The card will NOT be the host or system controller.  Initially, it will reside in a Windows box followed by support for Linux. 
 
I am looking for guidance, warnings, drivers/code... basically help of any kind connecting the 5474 to the PCI bus and communicating with the system host. 
 
I envision a simple protocol for communicating with the system controller.  For example, the controller sends data (a few kbytes max, normally < 128 bytes) across the PCI bus which gets stuffed into the cards memory/fifo/? and then interrupts the Coldfire somehow to process the data.  The Coldfire reads the data, does something, and replies by sending some data (normally < 128 bytes, could be 1Mbyte) across the PCI bus using a similar "write and interrupt" mechanism.
 
Any help would be greatly appreciated.  My PCI knowledge is pretty basic.  I know the host discovers the PCI devices, devices requests memory/io space, the host tells the device where to go (in memory that is :smileyhappy:), and then the device is considered "configured".  I have used the AMCC 5933 PCI MatchMaker in a previous 68k design so I familiar with the fifo/doorbell mechanism for a PCI device to communicate with a PCI host/master.

Outcomes