- 17 7月, 2017 2 次提交
-
-
由 Joshua Clayton 提交于
altera-ps-spi loads FPGA firmware over SPI, using the "passive serial" interface on Altera Arria 10, Cyclone V or Stratix V FPGAs. This is one of the simpler ways to set up an FPGA at runtime. The signal interface is close to unidirectional SPI with lsb first. Signed-off-by: NJoshua Clayton <stillcompiling@gmail.com> Signed-off-by: NAnatolij Gustschin <agust@denx.de> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Vincent Legoll 提交于
No need to get into the submenu to disable all FPGA-related config entries Signed-off-by: NVincent Legoll <vincent.legoll@gmail.com> Acked-by: NMoritz Fischer <mdf@kernel.org> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 26 4月, 2017 3 次提交
-
-
由 Matthew Gerlach 提交于
The value in the version register of the altera freeze bridge controller changed from the beta value of 2 to the value of 0xad000003 in the official release of the IP. This patch supports the old and new version numbers, and the driver's probe function will fail if neither of the supported versions is found. Signed-off-by: NMatthew Gerlach <matthew.gerlach@linux.intel.com> Reviewed-by: NMoritz Fischer <mdf@kernel.org> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Tobias Klauser 提交于
If fpga_region_get_manager() fails in fpga_region_program_fpga(), a reference to the fpga_manager instance previously acquired through fpga_region_get() is retained. Make sure to properly release it in the error case by using a separate jump label which will call fpga_region_put() in before returning. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Acked-by: NMoritz Fischer <mdf@kernel.org> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Tobias Klauser 提交于
If either _alt_hps2fpga_enable_set() or fpga_bridge_register() fail in alt_fpga_bridge_probe(), the clock remains enabled and prepared. Also, in the error path for _alt_hps2fpga_enable_set() a call to fpga_bridge_unregister() is made even though the bridge was not registered yet. Remove the unnecessary call to fpga_bridge_unregister() and call clk_disable_unprepare() in both error paths in order to make sure the clock gets properly disabled and unprepared. Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Acked-by: NMoritz Fischer <mdf@kernel.org> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 08 4月, 2017 6 次提交
-
-
由 Moritz Fischer 提交于
This adds support for the Xilinx LogiCORE PR Decoupler soft-ip that does decoupling of PR regions in the FPGA fabric during partial reconfiguration. Signed-off-by: NMoritz Fischer <mdf@kernel.org> Signed-off-by: NMichal Simek <michal.simek@xilinx.com> Cc: Sören Brinkmann <soren.brinkmann@xilinx.com> Cc: linux-kernel@vger.kernel.org Cc: devicetree@vger.kernel.org Acked-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Matthew Gerlach 提交于
This adds a platform bus driver for a fpga-mgr driver that uses the Altera Partial Reconfiguration IP component. Signed-off-by: NMatthew Gerlach <matthew.gerlach@linux.intel.com> Acked-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Matthew Gerlach 提交于
Adding the core functions necessary for a fpga-mgr driver for the Altera Partial IP component. It is intended for these functions to be used by the various bus implementations like the platform bus or the PCIe bus. Signed-off-by: NMatthew Gerlach <matthew.gerlach@linux.intel.com> Acked-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
Adding timeout for maximum allowed time for FPGA to go to operating mode after a FPGA region has been programmed. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Anatolij Gustschin 提交于
The driver loads FPGA firmware over SPI, using the "slave serial" configuration interface on Xilinx FPGAs. Signed-off-by: NAnatolij Gustschin <agust@denx.de> Acked-by: NMichal Simek <michal.simek@xilinx.com> Reviewed-by: NMoritz Fischer <mdf@kernel.org> Acked-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Moritz Fischer 提交于
The ops are not changing, make them const. Signed-off-by: NMoritz Fischer <mdf@kernel.org> Cc: Alan Tull <atull@kernel.org> Cc: linux-kernel@vger.kernel.org Cc: linux-fpga@vger.kernel.org Acked-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 17 3月, 2017 6 次提交
-
-
由 Moritz Fischer 提交于
Replaces open-coded list_for_each() + list_entry() with macro list_for_each_entry() Signed-off-by: NMoritz Fischer <mdf@kernel.org> Cc: linux-fpga@vger.kernel.org Cc: linux-kernel@vger.kernel.org Acked-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Joel Holdsworth 提交于
This patch adds support to the FPGA manager for configuring the SRAM of iCE40LM, iCE40LP, iCE40HX, iCE40 Ultra, iCE40 UltraLite and iCE40 UltraPlus devices, through slave SPI. Signed-off-by: NJoel Holdsworth <joel@airwebreathe.org.uk> Reviewed-by: NMarek Vasut <marex@denx.de> Reviewed-by: NMoritz Fischer <moritz.fischer@ettus.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Florian Fainelli 提交于
Add support for loading bitstreams on the Altera Cyclone II FPGA populated on the TS-7300 board. This is done through the configuration and data registers offered through a memory interface between the EP93xx SoC and the FPGA via an intermediate CPLD device. The EP93xx SoC on the TS-7300 does not have direct means of configuring the on-board FPGA other than by using the special memory mapped interface to the CPLD. No other entity on the system can control the FPGA bitstream. Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Moritz Fischer 提交于
Add fpga-region property to allow passing the fact that the bitstream is encrypted to the fpga-region and ultimately to the low-level driver. Signed-off-by: NMoritz Fischer <mdf@kernel.org> Acked-by: NMichal Simek <michal.simek@xilinx.com> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Moritz Fischer 提交于
Add support for encrypted bitstreams. For this to work the system must be booted in secure mode. In order for on-the-fly decryption to work, the PCAP clock rate needs to be lowered via the PCAP_RATE_EN bit. Signed-off-by: NMoritz Fischer <mdf@kernel.org> Acked-by: NMichal Simek <michal.simek@xilinx.com> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Dinh Nguyen 提交于
Fix up these sparse warnings: drivers/fpga/fpga-mgr.c:189:21: warning: symbol '__fpga_mgr_get' was not declared. Should it be static? drivers/fpga/fpga-bridge.c:30:12: warning: symbol 'bridge_list_lock' was not declared. Should it be static? Signed-off-by: NDinh Nguyen <dinguyen@kernel.org> Acked-by: NMoritz Fischer <mdf@kernel.org> Signed-off-by: NAlan Tull <atull@kernel.org> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 10 2月, 2017 4 次提交
-
-
由 Jason Gunthorpe 提交于
This allows the driver to avoid a high order coherent DMA allocation and memory copy. With this patch it can DMA directly from the kernel pages that the bitfile is stored in. Since this is now a gather DMA operation the driver uses the ISR to feed the chips DMA queue with each entry from the SGL. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Jason Gunthorpe 提交于
Requiring contiguous kernel memory is not a good idea, this is a limited resource and allocation can fail under normal work loads. This introduces a .write_sg op that supporting drivers can provide to DMA directly from dis-contiguous memory and a new entry point fpga_mgr_buf_load_sg that users can call to directly provide page lists. The full matrix of compatibility is provided, either the linear or sg interface can be used by the user with a driver supporting either interface. A notable change for drivers is that the .write op can now be called multiple times. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Jason Gunthorpe 提交于
There is no sense in sending a bitstream we know will not work, and with the variety of options for bitstream generation in Xilinx tools it is not terribly clear what the correct input should be. This is particularly important for Zynq since auto-correction was removed from the driver and the Zynq hardware only accepts a bitstream format that is different from what the Xilinx tools typically produce. Worse, the hardware provides no indication why the bitstream fails, it simply times out if the input is wrong. The best option here is to have the kernel print a message informing the user they are using a malformed bistream and programming failure isn't for any of the myriad of other reasons. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Jason Gunthorpe 提交于
The completion did not check the interrupt status to see if any error bits were asserted, check error bits and dump some registers if things went wrong. A few fixes are needed to make this work, the IXR_ERROR_FLAGS_MASK was wrong, it included the done bits, which shows a bug in mask/unmask_irqs which were using the wrong bits, simplify all of this stuff. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Reviewed-by: NMoritz Fischer <moritz.fischer@ettus.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 30 11月, 2016 5 次提交
-
-
由 Jason Gunthorpe 提交于
This interface was designed for streaming, but write_init's buf argument has an unclear purpose. Define it to be the first bytes of the bitstream. Each driver gets to set how many bytes (at most) it wants to see. Short bitstreams will be passed through as-is, while long ones will be truncated. The intent is to allow drivers to peek at the header before the transfer actually starts. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: NAlan Tull <atull@opensource.altera.com>
-
由 Jason Gunthorpe 提交于
It is best practice to clear and mask all interrupts before associating the IRQ, and this should be done after the clock is enabled. This corrects a bad result from zynq_fpga_ops_state on bootup where left over latched values in INT_STS_OFFSET caused it to report an unconfigured FPGA as configured. After this change the boot up operating state for an unconfigured FPGA reports 'unknown'. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com>
-
由 Jason Gunthorpe 提交于
socfpga uses mgr->dev for debug prints, there should be consistency here, so standardize on that. The only other use was for dma which can be replaced with mgr->dev.parent. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com>
-
由 Jason Gunthorpe 提交于
Function dev_err doesn't add a newline at the end of the string. This will lead to a hard to read kernel log. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Reviewed-by: NMoritz Fischer <moritz.fischer@ettus.com> Reviewed-by: NMatthias Brugger <mbrugger@suse.com> Acked-by: NAlan Tull <atull@opensource.altera.com>
-
由 Jason Gunthorpe 提交于
Like Zynq the Altera drivers compile fine on x86 and others too, so make it easier to compile test this stuff. A10 requires REGMAP_MMIO to compile, so be explicit rather than relying on it via ARCH_SOCFPGA. Signed-off-by: NJason Gunthorpe <jgunthorpe@obsidianresearch.com> Acked-by: NAlan Tull <atull@opensource.altera.com>
-
- 17 11月, 2016 1 次提交
-
-
由 Dan Carpenter 提交于
This is a cut and paste bug. We had intended to check "sysmgr". Fixes: e5f8efa5 ("ARM: socfpga: fpga bridge driver support") Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 11 11月, 2016 7 次提交
-
-
由 Alan Tull 提交于
Add low level driver to support reprogramming FPGAs for Altera SoCFPGA Arria10. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Reviewed-by: NMoritz Fischer <moritz.fischer@ettus.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
Add a low level driver for Altera Freeze Bridges to the FPGA Bridge framework. A freeze bridge is a bridge that exists in the FPGA fabric to isolate one region of the FPGA from the busses while that one region is being reprogrammed. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NMatthew Gerlach <mgerlach@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
Supports Altera SOCFPGA bridges: * fpga2sdram * fpga2hps * hps2fpga * lwhps2fpga Allows enabling/disabling the bridges through the FPGA Bridge Framework API functions. The fpga2sdram driver only supports enabling and disabling of the ports that been configured early on. This is due to a hardware limitation where the read, write, and command ports on the fpga2sdram bridge can only be reconfigured while there are no transactions to the sdram, i.e. when running out of OCRAM before the kernel boots. Device tree property 'init-val' configures the driver to enable or disable the bridge during probe. If the property does not exist, the driver will leave the bridge in its current state. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NMatthew Gerlach <mgerlach@altera.com> Signed-off-by: NDinh Nguyen <dinguyen@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
FPGA Regions support programming FPGA under control of the Device Tree. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
This framework adds API functions for enabling/ disabling FPGA bridges under kernel control. This allows the Linux kernel to disable FPGA bridges during FPGA reprogramming and to enable FPGA bridges when FPGA reprogramming is done. This framework is be manufacturer-agnostic, allowing it to be used in interfaces that use the FPGA Manager Framework to reprogram FPGA's. The functions are: * of_fpga_bridge_get * fpga_bridge_put Get/put an exclusive reference to a FPGA bridge. * fpga_bridge_enable * fpga_bridge_disable Enable/Disable traffic through a bridge. * fpga_bridge_register * fpga_bridge_unregister Register/unregister a device-specific low level FPGA Bridge driver. Get an exclusive reference to a bridge and add it to a list: * fpga_bridge_get_to_list To enable/disable/put a set of bridges that are on a list: * fpga_bridges_enable * fpga_bridges_disable * fpga_bridges_put Signed-off-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
This patch adds a minor change in the FPGA Manager API to hold information that is specific to an FPGA image file. This change is expected to bring little, if any, pain. The socfpga and zynq drivers are fixed up in this patch. An FPGA image file will have particulars that affect how the image is programmed to the FPGA. One example is that current 'flags' currently has one bit which shows whether the FPGA image was built for full reconfiguration or partial reconfiguration. Another example is timeout values for enabling or disabling the bridges in the FPGA. As the complexity of the FPGA design increases, the bridges in the FPGA may take longer times to enable or disable. This patch adds a new 'struct fpga_image_info', moves the current 'u32 flags' to it. Two other image-specific u32's are added for the bridge enable/disable timeouts. The FPGA Manager API functions are changed, replacing the 'u32 flag' parameter with a pointer to struct fpga_image_info. Subsequent patches fix the existing low level FPGA manager drivers. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
The intent is to provide a non-DT method of getting ahold of a FPGA manager to do some FPGA programming. This patch refactors of_fpga_mgr_get() to reuse most of it while adding a new method fpga_mgr_get() for getting a pointer to a fpga manager struct, given the device. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 08 9月, 2016 1 次提交
-
-
由 Jean Delvare 提交于
The Zynq FPGA manager driver serves no purpose on other architectures so hide it unless build-testing. Signed-off-by: NJean Delvare <jdelvare@suse.de> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Acked-by: NMichal Simek <michal.simek@xilinx.com> Cc: "Sören Brinkmann" <soren.brinkmann@xilinx.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 04 8月, 2016 1 次提交
-
-
由 Sudip Mukherjee 提交于
While building m32r allmodconfig the build is failing with the error: ERROR: "bad_dma_ops" [drivers/fpga/zynq-fpga.ko] undefined! Xilinx Zynq FPGA is using DMA but there was no dependency while building. Link: http://lkml.kernel.org/r/1464346526-13913-1-git-send-email-sudipm.mukherjee@gmail.comSigned-off-by: NSudip Mukherjee <sudip.mukherjee@codethink.co.uk> Acked-by: NMoritz Fischer <moritz.fischer@ettus.com> Cc: Alan Tull <atull@opensource.altera.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 25 11月, 2015 2 次提交
-
-
由 Tobias Klauser 提交于
If fpga_mgr_buf_load() fails, the firmware resource previously allocated by request_firmware() is leaked. Fix it by calling release_firmware() regardless of the return value of fpga_mgr_buf_load(). Found by the Coverity scanner (CID 1339653). Fixes: 6a8c3be7 ("add FPGA manager core") Signed-off-by: NTobias Klauser <tklauser@distanz.ch> Acked-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
由 Alan Tull 提交于
Remove implementation of 'label' DT binding. Signed-off-by: NAlan Tull <atull@opensource.altera.com> Reviewed-by: NMoritz Fischer <moritz.fischer@ettus.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 30 10月, 2015 1 次提交
-
-
由 Moritz Fischer 提交于
The return value should be checked for non-zero, instead of checking it being IS_ERR_VALUE(). Acked-by: NAlan Tull <atull@opensource.altera.com> Reviewed-by: NJosh Cartwright <joshc@eso.teric.us> Signed-off-by: NMoritz Fischer <moritz.fischer@ettus.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 24 10月, 2015 1 次提交
-
-
由 Moritz Fischer 提交于
Upon registering a FPGA Manager low level driver, FPGA Manager core overwrites the platform drvdata pointer. Prior to this commit zynq-fpga falsely relied on this pointer to still be valid at remove() time. Reported-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NMoritz Fischer <moritz.fischer@ettus.com> Acked-by: NAlan Tull <atull@opensource.altera.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-