Re: FPGA PCI(e) bridge

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Matthew Wilcox wrote:
> On Tue, Jun 16, 2009 at 08:48:38AM +0200, Thierry Reding wrote:
> > I have the following setup: a processor board with an FPGA that implements
> > additional functionality such as UART, network interface, etc. This FPGA
> > should be connected to the processor via a PCIe interface. That means the
> > FPGA instantiates a PCIe core for communication with the processor.
> > 
> > I'm now facing the following problem: for better code quality I'd like to
> > implement the different components in the FPGA as separate logical PCI
> > devices, and support this functionality with a single Linux PCI driver
> > for that specific device. On the other hand the FPGA PCIe core is unable to
> > run in PCI bridge mode. My understanding was that in order to support
> > multiple devices through a single PCI host the only solution would be to have
> > the host run in bridge mode so that it can probe the subsequent devices.
> 
> Can the core be configured to support multiple functions?  Both PCI
> and PCIe allow a single device to support up to 8 functions.  Here's an
> example from my laptop:
> 
> 1c:03.0 CardBus bridge: O2 Micro, Inc. OZ711SP1 Memory CardBus Controller (rev 01)
> 1c:03.2 SD Host controller: O2 Micro, Inc. Integrated MMC/SD Controller (rev 02)
> 1c:03.4 FireWire (IEEE 1394): O2 Micro, Inc. Firewire (IEEE 1394) (rev 02)
> 
> (PCIe has extensions to allow a device to support more than eight
> functions, but that comes with limitations you probably don't want).

I'll need to investigate whether this is possible. Thanks.
Thierry
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux