xref: /linux/drivers/fpga/xilinx-core.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef __XILINX_CORE_H
4 #define __XILINX_CORE_H
5 
6 #include <linux/device.h>
7 
8 /**
9  * struct xilinx_fpga_core - interface between the driver and the core manager
10  *                           of Xilinx 7 Series FPGA manager
11  * @dev:       device node
12  * @write:     write callback of the driver
13  */
14 struct xilinx_fpga_core {
15 /* public: */
16 	struct device *dev;
17 	int (*write)(struct xilinx_fpga_core *core, const char *buf,
18 		     size_t count);
19 /* private: handled by xilinx-core */
20 	struct gpio_desc *prog_b;
21 	struct gpio_desc *init_b;
22 	struct gpio_desc *done;
23 };
24 
25 int xilinx_core_probe(struct xilinx_fpga_core *core);
26 
27 #endif /* __XILINX_CORE_H */
28