3 * Rich Ireland, Enterasys Networks, rireland@enterasys.com.
5 * SPDX-License-Identifier: GPL-2.0+
14 /* insert all new types after this */
15 min_altera_iface_type,
16 /* serial data and external clock */
19 passive_parallel_synchronous,
21 passive_parallel_asynchronous,
22 /* serial data w/ internal clock (not used) */
23 passive_serial_asynchronous,
24 /* jtag/tap serial (not used ) */
26 /* fast passive parallel (FPP) */
27 fast_passive_parallel,
28 /* fast passive parallel with security (FPPS) */
29 fast_passive_parallel_security,
30 /* insert all new types before this */
31 max_altera_iface_type,
35 /* insert all new types after this */
41 /* StratixII Family */
46 /* Add new models here */
48 /* insert all new types before this */
54 enum altera_family family;
56 enum altera_iface iface;
57 /* bytes of data part can accept */
59 /* interface function table */
61 /* base interface address */
63 /* implementation specific cookie */
67 /* Generic Altera Functions
68 *********************************************************************/
69 extern int altera_load(Altera_desc *desc, const void *image, size_t size);
70 extern int altera_dump(Altera_desc *desc, const void *buf, size_t bsize);
71 extern int altera_info(Altera_desc *desc);
73 /* Board specific implementation specific function types
74 *********************************************************************/
75 typedef int (*Altera_pre_fn)( int cookie );
76 typedef int (*Altera_config_fn)( int assert_config, int flush, int cookie );
77 typedef int (*Altera_status_fn)( int cookie );
78 typedef int (*Altera_done_fn)( int cookie );
79 typedef int (*Altera_clk_fn)( int assert_clk, int flush, int cookie );
80 typedef int (*Altera_data_fn)( int assert_data, int flush, int cookie );
81 typedef int(*Altera_write_fn)(const void *buf, size_t len, int flush, int cookie);
82 typedef int (*Altera_abort_fn)( int cookie );
83 typedef int (*Altera_post_fn)( int cookie );
87 Altera_config_fn config;
88 Altera_status_fn status;
92 Altera_abort_fn abort;
94 } altera_board_specific_func;
96 #ifdef CONFIG_FPGA_SOCFPGA
97 int socfpga_load(Altera_desc *desc, const void *rbf_data, size_t rbf_size);
100 #endif /* _ALTERA_H_ */