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
39 struct device *dev = &pdev->dev;
41 struct fpga_manager *mgr;
46 return -ENOMEM;
53 mgr = fpga_mgr_register(dev, "Altera SOCFPGA FPGA Manager",
55 if (IS_ERR(mgr))
56 return PTR_ERR(mgr);
58 platform_set_drvdata(pdev, mgr);
65 struct fpga_manager *mgr = platform_get_drvdata(pdev);
67 fpga_mgr_unregister(mgr);
80 do the programming sequence for this particular FPGA. These ops return 0 for
96 sg_table form. If FPGA image is already mapped as a single contiguous buffer,
97 whole buffer will be passed into .parse_header. If image is in scatter-gather
100 size into info->header_size and return -EAGAIN, then it will be called again
103 The .write_init function will prepare the FPGA to receive the image data. The
104 buffer passed into .write_init will be at least info->header_size bytes long;
108 The .write function writes a buffer to the FPGA. The buffer may be contain the
109 whole FPGA image or may be a smaller chunk of an FPGA image. In the latter
117 to put the FPGA into operating mode.
119 The ops include a .state function which will determine the state the FPGA is in
123 API for implementing a new FPGA Manager driver
124 ----------------------------------------------
126 * ``fpga_mgr_states`` - Values for :c:expr:`fpga_manager->state`.
127 * struct fpga_manager - the FPGA manager struct
128 * struct fpga_manager_ops - Low level FPGA manager driver ops
129 * struct fpga_manager_info - Parameter structure for fpga_mgr_register_full()
130 * __fpga_mgr_register_full() - Create and register an FPGA manager using the
132 * __fpga_mgr_register() - Create and register an FPGA manager using standard
134 * __devm_fpga_mgr_register_full() - Resource managed version of
136 * __devm_fpga_mgr_register() - Resource managed version of __fpga_mgr_register()
137 * fpga_mgr_unregister() - Unregister an FPGA manager
143 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
146 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
149 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
152 .. kernel-doc:: include/linux/fpga/fpga-mgr.h
155 .. kernel-doc:: drivers/fpga/fpga-mgr.c
158 .. kernel-doc:: drivers/fpga/fpga-mgr.c
161 .. kernel-doc:: drivers/fpga/fpga-mgr.c
164 .. kernel-doc:: drivers/fpga/fpga-mgr.c
167 .. kernel-doc:: drivers/fpga/fpga-mgr.c