brintos

brintos / linux-shallow public Read only

0
0
Text · 1.9 KiB · 95a0095 Raw
62 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __MYRI10GE_MCP_GEN_HEADER_H__3#define __MYRI10GE_MCP_GEN_HEADER_H__4 5 6#define MCP_HEADER_PTR_OFFSET  0x3c7 8#define MCP_TYPE_MX 0x4d582020	/* "MX  " */9#define MCP_TYPE_PCIE 0x70636965	/* "PCIE" pcie-only MCP */10#define MCP_TYPE_ETH 0x45544820	/* "ETH " */11#define MCP_TYPE_MCP0 0x4d435030	/* "MCP0" */12#define MCP_TYPE_DFLT 0x20202020	/* "    " */13#define MCP_TYPE_ETHZ 0x4554485a	/* "ETHZ" */14 15struct mcp_gen_header {16	/* the first 4 fields are filled at compile time */17	unsigned header_length;18	__be32 mcp_type;19	char version[128];20	unsigned mcp_private;	/* pointer to mcp-type specific structure */21 22	/* filled by the MCP at run-time */23	unsigned sram_size;24	unsigned string_specs;	/* either the original STRING_SPECS or a superset */25	unsigned string_specs_len;26 27	/* Fields above this comment are guaranteed to be present.28	 *29	 * Fields below this comment are extensions added in later versions30	 * of this struct, drivers should compare the header_length against31	 * offsetof(field) to check whether a given MCP implements them.32	 *33	 * Never remove any field.  Keep everything naturally align.34	 */35 36	/* Specifies if the running mcp is mcp0, 1, or 2. */37	unsigned char mcp_index;38	unsigned char disable_rabbit;39	unsigned char unaligned_tlp;40	unsigned char pcie_link_algo;41	unsigned counters_addr;42	unsigned copy_block_info;	/* for small mcps loaded with "lload -d" */43	unsigned short handoff_id_major;	/* must be equal */44	unsigned short handoff_id_caps;	/* bitfield: new mcp must have superset */45	unsigned msix_table_addr;	/* start address of msix table in firmware */46	unsigned bss_addr;	/* start of bss */47	unsigned features;48	unsigned ee_hdr_addr;49	unsigned led_pattern;50	unsigned led_pattern_dflt;51	/* 8 */52};53 54struct zmcp_info {55	unsigned info_len;56	unsigned zmcp_addr;57	unsigned zmcp_len;58	unsigned mcp_edata;59};60 61#endif				/* __MYRI10GE_MCP_GEN_HEADER_H__ */62