1 | /********************************************************************** |
2 | * Author: Cavium, Inc. |
3 | * |
4 | * Contact: support@cavium.com |
5 | * Please include "LiquidIO" in the subject. |
6 | * |
7 | * Copyright (c) 2003-2016 Cavium, Inc. |
8 | * |
9 | * This file is free software; you can redistribute it and/or modify |
10 | * it under the terms of the GNU General Public License, Version 2, as |
11 | * published by the Free Software Foundation. |
12 | * |
13 | * This file is distributed in the hope that it will be useful, but |
14 | * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty |
15 | * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or |
16 | * NONINFRINGEMENT. See the GNU General Public License for more details. |
17 | ***********************************************************************/ |
18 | #ifndef _LIQUIDIO_IMAGE_H_ |
19 | #define _LIQUIDIO_IMAGE_H_ |
20 | |
21 | #define LIO_MAX_FW_TYPE_LEN (8) |
22 | #define LIO_MAX_FW_FILENAME_LEN (256) |
23 | #define LIO_FW_DIR "liquidio/" |
24 | #define LIO_FW_BASE_NAME "lio_" |
25 | #define LIO_FW_NAME_SUFFIX ".bin" |
26 | #define LIO_FW_NAME_TYPE_NIC "nic" |
27 | #define LIO_FW_NAME_TYPE_AUTO "auto" |
28 | #define LIO_FW_NAME_TYPE_NONE "none" |
29 | #define LIO_MAX_FIRMWARE_VERSION_LEN 16 |
30 | |
31 | #define LIO_MAX_BOOTCMD_LEN 1024 |
32 | #define LIO_MAX_IMAGES 16 |
33 | #define LIO_NIC_MAGIC 0x434E4943 /* "CNIC" */ |
34 | struct octeon_firmware_desc { |
35 | __be64 addr; |
36 | __be32 len; |
37 | __be32 crc32; /* crc32 of image */ |
38 | }; |
39 | |
40 | /* Following the header is a list of 64-bit aligned binary images, |
41 | * as described by the desc field. |
42 | * Numeric fields are in network byte order. |
43 | */ |
44 | struct { |
45 | __be32 ; |
46 | char [LIO_MAX_FIRMWARE_VERSION_LEN]; |
47 | char [LIO_MAX_BOOTCMD_LEN]; |
48 | __be32 ; |
49 | struct octeon_firmware_desc [LIO_MAX_IMAGES]; |
50 | __be32 ; |
51 | __be32 ; /* header checksum */ |
52 | }; |
53 | |
54 | #endif /* _LIQUIDIO_IMAGE_H_ */ |
55 | |