xref: /titanic_50/usr/src/uts/common/io/bnxe/577xx/hsi/mcp/mcp_fio.h (revision d14abf155341d55053c76eeec58b787a456b753b)
1  
2  /*
3   * CDDL HEADER START
4   *
5   * The contents of this file are subject to the terms of the
6   * Common Development and Distribution License (the "License").
7   * You may not use this file except in compliance with the License.
8   *
9   * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10   * or http://www.opensolaris.org/os/licensing.
11   * See the License for the specific language governing permissions
12   * and limitations under the License.
13   *
14   * When distributing Covered Code, include this CDDL HEADER in each
15   * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16   * If applicable, add the following below this CDDL HEADER, with the
17   * fields enclosed by brackets "[]" replaced with your own identifying
18   * information: Portions Copyright [yyyy] [name of copyright owner]
19   *
20   * CDDL HEADER END
21   *
22   * Copyright 2014 QLogic Corporation
23   * The contents of this file are subject to the terms of the
24   * QLogic End User License (the "License").
25   * You may not use this file except in compliance with the License.
26   *
27   * You can obtain a copy of the License at
28   * http://www.qlogic.com/Resources/Documents/DriverDownloadHelp/
29   * QLogic_End_User_Software_License.txt
30   * See the License for the specific language governing permissions
31   * and limitations under the License.
32   *
33   *
34   * Generated On Date:  02/17/2011 13:14
35   *
36   */
37  #ifndef MCP_FIO_H
38  #define MCP_FIO_H
39  
40  /*
41   *  mcp_fio definition
42   *  offset: 0x80000000
43   */
44  typedef struct mcp_fio
45  {
46      u32_t mcpf_events_bits;
47          #define MCPF_EVENTS_BITS_FTQ0_VALID                 (1L<<0)
48          #define MCPF_EVENTS_BITS_FTQ1_VALID                 (1L<<1)
49          #define MCPF_EVENTS_BITS_UMP_EVENT                  (1L<<2)
50          #define MCPF_EVENTS_BITS_SMBUS_EVENT                (1L<<3)
51          #define MCPF_EVENTS_BITS_FLASH_EVENT                (1L<<4)
52          #define MCPF_EVENTS_BITS_MCP_DOORBELL               (1L<<5)
53          #define MCPF_EVENTS_BITS_HFTQ0_VALID                (1L<<6)
54          #define MCPF_EVENTS_BITS_HFTQ1_VALID                (1L<<7)
55          #define MCPF_EVENTS_BITS_EXP_ROM                    (1L<<8)
56          #define MCPF_EVENTS_BITS_VPD                        (1L<<9)
57          #define MCPF_EVENTS_BITS_FLASH                      (1L<<10)
58          #define MCPF_EVENTS_BITS_SMB0                       (1L<<11)
59          #define MCPF_EVENTS_BITS_NIG                        (1L<<12)
60          #define MCPF_EVENTS_BITS_RESERVED0                  (1L<<13)
61          #define MCPF_EVENTS_BITS_RESERVED1                  (1L<<14)
62          #define MCPF_EVENTS_BITS_GPIO0                      (1L<<15)
63          #define MCPF_EVENTS_BITS_GPIO1                      (1L<<16)
64          #define MCPF_EVENTS_BITS_GPIO2                      (1L<<17)
65          #define MCPF_EVENTS_BITS_GPIO3                      (1L<<18)
66          #define MCPF_EVENTS_BITS_SW_TMR_1                   (1L<<19)
67          #define MCPF_EVENTS_BITS_SW_TMR_2                   (1L<<20)
68          #define MCPF_EVENTS_BITS_SW_TMR_3                   (1L<<21)
69          #define MCPF_EVENTS_BITS_SW_TMR_4                   (1L<<22)
70          #define MCPF_EVENTS_BITS_MSI                        (1L<<23)
71          #define MCPF_EVENTS_BITS_RESERVED2                  (1L<<24)
72          #define MCPF_EVENTS_BITS_RESERVED3                  (1L<<25)
73          #define MCPF_EVENTS_BITS_RESERVED4                  (1L<<26)
74          #define MCPF_EVENTS_BITS_MAIN_PWR_INT               (1L<<27)
75          #define MCPF_EVENTS_BITS_NOT_ENABLED                (1L<<30)
76          #define MCPF_EVENTS_BITS_ATTENTIONS_VALID           (1L<<31)
77  
78      u32_t mcpf_attentions_bits;
79          #define MCPF_ATTENTIONS_BITS_GRC_TIMEOUT            (1L<<0)
80          #define MCPF_ATTENTIONS_BITS_PERST_ASSERTION        (1L<<1)
81          #define MCPF_ATTENTIONS_BITS_SPAD_PARITY_ERR        (1L<<2)
82          #define MCPF_ATTENTIONS_BITS_SPIO5                  (1L<<3)
83          #define MCPF_ATTENTIONS_BITS_RSV_ACCESS             (1L<<4)
84          #define MCPF_ATTENTIONS_BITS_PFC_PORT_0             (1L<<5)
85          #define MCPF_ATTENTIONS_BITS_PFC_PORT_1             (1L<<6)
86  
87      u32_t mcpf_event_enable;
88      u32_t mcpf_attention_enable;
89      u32_t mcpf_fio_status;
90          #define MCPF_FIO_STATUS_ENABLED                     (1L<<0)
91          #define MCPF_FIO_STATUS_FORCE_ENA                   (1L<<1)
92  
93      u32_t mcpf_interrupt_status;
94          #define MCPF_INTERRUPT_STATUS_EVENT0_E0             (1L<<0)
95          #define MCPF_INTERRUPT_STATUS_ATTN0_E0              (1L<<1)
96          #define MCPF_INTERRUPT_STATUS_EVENT1_E0             (1L<<2)
97          #define MCPF_INTERRUPT_STATUS_ATTN1_E0              (1L<<3)
98          #define MCPF_INTERRUPT_STATUS_EVENT0_E1             (1L<<4)
99          #define MCPF_INTERRUPT_STATUS_ATTN0_E1              (1L<<5)
100          #define MCPF_INTERRUPT_STATUS_EVENT1_E1             (1L<<6)
101          #define MCPF_INTERRUPT_STATUS_ATTN1_E1              (1L<<7)
102  
103      u32_t mcpf_unused_a[2];
104      u32_t mcpf_unused_b[8];
105      u32_t mcpf_mcp_hc_inc_stat[8];
106      u32_t mcpf_unused_c[4];
107      u32_t mcpf_free_counter_value;
108      u32_t mcpf_unused_d[18];
109      u32_t mcpf_mcp_vfid;
110          #define MCPF_MCP_VFID_VFID                          (0x3fL<<0)
111          #define MCPF_MCP_VFID_VFID_VALID                    (1L<<16)
112          #define MCPF_MCP_VFID_PATHID                        (1L<<20)
113          #define MCPF_MCP_VFID_FIO_REG_EN                    (1L<<30)
114          #define MCPF_MCP_VFID_PATH_FORCE                    (1L<<31)
115  
116      u32_t mcpf_unused1[16];
117      u32_t mcpf_mcpq_bits_status1;
118          #define MCPF_MCPQ_BITS_STATUS1_BRCST                (1L<<0)
119          #define MCPF_MCPQ_BITS_STATUS1_MLCST                (1L<<1)
120          #define MCPF_MCPQ_BITS_STATUS1_UNCST                (1L<<2)
121          #define MCPF_MCPQ_BITS_STATUS1_MAC0                 (1L<<3)
122          #define MCPF_MCPQ_BITS_STATUS1_MAC1                 (1L<<4)
123          #define MCPF_MCPQ_BITS_STATUS1_MAC2                 (1L<<5)
124          #define MCPF_MCPQ_BITS_STATUS1_ARP                  (1L<<6)
125          #define MCPF_MCPQ_BITS_STATUS1_IP0                  (1L<<7)
126          #define MCPF_MCPQ_BITS_STATUS1_IP1                  (1L<<8)
127          #define MCPF_MCPQ_BITS_STATUS1_IP2                  (1L<<9)
128          #define MCPF_MCPQ_BITS_STATUS1_NTBS_U_SRC           (1L<<10)
129          #define MCPF_MCPQ_BITS_STATUS1_NTBS_T_SRC           (1L<<11)
130          #define MCPF_MCPQ_BITS_STATUS1_RMCP                 (1L<<12)
131          #define MCPF_MCPQ_BITS_STATUS1_DHCP                 (1L<<13)
132          #define MCPF_MCPQ_BITS_STATUS1_NTBS_U_DST           (1L<<14)
133          #define MCPF_MCPQ_BITS_STATUS1_UDP0                 (1L<<15)
134          #define MCPF_MCPQ_BITS_STATUS1_UDP1                 (1L<<16)
135          #define MCPF_MCPQ_BITS_STATUS1_UDP2                 (1L<<17)
136          #define MCPF_MCPQ_BITS_STATUS1_NTBS_T_DST           (1L<<18)
137          #define MCPF_MCPQ_BITS_STATUS1_TCP0                 (1L<<19)
138          #define MCPF_MCPQ_BITS_STATUS1_TCP1                 (1L<<20)
139          #define MCPF_MCPQ_BITS_STATUS1_TCP2                 (1L<<21)
140          #define MCPF_MCPQ_BITS_STATUS1_VLAN_ID0             (1L<<22)
141          #define MCPF_MCPQ_BITS_STATUS1_VLAN_ID1             (1L<<23)
142          #define MCPF_MCPQ_BITS_STATUS1_VLAN_ID2             (1L<<24)
143          #define MCPF_MCPQ_BITS_STATUS1_VLAN                 (1L<<25)
144          #define MCPF_MCPQ_BITS_STATUS1_NO_VLAN              (1L<<26)
145          #define MCPF_MCPQ_BITS_STATUS1_L2_CRC               (1L<<27)
146  
147      u16_t mcpf_mcpq_pkt_len;
148          #define MCPF_MCPQ_PKT_LEN_MASK                      (0x3fff<<0)
149  
150      u16_t mcpf_mcpq_vlan_tag;
151      u32_t mcpf_mcpq_bits_status2;
152          #define MCPF_MCPQ_BITS_STATUS2_CLUSTER_MASK         (0x3L<<0)
153          #define MCPF_MCPQ_BITS_STATUS2_MF_OUTER_VLAN        (1L<<2)
154          #define MCPF_MCPQ_BITS_STATUS2_MF_NO_OUTER_VLAN     (1L<<3)
155          #define MCPF_MCPQ_BITS_STATUS2_MF_OUTER_VLAN_ID     (1L<<4)
156          #define MCPF_MCPQ_BITS_STATUS2_MF_MAC3              (1L<<5)
157          #define MCPF_MCPQ_BITS_STATUS2_MF_IPV6_MLCST        (1L<<6)
158          #define MCPF_MCPQ_BITS_STATUS2_OUTER_VLAN_MASK      (0xffffL<<7)
159          #define MCPF_MCPQ_BITS_STATUS2_MAC4                 (1L<<23)
160          #define MCPF_MCPQ_BITS_STATUS2_MAC5                 (1L<<24)
161  
162      u32_t mcpf_mcpq_bits_status3;
163          #define MCPF_MCPQ_BITS_STATUS3_ETYPE0               (1L<<1)
164          #define MCPF_MCPQ_BITS_STATUS3_ETYPE1               (1L<<2)
165          #define MCPF_MCPQ_BITS_STATUS3_ALL_MLCST            (1L<<3)
166          #define MCPF_MCPQ_BITS_STATUS3_ARP                  (1L<<7)
167          #define MCPF_MCPQ_BITS_STATUS3_ICMPV4               (1L<<8)
168          #define MCPF_MCPQ_BITS_STATUS3_ICMPV6               (1L<<9)
169          #define MCPF_MCPQ_BITS_STATUS3_LLDP                 (1L<<11)
170          #define MCPF_MCPQ_BITS_STATUS3_VNTAG0               (1L<<12)
171          #define MCPF_MCPQ_BITS_STATUS3_VNTAG1               (1L<<13)
172          #define MCPF_MCPQ_BITS_STATUS3_PF0_VLAN             (1L<<16)
173          #define MCPF_MCPQ_BITS_STATUS3_PF1_VLAN             (1L<<18)
174  
175      u32_t mcpf_unused_h[10];
176      u32_t mcpf_mcpq_cmd;
177          #define MCPF_MCPQ_CMD_MCPQ_CMD_POP                  (1L<<30)
178  
179      u32_t mcpf_unused_hh[1];
180      u32_t mcpf_hmcpq_bits_status1;
181          #define MCPF_HMCPQ_BITS_STATUS1_BRCST               (1L<<0)
182          #define MCPF_HMCPQ_BITS_STATUS1_MLCST               (1L<<1)
183          #define MCPF_HMCPQ_BITS_STATUS1_UNCST               (1L<<2)
184          #define MCPF_HMCPQ_BITS_STATUS1_MAC0                (1L<<3)
185          #define MCPF_HMCPQ_BITS_STATUS1_MAC1                (1L<<4)
186          #define MCPF_HMCPQ_BITS_STATUS1_MAC2                (1L<<5)
187          #define MCPF_HMCPQ_BITS_STATUS1_ARP                 (1L<<6)
188          #define MCPF_HMCPQ_BITS_STATUS1_IP0                 (1L<<7)
189          #define MCPF_HMCPQ_BITS_STATUS1_IP1                 (1L<<8)
190          #define MCPF_HMCPQ_BITS_STATUS1_IP2                 (1L<<9)
191          #define MCPF_HMCPQ_BITS_STATUS1_NTBS_U_SRC          (1L<<10)
192          #define MCPF_HMCPQ_BITS_STATUS1_NTBS_T_SRC          (1L<<11)
193          #define MCPF_HMCPQ_BITS_STATUS1_RMCP                (1L<<12)
194          #define MCPF_HMCPQ_BITS_STATUS1_DHCP                (1L<<13)
195          #define MCPF_HMCPQ_BITS_STATUS1_NTBS_U_DST          (1L<<14)
196          #define MCPF_HMCPQ_BITS_STATUS1_UDP0                (1L<<15)
197          #define MCPF_HMCPQ_BITS_STATUS1_UDP1                (1L<<16)
198          #define MCPF_HMCPQ_BITS_STATUS1_UDP2                (1L<<17)
199          #define MCPF_HMCPQ_BITS_STATUS1_NTBS_T_DST          (1L<<18)
200          #define MCPF_HMCPQ_BITS_STATUS1_TCP0                (1L<<19)
201          #define MCPF_HMCPQ_BITS_STATUS1_TCP1                (1L<<20)
202          #define MCPF_HMCPQ_BITS_STATUS1_TCP2                (1L<<21)
203          #define MCPF_HMCPQ_BITS_STATUS1_VLAN_ID0            (1L<<22)
204          #define MCPF_HMCPQ_BITS_STATUS1_VLAN_ID1            (1L<<23)
205          #define MCPF_HMCPQ_BITS_STATUS1_VLAN_ID2            (1L<<24)
206          #define MCPF_HMCPQ_BITS_STATUS1_VLAN                (1L<<25)
207          #define MCPF_HMCPQ_BITS_STATUS1_NO_VLAN             (1L<<26)
208          #define MCPF_HMCPQ_BITS_STATUS1_L2_CRC              (1L<<27)
209  
210      u16_t mcpf_hmcpq_pkt_len;
211          #define MCPF_HMCPQ_PKT_LEN_MASK                     (0x3fff<<0)
212  
213      u16_t mcpf_hmcpq_vlan_tag;
214      u32_t mcpf_hmcpq_bits_status2;
215          #define MCPF_HMCPQ_BITS_STATUS2_CLUSTER_MASK        (0x3L<<0)
216          #define MCPF_HMCPQ_BITS_STATUS2_MF_OUTER_VLAN       (1L<<2)
217          #define MCPF_HMCPQ_BITS_STATUS2_MF_NO_OUTER_VLAN    (1L<<3)
218          #define MCPF_HMCPQ_BITS_STATUS2_MF_OUTER_VLAN_ID    (1L<<4)
219          #define MCPF_HMCPQ_BITS_STATUS2_MF_MAC3             (1L<<5)
220          #define MCPF_HMCPQ_BITS_STATUS2_MF_IPV6_MLCST       (1L<<6)
221          #define MCPF_HMCPQ_BITS_STATUS2_OUTER_VLAN_MASK     (0xffffL<<7)
222          #define MCPF_HMCPQ_BITS_STATUS2_MAC4                (1L<<23)
223          #define MCPF_HMCPQ_BITS_STATUS2_MAC5                (1L<<24)
224  
225      u32_t mcpf_hmcpq_bits_status3;
226          #define MCPF_HMCPQ_BITS_STATUS3_ETYPE0              (1L<<1)
227          #define MCPF_HMCPQ_BITS_STATUS3_ETYPE1              (1L<<2)
228          #define MCPF_HMCPQ_BITS_STATUS3_ALL_MLCST           (1L<<3)
229          #define MCPF_HMCPQ_BITS_STATUS3_ARP                 (1L<<7)
230          #define MCPF_HMCPQ_BITS_STATUS3_ICMPV4              (1L<<8)
231          #define MCPF_HMCPQ_BITS_STATUS3_ICMPV6              (1L<<9)
232          #define MCPF_HMCPQ_BITS_STATUS3_LLDP                (1L<<11)
233          #define MCPF_HMCPQ_BITS_STATUS3_VNTAG0              (1L<<12)
234          #define MCPF_HMCPQ_BITS_STATUS3_VNTAG1              (1L<<13)
235          #define MCPF_HMCPQ_BITS_STATUS3_PF0_VLAN            (1L<<16)
236          #define MCPF_HMCPQ_BITS_STATUS3_PF1_VLAN            (1L<<18)
237  
238      u32_t mcpf_unused_hj[10];
239      u32_t mcpf_hmcpq_cmd;
240          #define MCPF_HMCPQ_CMD_HMCPQ_CMD_POP                (1L<<30)
241  
242      u32_t mcpf_unused_i[39073];
243      u32_t mcpf_nvm_command;
244          #define MCPF_NVM_COMMAND_RST                        (1L<<0)
245          #define MCPF_NVM_COMMAND_DONE                       (1L<<3)
246          #define MCPF_NVM_COMMAND_DOIT                       (1L<<4)
247          #define MCPF_NVM_COMMAND_WR                         (1L<<5)
248          #define MCPF_NVM_COMMAND_ERASE                      (1L<<6)
249          #define MCPF_NVM_COMMAND_FIRST                      (1L<<7)
250          #define MCPF_NVM_COMMAND_LAST                       (1L<<8)
251          #define MCPF_NVM_COMMAND_WREN                       (1L<<16)
252          #define MCPF_NVM_COMMAND_WRDI                       (1L<<17)
253          #define MCPF_NVM_COMMAND_RD_ID                      (1L<<20)
254          #define MCPF_NVM_COMMAND_RD_STATUS                  (1L<<21)
255          #define MCPF_NVM_COMMAND_MODE_256                   (1L<<22)
256  
257      u32_t mcpf_nvm_status;
258          #define MCPF_NVM_STATUS_SPI_FSM_STATE               (0x1fL<<0)
259              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_IDLE  (0L<<0)
260              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD0  (1L<<0)
261              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD1  (2L<<0)
262              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD_FINISH0  (3L<<0)
263              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD_FINISH1  (4L<<0)
264              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_ADDR0  (5L<<0)
265              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA0  (6L<<0)
266              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA1  (7L<<0)
267              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA2  (8L<<0)
268              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA0  (9L<<0)
269              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA1  (10L<<0)
270              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA2  (11L<<0)
271              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID0  (12L<<0)
272              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID1  (13L<<0)
273              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID2  (14L<<0)
274              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID3  (15L<<0)
275              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID4  (16L<<0)
276              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CHECK_BUSY0  (17L<<0)
277              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_ST_WREN  (18L<<0)
278              #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WAIT  (19L<<0)
279  
280      u32_t mcpf_nvm_write;
281          #define MCPF_NVM_WRITE_NVM_WRITE_VALUE              (0xffffffffL<<0)
282              #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_BIT_BANG  (0L<<0)
283              #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_SI       (1L<<0)
284              #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_SO       (2L<<0)
285              #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_CS_B     (4L<<0)
286              #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_SCLK     (8L<<0)
287  
288      u32_t mcpf_nvm_addr;
289          #define MCPF_NVM_ADDR_NVM_ADDR_VALUE                (0xffffffL<<0)
290              #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_BIT_BANG   (0L<<0)
291              #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_SI         (1L<<0)
292              #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_SO         (2L<<0)
293              #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_CS_B       (4L<<0)
294              #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_SCLK       (8L<<0)
295  
296      u32_t mcpf_nvm_read;
297          #define MCPF_NVM_READ_NVM_READ_VALUE                (0xffffffffL<<0)
298              #define MCPF_NVM_READ_NVM_READ_VALUE_BIT_BANG   (0L<<0)
299              #define MCPF_NVM_READ_NVM_READ_VALUE_SI         (1L<<0)
300              #define MCPF_NVM_READ_NVM_READ_VALUE_SO         (2L<<0)
301              #define MCPF_NVM_READ_NVM_READ_VALUE_CS_B       (4L<<0)
302              #define MCPF_NVM_READ_NVM_READ_VALUE_SCLK       (8L<<0)
303  
304      u32_t mcpf_nvm_cfg1;
305          #define MCPF_NVM_CFG1_FLASH_MODE                    (1L<<0)
306          #define MCPF_NVM_CFG1_BUFFER_MODE                   (1L<<1)
307          #define MCPF_NVM_CFG1_PASS_MODE                     (1L<<2)
308          #define MCPF_NVM_CFG1_BITBANG_MODE                  (1L<<3)
309          #define MCPF_NVM_CFG1_STATUS_BIT                    (0x7L<<4)
310          #define MCPF_NVM_CFG1_SPI_CLK_DIV                   (0xfL<<7)
311          #define MCPF_NVM_CFG1_SEE_CLK_DIV                   (0x7ffL<<11)
312          #define MCPF_NVM_CFG1_STRAP_CONTROL_0               (1L<<23)
313          #define MCPF_NVM_CFG1_PROTECT_MODE                  (1L<<24)
314          #define MCPF_NVM_CFG1_FLASH_SIZE                    (1L<<25)
315          #define MCPF_NVM_CFG1_FW_USTRAP_1                   (1L<<26)
316          #define MCPF_NVM_CFG1_FW_USTRAP_0                   (1L<<27)
317          #define MCPF_NVM_CFG1_FW_USTRAP_2                   (1L<<28)
318          #define MCPF_NVM_CFG1_FW_USTRAP_3                   (1L<<29)
319          #define MCPF_NVM_CFG1_FW_FLASH_TYPE_EN              (1L<<30)
320          #define MCPF_NVM_CFG1_COMPAT_BYPASSS                (1L<<31)
321  
322      u32_t mcpf_nvm_cfg2;
323          #define MCPF_NVM_CFG2_ERASE_CMD                     (0xffL<<0)
324          #define MCPF_NVM_CFG2_CSB_W                         (0xffL<<8)
325          #define MCPF_NVM_CFG2_STATUS_CMD                    (0xffL<<16)
326          #define MCPF_NVM_CFG2_READ_ID                       (0xffL<<24)
327  
328      u32_t mcpf_nvm_cfg3;
329          #define MCPF_NVM_CFG3_BUFFER_RD_CMD                 (0xffL<<0)
330          #define MCPF_NVM_CFG3_WRITE_CMD                     (0xffL<<8)
331          #define MCPF_NVM_CFG3_FAST_READ_CMD                 (0xffL<<16)
332          #define MCPF_NVM_CFG3_READ_CMD                      (0xffL<<24)
333  
334      u32_t mcpf_nvm_sw_arb;
335          #define MCPF_NVM_SW_ARB_ARB_REQ_SET0                (1L<<0)
336          #define MCPF_NVM_SW_ARB_ARB_REQ_SET1                (1L<<1)
337          #define MCPF_NVM_SW_ARB_ARB_REQ_SET2                (1L<<2)
338          #define MCPF_NVM_SW_ARB_ARB_REQ_SET3                (1L<<3)
339          #define MCPF_NVM_SW_ARB_ARB_REQ_CLR0                (1L<<4)
340          #define MCPF_NVM_SW_ARB_ARB_REQ_CLR1                (1L<<5)
341          #define MCPF_NVM_SW_ARB_ARB_REQ_CLR2                (1L<<6)
342          #define MCPF_NVM_SW_ARB_ARB_REQ_CLR3                (1L<<7)
343          #define MCPF_NVM_SW_ARB_ARB_ARB0                    (1L<<8)
344          #define MCPF_NVM_SW_ARB_ARB_ARB1                    (1L<<9)
345          #define MCPF_NVM_SW_ARB_ARB_ARB2                    (1L<<10)
346          #define MCPF_NVM_SW_ARB_ARB_ARB3                    (1L<<11)
347          #define MCPF_NVM_SW_ARB_REQ0                        (1L<<12)
348          #define MCPF_NVM_SW_ARB_REQ1                        (1L<<13)
349          #define MCPF_NVM_SW_ARB_REQ2                        (1L<<14)
350          #define MCPF_NVM_SW_ARB_REQ3                        (1L<<15)
351  
352      u32_t mcpf_nvm_access_enable;
353          #define MCPF_NVM_ACCESS_ENABLE_EN                   (1L<<0)
354          #define MCPF_NVM_ACCESS_ENABLE_WR_EN                (1L<<1)
355  
356      u32_t mcpf_nvm_write1;
357          #define MCPF_NVM_WRITE1_WREN_CMD                    (0xffL<<0)
358          #define MCPF_NVM_WRITE1_WRDI_CMD                    (0xffL<<8)
359  
360      u32_t mcpf_nvm_cfg4;
361          #define MCPF_NVM_CFG4_FLASH_SIZE                    (0x7L<<0)
362              #define MCPF_NVM_CFG4_FLASH_SIZE_1MBIT          (0L<<0)
363              #define MCPF_NVM_CFG4_FLASH_SIZE_2MBIT          (1L<<0)
364              #define MCPF_NVM_CFG4_FLASH_SIZE_4MBIT          (2L<<0)
365              #define MCPF_NVM_CFG4_FLASH_SIZE_8MBIT          (3L<<0)
366              #define MCPF_NVM_CFG4_FLASH_SIZE_16MBIT         (4L<<0)
367              #define MCPF_NVM_CFG4_FLASH_SIZE_32MBIT         (5L<<0)
368              #define MCPF_NVM_CFG4_FLASH_SIZE_64MBIT         (6L<<0)
369              #define MCPF_NVM_CFG4_FLASH_SIZE_128MBIT        (7L<<0)
370          #define MCPF_NVM_CFG4_FLASH_VENDOR                  (1L<<3)
371              #define MCPF_NVM_CFG4_FLASH_VENDOR_ST           (0L<<3)
372              #define MCPF_NVM_CFG4_FLASH_VENDOR_ATMEL        (1L<<3)
373          #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC        (0x3L<<4)
374              #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT8  (0L<<4)
375              #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT9  (1L<<4)
376              #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT10  (2L<<4)
377              #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT11  (3L<<4)
378          #define MCPF_NVM_CFG4_STATUS_BIT_POLARITY           (1L<<6)
379          #define MCPF_NVM_CFG4_FAST                          (1L<<7)
380          #define MCPF_NVM_CFG4_SI_INPUT_RELAXED_TIMING       (1L<<8)
381          #define MCPF_NVM_CFG4_PASS_MODE_RELAXED_TIMING      (1L<<9)
382          #define MCPF_NVM_CFG4_SR_TURNAROUND                 (1L<<10)
383          #define MCPF_NVM_CFG4_RESERVED                      (0x1fffffL<<11)
384  
385      u32_t mcpf_nvm_reconfig;
386          #define MCPF_NVM_RECONFIG_ORIG_STRAP_VALUE          (0xfL<<0)
387              #define MCPF_NVM_RECONFIG_ORIG_STRAP_VALUE_ST   (0L<<0)
388              #define MCPF_NVM_RECONFIG_ORIG_STRAP_VALUE_ATMEL  (1L<<0)
389          #define MCPF_NVM_RECONFIG_RECONFIG_STRAP_VALUE      (0xfL<<4)
390          #define MCPF_NVM_RECONFIG_RESERVED                  (0x7fffffL<<8)
391          #define MCPF_NVM_RECONFIG_RECONFIG_DONE             (1L<<31)
392  
393      u32_t mcpf_unused2[243];
394      u32_t mcpf_unused_j[1536];
395      u32_t mcpf_smbus_config;
396          #define MCPF_SMBUS_CONFIG_HW_ARP_ASSIGN_ADDR        (1L<<7)
397          #define MCPF_SMBUS_CONFIG_ARP_EN0                   (1L<<8)
398          #define MCPF_SMBUS_CONFIG_ARP_EN1                   (1L<<9)
399          #define MCPF_SMBUS_CONFIG_MASTER_RTRY_CNT           (0xfL<<16)
400          #define MCPF_SMBUS_CONFIG_TIMESTAMP_CNT_EN          (1L<<26)
401          #define MCPF_SMBUS_CONFIG_PROMISCOUS_MODE           (1L<<27)
402          #define MCPF_SMBUS_CONFIG_EN_NIC_SMB_ADDR_0         (1L<<28)
403          #define MCPF_SMBUS_CONFIG_BIT_BANG_EN               (1L<<29)
404          #define MCPF_SMBUS_CONFIG_SMB_EN                    (1L<<30)
405          #define MCPF_SMBUS_CONFIG_RESET                     (1L<<31)
406  
407      u32_t mcpf_smbus_timing_config;
408          #define MCPF_SMBUS_TIMING_CONFIG_SMBUS_IDLE_TIME    (0xffL<<8)
409          #define MCPF_SMBUS_TIMING_CONFIG_PERIODIC_SLAVE_STRETCH  (0xffL<<16)
410          #define MCPF_SMBUS_TIMING_CONFIG_RANDOM_SLAVE_STRETCH  (0x7fL<<24)
411          #define MCPF_SMBUS_TIMING_CONFIG_MODE_400           (1L<<31)
412  
413      u32_t mcpf_smbus_address;
414          #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR0            (0x7fL<<0)
415          #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR0         (1L<<7)
416          #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR1            (0x7fL<<8)
417          #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR1         (1L<<15)
418          #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR2            (0x7fL<<16)
419          #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR2         (1L<<23)
420          #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR3            (0x7fL<<24)
421          #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR3         (1L<<31)
422  
423      u32_t mcpf_smbus_master_fifo_control;
424          #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_RX_FIFO_THRESHOLD  (0x7fL<<8)
425          #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_RX_PKT_COUNT  (0x7fL<<16)
426          #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_TX_FIFO_FLUSH  (1L<<30)
427          #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_RX_FIFO_FLUSH  (1L<<31)
428  
429      u32_t mcpf_smbus_slave_fifo_control;
430          #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_RX_FIFO_THRESHOLD  (0x7fL<<8)
431          #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_RX_PKT_COUNT  (0x7fL<<16)
432          #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_TX_FIFO_FLUSH  (1L<<30)
433          #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_RX_FIFO_FLUSH  (1L<<31)
434  
435      u32_t mcpf_smbus_bit_bang_control;
436          #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBDAT_OUT_EN   (1L<<28)
437          #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBDAT_IN       (1L<<29)
438          #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBCLK_OUT_EN   (1L<<30)
439          #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBCLK_IN       (1L<<31)
440  
441      u32_t mcpf_smbus_watchdog;
442          #define MCPF_SMBUS_WATCHDOG_WATCHDOG                (0xffffL<<0)
443  
444      u32_t mcpf_smbus_heartbeat;
445          #define MCPF_SMBUS_HEARTBEAT_HEARTBEAT              (0xffffL<<0)
446  
447      u32_t mcpf_smbus_poll_asf;
448          #define MCPF_SMBUS_POLL_ASF_POLL_ASF                (0xffffL<<0)
449  
450      u32_t mcpf_smbus_poll_legacy;
451          #define MCPF_SMBUS_POLL_LEGACY_POLL_LEGACY          (0xffffL<<0)
452  
453      u32_t mcpf_smbus_retran;
454          #define MCPF_SMBUS_RETRAN_RETRAN                    (0xffL<<0)
455  
456      u32_t mcpf_smbus_timestamp;
457          #define MCPF_SMBUS_TIMESTAMP_TIMESTAMP              (0xffffffffL<<0)
458  
459      u32_t mcpf_smbus_master_command;
460          #define MCPF_SMBUS_MASTER_COMMAND_RD_BYTE_COUNT     (0xffL<<0)
461          #define MCPF_SMBUS_MASTER_COMMAND_PEC               (1L<<8)
462          #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL    (0xfL<<9)
463              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0000  (0L<<9)
464              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0001  (1L<<9)
465              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0010  (2L<<9)
466              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0011  (3L<<9)
467              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0100  (4L<<9)
468              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0101  (5L<<9)
469              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0110  (6L<<9)
470              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0111  (7L<<9)
471              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1000  (8L<<9)
472              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1001  (9L<<9)
473              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1010  (10L<<9)
474              #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1011  (11L<<9)
475          #define MCPF_SMBUS_MASTER_COMMAND_STATUS            (0x7L<<25)
476              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_000    (0L<<25)
477              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_001    (1L<<25)
478              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_010    (2L<<25)
479              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_011    (3L<<25)
480              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_100    (4L<<25)
481              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_101    (5L<<25)
482              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_110    (6L<<25)
483              #define MCPF_SMBUS_MASTER_COMMAND_STATUS_111    (7L<<25)
484          #define MCPF_SMBUS_MASTER_COMMAND_ABORT             (1L<<30)
485          #define MCPF_SMBUS_MASTER_COMMAND_START_BUSY        (1L<<31)
486  
487      u32_t mcpf_smbus_slave_command;
488          #define MCPF_SMBUS_SLAVE_COMMAND_PEC                (1L<<8)
489          #define MCPF_SMBUS_SLAVE_COMMAND_STATUS             (0x7L<<23)
490              #define MCPF_SMBUS_SLAVE_COMMAND_STATUS_000     (0L<<23)
491              #define MCPF_SMBUS_SLAVE_COMMAND_STATUS_101     (5L<<23)
492              #define MCPF_SMBUS_SLAVE_COMMAND_STATUS_111     (7L<<23)
493          #define MCPF_SMBUS_SLAVE_COMMAND_ABORT              (1L<<30)
494          #define MCPF_SMBUS_SLAVE_COMMAND_START              (1L<<31)
495  
496      u32_t mcpf_smbus_event_enable;
497          #define MCPF_SMBUS_EVENT_ENABLE_WATCHDOG_TO_EN      (1L<<0)
498          #define MCPF_SMBUS_EVENT_ENABLE_HEARTBEAT_TO_EN     (1L<<1)
499          #define MCPF_SMBUS_EVENT_ENABLE_POLL_ASF_TO_EN      (1L<<2)
500          #define MCPF_SMBUS_EVENT_ENABLE_POLL_LEGACY_TO_EN   (1L<<3)
501          #define MCPF_SMBUS_EVENT_ENABLE_RETRANSMIT_TO_EN    (1L<<4)
502          #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_ARP_EVENT_EN  (1L<<20)
503          #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RD_EVENT_EN   (1L<<21)
504          #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_TX_UNDERRUN_EN  (1L<<22)
505          #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_START_BUSY_EN  (1L<<23)
506          #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RX_EVENT_EN   (1L<<24)
507          #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RX_THRESHOLD_HIT_EN  (1L<<25)
508          #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RX_FIFO_FULL_EN  (1L<<26)
509          #define MCPF_SMBUS_EVENT_ENABLE_MASTER_TX_UNDERRUN_EN  (1L<<27)
510          #define MCPF_SMBUS_EVENT_ENABLE_MASTER_START_BUSY_EN  (1L<<28)
511          #define MCPF_SMBUS_EVENT_ENABLE_MASTER_RX_EVENT_EN  (1L<<29)
512          #define MCPF_SMBUS_EVENT_ENABLE_MASTER_RX_THRESHOLD_HIT_EN  (1L<<30)
513          #define MCPF_SMBUS_EVENT_ENABLE_MASTER_RX_FIFO_FULL_EN  (1L<<31)
514  
515      u32_t mcpf_smbus_event_status;
516          #define MCPF_SMBUS_EVENT_STATUS_WATCHDOG_TO         (1L<<0)
517          #define MCPF_SMBUS_EVENT_STATUS_HEARTBEAT_TO        (1L<<1)
518          #define MCPF_SMBUS_EVENT_STATUS_POLL_ASF_TO         (1L<<2)
519          #define MCPF_SMBUS_EVENT_STATUS_POLL_LEGACY_TO      (1L<<3)
520          #define MCPF_SMBUS_EVENT_STATUS_RETRANSMIT_TO       (1L<<4)
521          #define MCPF_SMBUS_EVENT_STATUS_SLAVE_ARP_EVENT     (1L<<20)
522          #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RD_EVENT      (1L<<21)
523          #define MCPF_SMBUS_EVENT_STATUS_SLAVE_TX_UNDERRUN   (1L<<22)
524          #define MCPF_SMBUS_EVENT_STATUS_SLAVE_START_BUSY    (1L<<23)
525          #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RX_EVENT      (1L<<24)
526          #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RX_THRESHOLD_HIT  (1L<<25)
527          #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RX_FIFO_FULL  (1L<<26)
528          #define MCPF_SMBUS_EVENT_STATUS_MASTER_TX_UNDERRUN  (1L<<27)
529          #define MCPF_SMBUS_EVENT_STATUS_MASTER_START_BUSY   (1L<<28)
530          #define MCPF_SMBUS_EVENT_STATUS_MASTER_RX_EVENT     (1L<<29)
531          #define MCPF_SMBUS_EVENT_STATUS_MASTER_RX_THRESHOLD_HIT  (1L<<30)
532          #define MCPF_SMBUS_EVENT_STATUS_MASTER_RX_FIFO_FULL  (1L<<31)
533  
534      u32_t mcpf_smbus_master_data_write;
535          #define MCPF_SMBUS_MASTER_DATA_WRITE_MASTER_SMBUS_WR_DATA  (0xffL<<0)
536          #define MCPF_SMBUS_MASTER_DATA_WRITE_WR_STATUS      (1L<<31)
537  
538      u32_t mcpf_smbus_master_data_read;
539          #define MCPF_SMBUS_MASTER_DATA_READ_MASTER_SMBUS_RD_DATA  (0xffL<<0)
540          #define MCPF_SMBUS_MASTER_DATA_READ_PEC_ERR         (1L<<29)
541          #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS       (0x3L<<30)
542              #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_00  (0L<<30)
543              #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_01  (1L<<30)
544              #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_10  (2L<<30)
545              #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_11  (3L<<30)
546  
547      u32_t mcpf_smbus_slave_data_write;
548          #define MCPF_SMBUS_SLAVE_DATA_WRITE_SLAVE_SMBUS_WR_DATA  (0xffL<<0)
549          #define MCPF_SMBUS_SLAVE_DATA_WRITE_WR_STATUS       (1L<<31)
550              #define MCPF_SMBUS_SLAVE_DATA_WRITE_WR_STATUS_0  (0L<<31)
551              #define MCPF_SMBUS_SLAVE_DATA_WRITE_WR_STATUS_1  (1L<<31)
552  
553      u32_t mcpf_smbus_slave_data_read;
554          #define MCPF_SMBUS_SLAVE_DATA_READ_SLAVE_SMBUS_RD_DATA  (0xffL<<0)
555          #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS       (0x3L<<28)
556              #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_00  (0L<<28)
557              #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_01  (1L<<28)
558              #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_10  (2L<<28)
559              #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_11  (3L<<28)
560          #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS        (0x3L<<30)
561              #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_00  (0L<<30)
562              #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_01  (1L<<30)
563              #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_10  (2L<<30)
564              #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_11  (3L<<30)
565  
566      u32_t mcpf_unused3[12];
567      u32_t mcpf_smbus_arp_state;
568          #define MCPF_SMBUS_ARP_STATE_AV_FLAG0               (1L<<0)
569          #define MCPF_SMBUS_ARP_STATE_AR_FLAG0               (1L<<1)
570          #define MCPF_SMBUS_ARP_STATE_AV_FLAG1               (1L<<4)
571          #define MCPF_SMBUS_ARP_STATE_AR_FLAG1               (1L<<5)
572  
573      u32_t mcpf_unused4[3];
574      u32_t mcpf_smbus_udid0_3;
575          #define MCPF_SMBUS_UDID0_3_BYTE_12                  (0xffL<<0)
576          #define MCPF_SMBUS_UDID0_3_BYTE_13                  (0xffL<<8)
577          #define MCPF_SMBUS_UDID0_3_BYTE_14                  (0xffL<<16)
578          #define MCPF_SMBUS_UDID0_3_BYTE_15                  (0xffL<<24)
579  
580      u32_t mcpf_smbus_udid0_2;
581          #define MCPF_SMBUS_UDID0_2_BYTE_8                   (0xffL<<0)
582          #define MCPF_SMBUS_UDID0_2_BYTE_9                   (0xffL<<8)
583          #define MCPF_SMBUS_UDID0_2_BYTE_10                  (0xffL<<16)
584          #define MCPF_SMBUS_UDID0_2_BYTE_11                  (0xffL<<24)
585  
586      u32_t mcpf_smbus_udid0_1;
587          #define MCPF_SMBUS_UDID0_1_BYTE_4                   (0xffL<<0)
588          #define MCPF_SMBUS_UDID0_1_BYTE_5                   (0xffL<<8)
589          #define MCPF_SMBUS_UDID0_1_BYTE_6                   (0xffL<<16)
590          #define MCPF_SMBUS_UDID0_1_BYTE_7                   (0xffL<<24)
591  
592      u32_t mcpf_smbus_udid0_0;
593          #define MCPF_SMBUS_UDID0_0_BYTE_0                   (0xffL<<0)
594          #define MCPF_SMBUS_UDID0_0_BYTE_1                   (0xffL<<8)
595          #define MCPF_SMBUS_UDID0_0_BYTE_2                   (0xffL<<16)
596          #define MCPF_SMBUS_UDID0_0_BYTE_3                   (0xffL<<24)
597  
598      u32_t mcpf_smbus_udid1_3;
599          #define MCPF_SMBUS_UDID1_3_BYTE_12                  (0xffL<<0)
600          #define MCPF_SMBUS_UDID1_3_BYTE_13                  (0xffL<<8)
601          #define MCPF_SMBUS_UDID1_3_BYTE_14                  (0xffL<<16)
602          #define MCPF_SMBUS_UDID1_3_BYTE_15                  (0xffL<<24)
603  
604      u32_t mcpf_smbus_udid1_2;
605          #define MCPF_SMBUS_UDID1_2_BYTE_8                   (0xffL<<0)
606          #define MCPF_SMBUS_UDID1_2_BYTE_9                   (0xffL<<8)
607          #define MCPF_SMBUS_UDID1_2_BYTE_10                  (0xffL<<16)
608          #define MCPF_SMBUS_UDID1_2_BYTE_11                  (0xffL<<24)
609  
610      u32_t mcpf_smbus_udid1_1;
611          #define MCPF_SMBUS_UDID1_1_BYTE_4                   (0xffL<<0)
612          #define MCPF_SMBUS_UDID1_1_BYTE_5                   (0xffL<<8)
613          #define MCPF_SMBUS_UDID1_1_BYTE_6                   (0xffL<<16)
614          #define MCPF_SMBUS_UDID1_1_BYTE_7                   (0xffL<<24)
615  
616      u32_t mcpf_smbus_udid1_0;
617          #define MCPF_SMBUS_UDID1_0_BYTE_0                   (0xffL<<0)
618          #define MCPF_SMBUS_UDID1_0_BYTE_1                   (0xffL<<8)
619          #define MCPF_SMBUS_UDID1_0_BYTE_2                   (0xffL<<16)
620          #define MCPF_SMBUS_UDID1_0_BYTE_3                   (0xffL<<24)
621  
622      u32_t mcpf_unused5[212];
623      u32_t mcpf_unused6[256];
624      u32_t mcpf_legacy_unused_legacy_smb[9];
625      u32_t mcpf_unused7[247];
626      u32_t mcpf_unused_k[15616];
627      u32_t mcpf_ump_cmd;
628          #define MCPF_UMP_CMD_EGRESS_FIFO_ENABLED            (1L<<0)
629          #define MCPF_UMP_CMD_INGRESS_FIFO_ENABLED           (1L<<1)
630          #define MCPF_UMP_CMD_FC_EN                          (1L<<2)
631          #define MCPF_UMP_CMD_MAC_LOOPBACK                   (1L<<3)
632          #define MCPF_UMP_CMD_EGRESS_MAC_DISABLE             (1L<<5)
633          #define MCPF_UMP_CMD_INGRESS_MAC_DISABLE            (1L<<6)
634          #define MCPF_UMP_CMD_INGRESS_DRIVE                  (1L<<8)
635          #define MCPF_UMP_CMD_SW_PAUSE                       (1L<<9)
636          #define MCPF_UMP_CMD_AUTO_DRIVE                     (1L<<13)
637          #define MCPF_UMP_CMD_INGRESS_RESET                  (1L<<14)
638          #define MCPF_UMP_CMD_NO_PLUS_TWO                    (1L<<15)
639          #define MCPF_UMP_CMD_EGRESS_PKT_FLUSH               (1L<<16)
640          #define MCPF_UMP_CMD_CMD_IPG                        (0x1fL<<17)
641          #define MCPF_UMP_CMD_EGRESS_FIO_RESET               (1L<<28)
642          #define MCPF_UMP_CMD_INGRESS_FIO_RESET              (1L<<29)
643          #define MCPF_UMP_CMD_EGRESS_MAC_RESET               (1L<<30)
644          #define MCPF_UMP_CMD_INGRESS_MAC_RESET              (1L<<31)
645  
646      u32_t mcpf_ump_config;
647          #define MCPF_UMP_CONFIG_RMII_MODE                   (1L<<4)
648          #define MCPF_UMP_CONFIG_RVMII_MODE                  (1L<<6)
649          #define MCPF_UMP_CONFIG_INGRESS_MODE                (1L<<7)
650          #define MCPF_UMP_CONFIG_INGRESS_WORD_ACCM           (0xffL<<8)
651          #define MCPF_UMP_CONFIG_OLD_BCNT_RDY                (1L<<24)
652  
653      u32_t mcpf_ump_fc_trip;
654          #define MCPF_UMP_FC_TRIP_XON_TRIP                   (0x1ffL<<0)
655          #define MCPF_UMP_FC_TRIP_XOFF_TRIP                  (0x1ffL<<16)
656  
657      u32_t mcpf_unused_e[33];
658      u32_t mcpf_ump_egress_frm_rd_status;
659          #define MCPF_UMP_EGRESS_FRM_RD_STATUS_NEW_FRM       (1L<<0)
660          #define MCPF_UMP_EGRESS_FRM_RD_STATUS_FRM_IN_PRO    (1L<<1)
661          #define MCPF_UMP_EGRESS_FRM_RD_STATUS_FIFO_EMPTY    (1L<<2)
662          #define MCPF_UMP_EGRESS_FRM_RD_STATUS_BCNT          (0x7ffL<<3)
663          #define MCPF_UMP_EGRESS_FRM_RD_STATUS_EGRESS_FIFO_STATE  (0x1fL<<27)
664              #define MCPF_UMP_EGRESS_FRM_RD_STATUS_EGRESS_FIFO_STATE_IDLE  (0L<<27)
665              #define MCPF_UMP_EGRESS_FRM_RD_STATUS_EGRESS_FIFO_STATE_READY  (1L<<27)
666              #define MCPF_UMP_EGRESS_FRM_RD_STATUS_EGRESS_FIFO_STATE_BUSY  (2L<<27)
667              #define MCPF_UMP_EGRESS_FRM_RD_STATUS_EGRESS_FIFO_STATE_EXTRA_RD  (3L<<27)
668              #define MCPF_UMP_EGRESS_FRM_RD_STATUS_EGRESS_FIFO_STATE_LATCH_IP_HDR  (4L<<27)
669  
670      u32_t mcpf_ump_egress_frm_rd_data;
671      u32_t mcpf_ump_ingress_frm_wr_ctl;
672          #define MCPF_UMP_INGRESS_FRM_WR_CTL_NEW_FRM         (1L<<0)
673          #define MCPF_UMP_INGRESS_FRM_WR_CTL_FIFO_RDY        (1L<<1)
674          #define MCPF_UMP_INGRESS_FRM_WR_CTL_BCNT_RDY        (1L<<2)
675          #define MCPF_UMP_INGRESS_FRM_WR_CTL_BCNT            (0x7ffL<<3)
676          #define MCPF_UMP_INGRESS_FRM_WR_CTL_INGRESS_FIFO_STATE  (0x3L<<30)
677              #define MCPF_UMP_INGRESS_FRM_WR_CTL_INGRESS_FIFO_STATE_IDLE  (0L<<30)
678              #define MCPF_UMP_INGRESS_FRM_WR_CTL_INGRESS_FIFO_STATE_WAIT  (1L<<30)
679              #define MCPF_UMP_INGRESS_FRM_WR_CTL_INGRESS_FIFO_STATE_BUSY  (2L<<30)
680              #define MCPF_UMP_INGRESS_FRM_WR_CTL_INGRESS_FIFO_STATE_EXTRA_WR  (3L<<30)
681  
682      u32_t mcpf_ump_ingress_frm_wr_data;
683      u32_t mcpf_ump_egress_frame_type;
684      u32_t mcpf_ump_fifo_remaining_words;
685          #define MCPF_UMP_FIFO_REMAINING_WORDS_EGRESS_FIFO_DEPTH  (0x7ffL<<0)
686          #define MCPF_UMP_FIFO_REMAINING_WORDS_EGRESS_FIFO_UNDERFLOW  (1L<<14)
687          #define MCPF_UMP_FIFO_REMAINING_WORDS_EGRESS_FIFO_OVERFLOW  (1L<<15)
688          #define MCPF_UMP_FIFO_REMAINING_WORDS_INGRESS_FIFO_DEPTH  (0x3ffL<<16)
689          #define MCPF_UMP_FIFO_REMAINING_WORDS_INGRESS_FIFO_UNDERFLOW  (1L<<30)
690          #define MCPF_UMP_FIFO_REMAINING_WORDS_INGRESS_FIFO_OVERFLOW  (1L<<31)
691  
692      u32_t mcpf_ump_egress_fifo_ptrs;
693          #define MCPF_UMP_EGRESS_FIFO_PTRS_EGRESS_FIFO_RD_PTR  (0xfffL<<0)
694          #define MCPF_UMP_EGRESS_FIFO_PTRS_UPDATE_RDPTR      (1L<<15)
695          #define MCPF_UMP_EGRESS_FIFO_PTRS_EGRESS_FIFO_WR_PTR  (0xfffL<<16)
696          #define MCPF_UMP_EGRESS_FIFO_PTRS_UPDATE_WRPTR      (1L<<31)
697  
698      u32_t mcpf_ump_ingress_fifo_ptrs;
699          #define MCPF_UMP_INGRESS_FIFO_PTRS_INGRESS_FIFO_RD_PTR  (0x7ffL<<0)
700          #define MCPF_UMP_INGRESS_FIFO_PTRS_UPDATE_RDPTR     (1L<<15)
701          #define MCPF_UMP_INGRESS_FIFO_PTRS_INGRESS_FIFO_WR_PTR  (0x7ffL<<16)
702          #define MCPF_UMP_INGRESS_FIFO_PTRS_UPDATE_WRPTR     (1L<<31)
703  
704      u32_t mcpf_unused_z[1];
705      u32_t mcpf_ump_egress_packet_sa_0;
706          #define MCPF_UMP_EGRESS_PACKET_SA_0_EGRESS_SA       (0xffffL<<0)
707  
708      u32_t mcpf_ump_egress_packet_sa_1;
709          #define MCPF_UMP_EGRESS_PACKET_SA_1_EGRESS_SA       (0xffffffffL<<0)
710  
711      u32_t mcpf_ump_ingress_burst_command;
712          #define MCPF_UMP_INGRESS_BURST_COMMAND_INGRESS_DMA_START  (1L<<0)
713          #define MCPF_UMP_INGRESS_BURST_COMMAND_INGRESS_PORT  (1L<<1)
714          #define MCPF_UMP_INGRESS_BURST_COMMAND_DMA_LENGTH   (0x7ffL<<2)
715          #define MCPF_UMP_INGRESS_BURST_COMMAND_INGRESS_PORT_EXT  (0x3L<<13)
716          #define MCPF_UMP_INGRESS_BURST_COMMAND_RBUF_OFFSET  (0x3fffL<<16)
717  
718      u32_t mcpf_ump_ingress_rbuf_cluster;
719          #define MCPF_UMP_INGRESS_RBUF_CLUSTER_RBUF_CLUSTER  (0x1ffffffL<<0)
720  
721      u32_t mcpf_ump_ingress_vlan;
722          #define MCPF_UMP_INGRESS_VLAN_INGRESS_VLAN_TAG      (0xffffL<<0)
723          #define MCPF_UMP_INGRESS_VLAN_VLAN_INS              (1L<<16)
724          #define MCPF_UMP_INGRESS_VLAN_VLAN_DEL              (1L<<17)
725  
726      u32_t mcpf_ump_ingress_burst_status;
727          #define MCPF_UMP_INGRESS_BURST_STATUS_RESULT        (0x3L<<0)
728              #define MCPF_UMP_INGRESS_BURST_STATUS_RESULT_BUSY  (0L<<0)
729              #define MCPF_UMP_INGRESS_BURST_STATUS_RESULT_DONE  (1L<<0)
730              #define MCPF_UMP_INGRESS_BURST_STATUS_RESULT_ERR  (2L<<0)
731              #define MCPF_UMP_INGRESS_BURST_STATUS_RESULT_ERR1  (3L<<0)
732  
733      u32_t mcpf_ump_egress_burst_command;
734          #define MCPF_UMP_EGRESS_BURST_COMMAND_EGRESS_DMA_START  (1L<<0)
735          #define MCPF_UMP_EGRESS_BURST_COMMAND_EGRESS_PORT   (1L<<1)
736          #define MCPF_UMP_EGRESS_BURST_COMMAND_DMA_LENGTH    (0x7ffL<<2)
737          #define MCPF_UMP_EGRESS_BURST_COMMAND_EGRESS_PORT_EXT  (1L<<13)
738          #define MCPF_UMP_EGRESS_BURST_COMMAND_TPBUF_OFFSET  (0x1fffL<<16)
739  
740      u32_t mcpf_ump_egress_vlan;
741          #define MCPF_UMP_EGRESS_VLAN_EGRESS_VLAN_TAG        (0xffffL<<0)
742          #define MCPF_UMP_EGRESS_VLAN_VLAN_INS               (1L<<16)
743          #define MCPF_UMP_EGRESS_VLAN_VLAN_DEL               (1L<<17)
744  
745      u32_t mcpf_ump_egress_burst_status;
746          #define MCPF_UMP_EGRESS_BURST_STATUS_RESULT         (0x3L<<0)
747              #define MCPF_UMP_EGRESS_BURST_STATUS_RESULT_BUSY  (0L<<0)
748              #define MCPF_UMP_EGRESS_BURST_STATUS_RESULT_DONE  (1L<<0)
749              #define MCPF_UMP_EGRESS_BURST_STATUS_RESULT_ERR0  (2L<<0)
750              #define MCPF_UMP_EGRESS_BURST_STATUS_RESULT_RSVD  (3L<<0)
751  
752      u32_t mcpf_ump_egress_statistic;
753          #define MCPF_UMP_EGRESS_STATISTIC_EGRESS_GOOD_CNT   (0xffffL<<0)
754          #define MCPF_UMP_EGRESS_STATISTIC_EGRESS_ERROR_CNT  (0xffL<<16)
755          #define MCPF_UMP_EGRESS_STATISTIC_EGRESS_DROP_CNT   (0xffL<<24)
756  
757      u32_t mcpf_ump_ingress_statistic;
758          #define MCPF_UMP_INGRESS_STATISTIC_INGRESS_PKT_CNT  (0xffffL<<0)
759  
760      u32_t mcpf_ump_arb_cmd;
761          #define MCPF_UMP_ARB_CMD_UMP_ID                     (0x7L<<0)
762          #define MCPF_UMP_ARB_CMD_UMP_ARB_DISABLE            (1L<<4)
763          #define MCPF_UMP_ARB_CMD_UMP_ARB_START              (1L<<5)
764          #define MCPF_UMP_ARB_CMD_UMP_ARB_BYPASS             (1L<<6)
765          #define MCPF_UMP_ARB_CMD_UMP_ARB_AUTOBYPASS         (1L<<7)
766          #define MCPF_UMP_ARB_CMD_UMP_ARB_TOKEN_IPG          (0x1fL<<8)
767          #define MCPF_UMP_ARB_CMD_UMP_ARB_TOKEN_VALID        (1L<<13)
768          #define MCPF_UMP_ARB_CMD_UMP_ARB_FC_DISABLE         (1L<<15)
769          #define MCPF_UMP_ARB_CMD_UMP_ARB_TIMEOUT            (0xffffL<<16)
770  
771      u32_t mcpf_unused_f[2];
772      u32_t mcpf_ump_frame_count;
773          #define MCPF_UMP_FRAME_COUNT_EGRESS_FRAME_COUNT     (0x7fL<<0)
774          #define MCPF_UMP_FRAME_COUNT_INRESS_FRAME_COUNT     (0x1fL<<16)
775  
776      u32_t mcpf_ump_egress_statistic_ac;
777          #define MCPF_UMP_EGRESS_STATISTIC_AC_EGRESS_GOOD_CNT  (0xffffL<<0)
778          #define MCPF_UMP_EGRESS_STATISTIC_AC_EGRESS_ERROR_CNT  (0xffL<<16)
779          #define MCPF_UMP_EGRESS_STATISTIC_AC_EGRESS_DROP_CNT  (0xffL<<24)
780  
781      u32_t mcpf_ump_ingress_statistic_ac;
782          #define MCPF_UMP_INGRESS_STATISTIC_AC_INGRESS_PKT_CNT  (0xffffL<<0)
783  
784      u32_t mcpf_ump_event;
785          #define MCPF_UMP_EVENT_INGRESS_RDY_EVENT            (1L<<0)
786          #define MCPF_UMP_EVENT_EGRESS_RDY_EVENT             (1L<<1)
787          #define MCPF_UMP_EVENT_INGRESSBURST_DONE_EVENT      (1L<<2)
788          #define MCPF_UMP_EVENT_EGRESSBURST_DONE_EVENT       (1L<<3)
789          #define MCPF_UMP_EVENT_EGRESS_FRAME_DROP_EVENT      (1L<<4)
790          #define MCPF_UMP_EVENT_INGRESS_RDY_EVENT_EN         (1L<<16)
791          #define MCPF_UMP_EVENT_EGRESS_RDY_EVENT_EN          (1L<<17)
792          #define MCPF_UMP_EVENT_INGRESSBURST_DONE_EVENT_EN   (1L<<18)
793          #define MCPF_UMP_EVENT_EGRESSBURST_DONE_EVENT_EN    (1L<<19)
794          #define MCPF_UMP_EVENT_EGRESS_FRAME_DROP_EVENT_EN   (1L<<20)
795  
796      u32_t mcpf_unused8[4033];
797      u32_t mcpf_ump_egress_fifo_flat_space[1920];
798      u32_t mcpf_unused9[128];
799      u32_t mcpf_ump_ingress_fifo_flat_space[768];
800      u32_t mcpf_unused10[1280];
801      u32_t mcpf_unused11[65536];
802  } mcp_fio_t;
803  
804  #endif /* MCP_FIO_H */
805