ALSA: ASoC: TLV320AIC3X: Modify only interface related bits in aic3x_set_dai_fmt
[linux-ginger.git] / drivers / net / myri10ge / myri10ge_mcp_gen_header.h
blob07d65c2cbb24dade697c881e307d5f849c4bacc2
1 #ifndef __MYRI10GE_MCP_GEN_HEADER_H__
2 #define __MYRI10GE_MCP_GEN_HEADER_H__
5 #define MCP_HEADER_PTR_OFFSET 0x3c
7 #define MCP_TYPE_MX 0x4d582020 /* "MX " */
8 #define MCP_TYPE_PCIE 0x70636965 /* "PCIE" pcie-only MCP */
9 #define MCP_TYPE_ETH 0x45544820 /* "ETH " */
10 #define MCP_TYPE_MCP0 0x4d435030 /* "MCP0" */
11 #define MCP_TYPE_DFLT 0x20202020 /* " " */
13 struct mcp_gen_header {
14 /* the first 4 fields are filled at compile time */
15 unsigned header_length;
16 __be32 mcp_type;
17 char version[128];
18 unsigned mcp_private; /* pointer to mcp-type specific structure */
20 /* filled by the MCP at run-time */
21 unsigned sram_size;
22 unsigned string_specs; /* either the original STRING_SPECS or a superset */
23 unsigned string_specs_len;
25 /* Fields above this comment are guaranteed to be present.
27 * Fields below this comment are extensions added in later versions
28 * of this struct, drivers should compare the header_length against
29 * offsetof(field) to check wether a given MCP implements them.
31 * Never remove any field. Keep everything naturally align.
34 /* Specifies if the running mcp is mcp0, 1, or 2. */
35 unsigned char mcp_index;
36 unsigned char disable_rabbit;
37 unsigned char unaligned_tlp;
38 unsigned char pad1;
39 unsigned counters_addr;
40 unsigned copy_block_info; /* for small mcps loaded with "lload -d" */
41 unsigned short handoff_id_major; /* must be equal */
42 unsigned short handoff_id_caps; /* bitfield: new mcp must have superset */
43 unsigned msix_table_addr; /* start address of msix table in firmware */
44 /* 8 */
47 #endif /* __MYRI10GE_MCP_GEN_HEADER_H__ */