aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/xilinx
Commit message (Collapse)AuthorAgeFilesLines
* axidma(4): switch interrupt type.Ruslan Bukin2025-12-161-1/+1
| | | | | | | Switch interrupt type to NET so that it enters net epoch during interrupt service routine. Sponsored by: CHERI Research Centre
* xae(4): remove unused function.Ruslan Bukin2025-12-121-6/+0
| | | | Sponsored by: CHERI Research Centre
* xae(4), axidma(4): rewrite DMA operation.Ruslan Bukin2025-11-265-895/+745
| | | | | | | | | | | | Due to performance constraints on a synthesized CHERI RISC-V core, remove usage of xdma(4) scatter-gather framework. Instead, provide a minimalistic interface between two drivers. This increases performance ~4-5 times. Tested using scp(1) and nc(1) on Codasip Prime. Sponsored by: CHERI Research Centre Differential Revision: https://reviews.freebsd.org/D53932
* xilinx pci: Codasip Prime board supportRuslan Bukin2025-10-271-13/+19
| | | | | | | | | | - Add a compatible string; - Fix build. Tested on Codasip X730 64-bit RISC-V CHERI Application CPU using onboard nvme(4) device. Differential Revision: https://reviews.freebsd.org/D53295
* axidma(4): add local data cache flushes.Ruslan Bukin2025-04-221-1/+8
| | | | | | | | | As axidma(4) does not support busdma(9) then add local cache flushes, and map descriptors using default memory attribute (cacheable type). This fixes operation on Codasip X730. Sponsored by: UKRI
* xilinx axi ethernet: allocate memory for buffers.Ruslan Bukin2025-03-261-4/+18
| | | | | | | | | | | | | The xae(9) driver expects that the "memory-region" property is always provided in its DTS node, but this is not a case for every platform. If the property is not provided, then no restriction on buffer location is in place and busdma backend could be used. Since the Xilinx AXI DMA engine driver does not support busdma(9), then allocate some memory for buffers manually, so we don't panic. This fixes operation on Codasip A730.
* xilinx quad spi: various fixes.Ruslan Bukin2025-03-261-6/+25
| | | | | | | | | | - add compat table and a string for an older IP - name driver properly - depend on ofw_spibus - add missing ofw_bus_get_node() method - connect to GENERIC (similar to other Xilinx IP) Tested on Codasip A730.
* Use bus_generic_detach to detach and delete child devices during detachJohn Baldwin2025-01-021-2/+1
| | | | | | | This is simpler and more robust than individual calls to device_delete_child. Differential Revision: https://reviews.freebsd.org/D47972
* Replace calls to bus_generic_attach with bus_attach_childrenJohn Baldwin2024-12-061-1/+2
| | | | | Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47675
* net: Remove unneeded NULL check for the allocated ifnetZhenlei Huang2024-06-281-5/+0
| | | | | | | | | | | Change 4787572d0580 made if_alloc_domain() never fail, then also do the wrappers if_alloc(), if_alloc_dev(), and if_gethandle(). No functional change intended. Reviewed by: kp, imp, glebius, stevek MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D45740
* sys: Automated cleanup of cdefs and other formattingWarner Losh2023-11-273-3/+0
| | | | | | | | | | | | | | | | Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-164-8/+0
| | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-164-8/+0
| | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
* Mechanically convert if_xae to IfAPIJustin Hibbits2023-02-072-48/+47
| | | | | | Reviewed by: zlei Sponsored by: Juniper Networks, Inc. Differential Revision: https://reviews.freebsd.org/D37797
* Add fdt to name of a fdt specific functionAndrew Turner2022-05-231-1/+1
| | | | | | | Rename pci_host_generic_attach to pci_host_generic_fdt_attach to be consistant with the acpi attachment. Sponsored by: The FreeBSD Foundation
* xilinx: Remove unused devclass arguments to DRIVER_MODULE.John Baldwin2022-05-104-15/+5
|
* Remove unused miibus_devclass and miibus_fdt_devclass.John Baldwin2022-05-061-1/+1
|
* if_xae: Remove unused variables.John Baldwin2022-04-121-6/+0
|
* axidma: Remove unused variables.John Baldwin2022-04-121-11/+0
|
* RISC-V: fix some mismatched format specifiersMitchell Horne2020-09-081-1/+1
| | | | | | | | | | RISC-V is currently built with -Wno-format, which is how these went undetected. Address them now before re-enabling those warnings. Differential Revision: https://reviews.freebsd.org/D26319 Notes: svn path=/head/; revision=365455
* xilinx: clean up empty lines in .c and .h filesMateusz Guzik2020-09-012-2/+0
| | | | Notes: svn path=/head/; revision=365127
* Enter the network epoch in the xdma interrupt handler if requiredRuslan Bukin2020-02-081-2/+2
| | | | | | | | | by a peripheral device driver. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=357686
* Fix xae(4) driver attachement on the Government Furnished Equipment (GFE)Ruslan Bukin2020-02-073-24/+89
| | | | | | | | | | | | | | | | | | | | | riscv cores. GFE cores come with standard DTS file that lacks standard 'dmas =' property, which means xae(4) could not find a DMA controller to use. The 'dmas' property could not be added to the DTS file because the ethernet controller and DMA engine parts in Linux are implemented in a single driver. Instead of 'dmas' property the standard Xilinx 'axistream-connected' property is provided, so fallback to use it instead. Suggested by: James Clarke <jrtc27@jrtc27.com> Reviewed by: James Clarke <jrtc27@jrtc27.com> Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=357653
* Add driver for Xilinx XDMA PCIe Bridge found in the U.S. GovernmentRuslan Bukin2020-01-292-0/+878
| | | | | | | | | | | | | Furnished Equipment (GFE) riscv cores. GFE cores are synthesized on the Xilinx Virtex UltraScale+ FPGA VCU118 Evaluation Kit. Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D23337 Notes: svn path=/head/; revision=357258
* Convert to if_foreach_llmaddr() KPI.Gleb Smirnoff2019-10-211-30/+30
| | | | Notes: svn path=/head/; revision=353861
* Negate the logic of XCHAN_CAP_NOBUFS macro and rename it toRuslan Bukin2019-07-041-0/+1
| | | | | | | | | | | | | XCHAN_CAP_BOUNCE. The only application that uses bounce buffering for now is the Government Furnished Equipment (GFE) P2's dma core (AXIDMA) with its own dedicated cacheless bounce buffer. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=349727
* Add driver for the Xilinx AXI Direct Memory Access (AXI DMA) controllerRuslan Bukin2019-05-082-0/+744
| | | | | | | | | found in the U.S. Government Furnished Equipment (GFE) 64-bit RISC-V cores. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=347344
* Add driver for Xilinx AXI Ethernet tri-mode (10/100/1000 Mb/s) MAC foundRuslan Bukin2019-05-083-0/+1299
| | | | | | | | | in the U.S. Government Furnished Equipment (GFE) 64-bit RISC-V cores. Sponsored by: DARPA, AFRL Notes: svn path=/head/; revision=347342
* ofw_spi: Parse property for the SPI mode and CS polarity.Emmanuel Vadot2016-12-181-0/+2
| | | | | | | | | | | | As cs is stored in a uint32_t, use the last bit to store the active high flag as it's unlikely that we will have that much CS. Reviewed by: loos MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D8614 Notes: svn path=/head/; revision=310229
* Assert CS for single transfers.Ruslan Bukin2016-04-191-30/+11
| | | | Notes: svn path=/head/; revision=298273
* Add driver for Xilinx AXI Quad SPI device. The device was found inRuslan Bukin2016-04-191-0/+252
lowRISC hardware. Sponsored by: DARPA, AFRL Sponsored by: HEIF5 Notes: svn path=/head/; revision=298269