Back to home page

OSCL-LXR

 
 

    


0001 /**********************************************************************
0002  * Author: Cavium, Inc.
0003  *
0004  * Contact: support@cavium.com
0005  *          Please include "LiquidIO" in the subject.
0006  *
0007  * Copyright (c) 2003-2016 Cavium, Inc.
0008  *
0009  * This file is free software; you can redistribute it and/or modify
0010  * it under the terms of the GNU General Public License, Version 2, as
0011  * published by the Free Software Foundation.
0012  *
0013  * This file is distributed in the hope that it will be useful, but
0014  * AS-IS and WITHOUT ANY WARRANTY; without even the implied warranty
0015  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, TITLE, or
0016  * NONINFRINGEMENT.  See the GNU General Public License for more details.
0017  ***********************************************************************/
0018 #ifndef _LIQUIDIO_IMAGE_H_
0019 #define _LIQUIDIO_IMAGE_H_
0020 
0021 #define LIO_MAX_FW_TYPE_LEN     (8)
0022 #define LIO_MAX_FW_FILENAME_LEN (256)
0023 #define LIO_FW_DIR              "liquidio/"
0024 #define LIO_FW_BASE_NAME        "lio_"
0025 #define LIO_FW_NAME_SUFFIX      ".bin"
0026 #define LIO_FW_NAME_TYPE_NIC    "nic"
0027 #define LIO_FW_NAME_TYPE_AUTO   "auto"
0028 #define LIO_FW_NAME_TYPE_NONE   "none"
0029 #define LIO_MAX_FIRMWARE_VERSION_LEN 16
0030 
0031 #define LIO_MAX_BOOTCMD_LEN 1024
0032 #define LIO_MAX_IMAGES 16
0033 #define LIO_NIC_MAGIC 0x434E4943     /* "CNIC" */
0034 struct octeon_firmware_desc {
0035     __be64 addr;
0036     __be32 len;
0037     __be32 crc32;         /* crc32 of image */
0038 };
0039 
0040 /* Following the header is a list of 64-bit aligned binary images,
0041  * as described by the desc field.
0042  * Numeric fields are in network byte order.
0043  */
0044 struct octeon_firmware_file_header {
0045     __be32 magic;
0046     char version[LIO_MAX_FIRMWARE_VERSION_LEN];
0047     char bootcmd[LIO_MAX_BOOTCMD_LEN];
0048     __be32 num_images;
0049     struct octeon_firmware_desc desc[LIO_MAX_IMAGES];
0050     __be32 pad;
0051     __be32 crc32;         /* header checksum */
0052 };
0053 
0054 #endif /* _LIQUIDIO_IMAGE_H_ */