Blame view
include/fpga.h
2.13 KB
83d290c56 SPDX: Convert all... |
1 |
/* SPDX-License-Identifier: GPL-2.0+ */ |
024a26bc9 Initial revision |
2 3 4 |
/* * (C) Copyright 2002 * Rich Ireland, Enterasys Networks, rireland@enterasys.com. |
024a26bc9 Initial revision |
5 |
*/ |
53677ef18 Big white-space c... |
6 |
#include <linux/types.h> /* for ulong typedef */ |
024a26bc9 Initial revision |
7 8 9 10 11 12 13 |
#ifndef _FPGA_H_ #define _FPGA_H_ #ifndef CONFIG_MAX_FPGA_DEVICES #define CONFIG_MAX_FPGA_DEVICES 5 #endif |
024a26bc9 Initial revision |
14 |
/* fpga_xxxx function return value definitions */ |
53677ef18 Big white-space c... |
15 |
#define FPGA_SUCCESS 0 |
5a4675a91 cmd: fpga: Change... |
16 |
#define FPGA_FAIL 1 |
024a26bc9 Initial revision |
17 18 |
/* device numbers must be non-negative */ |
53677ef18 Big white-space c... |
19 |
#define FPGA_INVALID_DEVICE -1 |
024a26bc9 Initial revision |
20 |
|
cedd48e2c cmd: fpga: Add su... |
21 22 |
#define FPGA_ENC_USR_KEY 1 #define FPGA_NO_ENC_OR_NO_AUTH 2 |
024a26bc9 Initial revision |
23 |
/* root data type defintions */ |
53677ef18 Big white-space c... |
24 25 26 27 |
typedef enum { /* typedef fpga_type */ fpga_min_type, /* range check value */ fpga_xilinx, /* Xilinx Family) */ fpga_altera, /* unimplemented */ |
3b8ac464f FPGA: add support... |
28 |
fpga_lattice, /* Lattice family */ |
53677ef18 Big white-space c... |
29 30 |
fpga_undefined /* invalid range check value */ } fpga_type; /* end, typedef fpga_type */ |
024a26bc9 Initial revision |
31 |
|
53677ef18 Big white-space c... |
32 33 34 35 |
typedef struct { /* typedef fpga_desc */ fpga_type devtype; /* switch value to select sub-functions */ void *devdesc; /* real device descriptor */ } fpga_desc; /* end, typedef fpga_desc */ |
024a26bc9 Initial revision |
36 |
|
1a897668a fpga: Added suppo... |
37 38 39 40 |
typedef struct { /* typedef fpga_desc */ unsigned int blocksize; char *interface; char *dev_part; |
3003c445b fpga: Replace cha... |
41 |
const char *filename; |
1a897668a fpga: Added suppo... |
42 43 |
int fstype; } fpga_fs_info; |
024a26bc9 Initial revision |
44 |
|
cedd48e2c cmd: fpga: Add su... |
45 46 47 48 49 |
struct fpga_secure_info { u8 *userkey_addr; u8 authflag; u8 encflag; }; |
7a78bd267 fpga: Define bits... |
50 51 |
typedef enum { BIT_FULL = 0, |
67193864b fpga: Add support... |
52 |
BIT_PARTIAL, |
ddbcf8f2c fpga: Add bitstre... |
53 |
BIT_NONE = 0xFF, |
7a78bd267 fpga: Define bits... |
54 |
} bitstream_type; |
024a26bc9 Initial revision |
55 |
/* root function definitions */ |
6583505c2 fpga: Remove exte... |
56 57 58 |
void fpga_init(void); int fpga_add(fpga_type devtype, void *desc); int fpga_count(void); |
ebd322de4 fpga: Export fpga... |
59 |
const fpga_desc *const fpga_get_desc(int devnum); |
8b93a92f6 fpga: allow progr... |
60 |
int fpga_is_partial_data(int devnum, size_t img_len); |
6583505c2 fpga: Remove exte... |
61 62 63 64 |
int fpga_load(int devnum, const void *buf, size_t bsize, bitstream_type bstype); int fpga_fsload(int devnum, const void *buf, size_t size, fpga_fs_info *fpga_fsinfo); |
cedd48e2c cmd: fpga: Add su... |
65 66 |
int fpga_loads(int devnum, const void *buf, size_t size, struct fpga_secure_info *fpga_sec_info); |
6583505c2 fpga: Remove exte... |
67 68 69 70 71 72 |
int fpga_loadbitstream(int devnum, char *fpgadata, size_t size, bitstream_type bstype); int fpga_dump(int devnum, const void *buf, size_t bsize); int fpga_info(int devnum); const fpga_desc *const fpga_validate(int devnum, const void *buf, size_t bsize, char *fn); |
024a26bc9 Initial revision |
73 74 |
#endif /* _FPGA_H_ */ |