Lines Matching +full:fpga +full:- +full:mgr
1 FPGA Manager
5 --------
7 The FPGA manager core exports a set of functions for programming an FPGA with
10 The FPGA image data itself is very manufacturer specific, but for our purposes
11 it's just binary data. The FPGA manager core won't parse it.
13 The FPGA image to be programmed can be in a scatter gather list, a single
20 FPGA image as well as image-specific particulars such as whether the image was
23 How to support a new FPGA device
24 --------------------------------
26 To add another FPGA manager, write a driver that implements a set of ops. The
38 struct device *dev = &pdev->dev;
40 struct fpga_manager *mgr;
45 return -ENOMEM;
52 mgr = fpga_mgr_register(dev, "Altera SOCFPGA FPGA Manager",
54 if (IS_ERR(mgr))
55 return PTR_ERR(mgr);
57 platform_set_drvdata(pdev, mgr);
64 struct fpga_manager *mgr = platform_get_drvdata(pdev);
66 fpga_mgr_unregister(mgr);
78 do the programming sequence for this particular FPGA. These ops return 0 for
94 sg_table form. If FPGA image is already mapped as a single contiguous buffer,
95 whole buffer will be passed into .parse_header. If image is in scatter-gather
98 size into info->header_size and return -EAGAIN, then it will be called again
101 The .write_init function will prepare the FPGA to receive the image data. The
102 buffer passed into .write_init will be at least info->header_size bytes long;
106 The .write function writes a buffer to the FPGA. The buffer may be contain the
107 whole FPGA image or may be a smaller chunk of an FPGA image. In the latter
115 to put the FPGA into operating mode.
117 The ops include a .state function which will determine the state the FPGA is in
121 API for implementing a new FPGA Manager driver
122 ----------------------------------------------
124 * ``fpga_mgr_states`` - Values for :c:expr:`fpga_manager->state`.
125 * struct fpga_manager - the FPGA manager struct
126 * struct fpga_manager_ops - Low level FPGA manager driver ops
127 * struct fpga_manager_info - Parameter structure for fpga_mgr_register_full()
128 * fpga_mgr_register_full() - Create and register an FPGA manager using the
130 * fpga_mgr_register() - Create and register an FPGA manager using standard
132 * devm_fpga_mgr_register_full() - Resource managed version of
134 * devm_fpga_mgr_register() - Resource managed version of fpga_mgr_register()
135 * fpga_mgr_unregister() - Unregister an FPGA manager
137 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
140 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
143 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
146 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
149 .. kernel-doc:: drivers/fpga/fpga-mgr.c
152 .. kernel-doc:: drivers/fpga/fpga-mgr.c
155 .. kernel-doc:: drivers/fpga/fpga-mgr.c
158 .. kernel-doc:: drivers/fpga/fpga-mgr.c
161 .. kernel-doc:: drivers/fpga/fpga-mgr.c