1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef __MYRI10GE_MCP_GEN_HEADER_H__
- #define __MYRI10GE_MCP_GEN_HEADER_H__
- #define MCP_HEADER_PTR_OFFSET 0x3c
- #define MCP_TYPE_MX 0x4d582020 /* "MX " */
- #define MCP_TYPE_PCIE 0x70636965 /* "PCIE" pcie-only MCP */
- #define MCP_TYPE_ETH 0x45544820 /* "ETH " */
- #define MCP_TYPE_MCP0 0x4d435030 /* "MCP0" */
- #define MCP_TYPE_DFLT 0x20202020 /* " " */
- #define MCP_TYPE_ETHZ 0x4554485a /* "ETHZ" */
- struct mcp_gen_header {
- /* the first 4 fields are filled at compile time */
- unsigned header_length;
- __be32 mcp_type;
- char version[128];
- unsigned mcp_private; /* pointer to mcp-type specific structure */
- /* filled by the MCP at run-time */
- unsigned sram_size;
- unsigned string_specs; /* either the original STRING_SPECS or a superset */
- unsigned string_specs_len;
- /* Fields above this comment are guaranteed to be present.
- *
- * Fields below this comment are extensions added in later versions
- * of this struct, drivers should compare the header_length against
- * offsetof(field) to check whether a given MCP implements them.
- *
- * Never remove any field. Keep everything naturally align.
- */
- /* Specifies if the running mcp is mcp0, 1, or 2. */
- unsigned char mcp_index;
- unsigned char disable_rabbit;
- unsigned char unaligned_tlp;
- unsigned char pcie_link_algo;
- unsigned counters_addr;
- unsigned copy_block_info; /* for small mcps loaded with "lload -d" */
- unsigned short handoff_id_major; /* must be equal */
- unsigned short handoff_id_caps; /* bitfield: new mcp must have superset */
- unsigned msix_table_addr; /* start address of msix table in firmware */
- unsigned bss_addr; /* start of bss */
- unsigned features;
- unsigned ee_hdr_addr;
- unsigned led_pattern;
- unsigned led_pattern_dflt;
- /* 8 */
- };
- struct zmcp_info {
- unsigned info_len;
- unsigned zmcp_addr;
- unsigned zmcp_len;
- unsigned mcp_edata;
- };
- #endif /* __MYRI10GE_MCP_GEN_HEADER_H__ */
|