Loading FPGA Firmware with CvP

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

 



I'm working on mainlining a driver for some PCIe devices that use an Altera FPGA and Configuration via Protocol (CvP) to load the necessary firmware when the driver loads. An RFC patch of this implementation can be seen here: https://lore.kernel.org/netdev/20241028223509.935-1-robert_joslyn@xxxxxxxxxx/T/#t

This is implemented as an MFD driver called selpvmf that loads for the PCIe device, which then creates MFD cells for the different functional components within the FPGA. The MFD driver has a CvP implementation to load firmware to the FPGA. It was suggested by the MFD maintainer that this CvP implementation probably belongs elsewhere. This CvP functionality also exists within drivers/fpga/altera-cvp.c, but it's not exposed in a way that I can use from a separate driver.

If I understand correctly, the FPGA manager system is designed to create an abstract interface for loading FPGA firmware from userspace. The altera-cvp driver in particular will bind to any device with an Altera vendor ID and let userspace load firmware via CvP. In the selpvmf case, we have our own vendor ID and we're not trying to let userspace load arbitrary firmware. We're really only trying to facilitate our driver loading the necessary firmware for the device to work. Would it be acceptable for me to create a library driver for CvP that is used by both? Or is there some other preferred option?

Thanks,
Robert




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux