1*14b24e2bSVaishali Kulkarni /*
2*14b24e2bSVaishali Kulkarni * CDDL HEADER START
3*14b24e2bSVaishali Kulkarni *
4*14b24e2bSVaishali Kulkarni * The contents of this file are subject to the terms of the
5*14b24e2bSVaishali Kulkarni * Common Development and Distribution License, v.1,  (the "License").
6*14b24e2bSVaishali Kulkarni * You may not use this file except in compliance with the License.
7*14b24e2bSVaishali Kulkarni *
8*14b24e2bSVaishali Kulkarni * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*14b24e2bSVaishali Kulkarni * or http://opensource.org/licenses/CDDL-1.0.
10*14b24e2bSVaishali Kulkarni * See the License for the specific language governing permissions
11*14b24e2bSVaishali Kulkarni * and limitations under the License.
12*14b24e2bSVaishali Kulkarni *
13*14b24e2bSVaishali Kulkarni * When distributing Covered Code, include this CDDL HEADER in each
14*14b24e2bSVaishali Kulkarni * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*14b24e2bSVaishali Kulkarni * If applicable, add the following below this CDDL HEADER, with the
16*14b24e2bSVaishali Kulkarni * fields enclosed by brackets "[]" replaced with your own identifying
17*14b24e2bSVaishali Kulkarni * information: Portions Copyright [yyyy] [name of copyright owner]
18*14b24e2bSVaishali Kulkarni *
19*14b24e2bSVaishali Kulkarni * CDDL HEADER END
20*14b24e2bSVaishali Kulkarni */
21*14b24e2bSVaishali Kulkarni 
22*14b24e2bSVaishali Kulkarni /*
23*14b24e2bSVaishali Kulkarni * Copyright 2014-2017 Cavium, Inc.
24*14b24e2bSVaishali Kulkarni * The contents of this file are subject to the terms of the Common Development
25*14b24e2bSVaishali Kulkarni * and Distribution License, v.1,  (the "License").
26*14b24e2bSVaishali Kulkarni 
27*14b24e2bSVaishali Kulkarni * You may not use this file except in compliance with the License.
28*14b24e2bSVaishali Kulkarni 
29*14b24e2bSVaishali Kulkarni * You can obtain a copy of the License at available
30*14b24e2bSVaishali Kulkarni * at http://opensource.org/licenses/CDDL-1.0
31*14b24e2bSVaishali Kulkarni 
32*14b24e2bSVaishali Kulkarni * See the License for the specific language governing permissions and
33*14b24e2bSVaishali Kulkarni * limitations under the License.
34*14b24e2bSVaishali Kulkarni */
35*14b24e2bSVaishali Kulkarni 
36*14b24e2bSVaishali Kulkarni /*
37*14b24e2bSVaishali Kulkarni  *  mcp_fio definition
38*14b24e2bSVaishali Kulkarni  *  offset: 0x80000000
39*14b24e2bSVaishali Kulkarni  */
40*14b24e2bSVaishali Kulkarni #ifndef MCP_FIO_H
41*14b24e2bSVaishali Kulkarni #define MCP_FIO_H
42*14b24e2bSVaishali Kulkarni 
43*14b24e2bSVaishali Kulkarni typedef struct mcp_fio
44*14b24e2bSVaishali Kulkarni {
45*14b24e2bSVaishali Kulkarni     u32_t mcpf_events_bits;
46*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_BMB_WRITE_DONE             (1L<<0)
47*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_BMB_READ_RDY               (1L<<1)
48*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_P2M_ATTN                   (1L<<2)
49*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_SMBUS_EVENT                (1L<<3)
50*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_FLASH_EVENT                (1L<<4)
51*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_RESERVED0                  (1L<<5)
52*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_MAIN_TEMPERATURE_RESET     (1L<<6)
53*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_MGMT_TEMPERATURE_RESET     (1L<<7)
54*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_EXP_ROM                    (1L<<8)
55*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_VPD                        (1L<<9)
56*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_FLASH                      (1L<<10)
57*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_SMB0                       (1L<<11)
58*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_CNIG                       (1L<<12)
59*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_PGLUE_MISC_MCTP_ATTN       (1L<<13)
60*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_RESERVED1                  (1L<<14)
61*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO0                      (1L<<15)
62*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO1                      (1L<<16)
63*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO2                      (1L<<17)
64*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO3                      (1L<<18)
65*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO4                      (1L<<19)
66*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO5                      (1L<<20)
67*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO6                      (1L<<21)
68*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GPIO7                      (1L<<22)
69*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_SW_TMR_1                   (1L<<23)
70*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_SW_TMR_2                   (1L<<24)
71*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_SW_TMR_3                   (1L<<25)
72*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_SW_TMR_4                   (1L<<26)
73*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_PERST_N_ASSERT             (1L<<27)
74*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_PERST_N_DEASSERT           (1L<<28)
75*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_GP_EVENT                   (1L<<29)
76*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_NOT_ENABLED                (1L<<30)
77*14b24e2bSVaishali Kulkarni         #define MCPF_EVENTS_BITS_ATTENTIONS_VALID           (1L<<31)
78*14b24e2bSVaishali Kulkarni 
79*14b24e2bSVaishali Kulkarni     u32_t mcpf_attentions_bits;
80*14b24e2bSVaishali Kulkarni 	/* Added by Yaniv on 18/5/15. Can add additional interrupts by setting AEU to MCP output 0..7.
81*14b24e2bSVaishali Kulkarni 	 * When adding new field, here, need to add also define to INUM_ATTENTION_XXX, and add new function to
82*14b24e2bSVaishali Kulkarni 	 * mcp_attention_handler array in the INUM_ATTENTION_XXX location.
83*14b24e2bSVaishali Kulkarni 	 */
84*14b24e2bSVaishali Kulkarni 	#define MCPF_ATTENTIONS_BITS_PARITY_ERROR           (1L<<0)
85*14b24e2bSVaishali Kulkarni         #define MCPF_ATTENTIONS_BITS_ATTN                   (0xffL<<0)
86*14b24e2bSVaishali Kulkarni 
87*14b24e2bSVaishali Kulkarni     u32_t mcpf_event_enable;
88*14b24e2bSVaishali Kulkarni     u32_t mcpf_attention_enable;
89*14b24e2bSVaishali Kulkarni     u32_t mcpf_fio_status;
90*14b24e2bSVaishali Kulkarni         #define MCPF_FIO_STATUS_ENABLED                     (1L<<0)
91*14b24e2bSVaishali Kulkarni         #define MCPF_FIO_STATUS_FORCE_ENA                   (1L<<1)
92*14b24e2bSVaishali Kulkarni 
93*14b24e2bSVaishali Kulkarni     u32_t mcpf_interrupt_status;
94*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_EVENT0_E0             (1L<<0)
95*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_ATTN0_E0              (1L<<1)
96*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_EVENT1_E0             (1L<<2)
97*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_ATTN1_E0              (1L<<3)
98*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_EVENT0_E1             (1L<<4)
99*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_ATTN0_E1              (1L<<5)
100*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_EVENT1_E1             (1L<<6)
101*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_ATTN1_E1              (1L<<7)
102*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_EVENT2_E0             (1L<<8)
103*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_ATTN2_E0              (1L<<9)
104*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_EVENT3_E0             (1L<<10)
105*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_ATTN3_E0              (1L<<11)
106*14b24e2bSVaishali Kulkarni         #define MCPF_INTERRUPT_STATUS_SOFT_INTERRUPT        (1L<<31)
107*14b24e2bSVaishali Kulkarni 
108*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_a[2];
109*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_b[16];
110*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_c[4];
111*14b24e2bSVaishali Kulkarni     u32_t mcpf_free_counter_value;
112*14b24e2bSVaishali Kulkarni     u32_t mcpf_timesync_clock_e0_0;
113*14b24e2bSVaishali Kulkarni     u32_t mcpf_timesync_clock_e0_1;
114*14b24e2bSVaishali Kulkarni     u32_t mcpf_timesync_clock_e1_0;
115*14b24e2bSVaishali Kulkarni     u32_t mcpf_timesync_clock_e1_1;
116*14b24e2bSVaishali Kulkarni     u32_t mcpf_soft_interrupt;
117*14b24e2bSVaishali Kulkarni         #define MCPF_SOFT_INTERRUPT_INTERRUPT               (1L<<31)
118*14b24e2bSVaishali Kulkarni 
119*14b24e2bSVaishali Kulkarni     u32_t mcpf_program_counter;
120*14b24e2bSVaishali Kulkarni         #define MCPF_PROGRAM_COUNTER_INTERRUPT              (0xffffffffL<<0)
121*14b24e2bSVaishali Kulkarni 
122*14b24e2bSVaishali Kulkarni     u32_t mcpf_mcp_doorbell_status;
123*14b24e2bSVaishali Kulkarni         #define MCPF_MCP_DOORBELL_STATUS_STATUS             (0xffffL<<0)
124*14b24e2bSVaishali Kulkarni 
125*14b24e2bSVaishali Kulkarni     u32_t mcpf_dbg_mux_message;
126*14b24e2bSVaishali Kulkarni         #define MCPF_DBG_MUX_MESSAGE_DATA                   (0xffffffffL<<0)
127*14b24e2bSVaishali Kulkarni 
128*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_d[10];
129*14b24e2bSVaishali Kulkarni     u32_t mcpf_mcp_vfid;
130*14b24e2bSVaishali Kulkarni         #define MCPF_MCP_VFID_VFID                          (0xffL<<0)
131*14b24e2bSVaishali Kulkarni         #define MCPF_MCP_VFID_VFID_VALID                    (1L<<16)
132*14b24e2bSVaishali Kulkarni         #define MCPF_MCP_VFID_PATHID                        (1L<<20)
133*14b24e2bSVaishali Kulkarni         #define MCPF_MCP_VFID_FIO_REG_EN                    (1L<<30)
134*14b24e2bSVaishali Kulkarni         #define MCPF_MCP_VFID_PATH_FORCE                    (1L<<31)
135*14b24e2bSVaishali Kulkarni 
136*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_e[80];
137*14b24e2bSVaishali Kulkarni     u32_t mcpf_mult_status;
138*14b24e2bSVaishali Kulkarni         #define MCPF_MULT_STATUS_MULTIPLY_DONE              (1L<<0)
139*14b24e2bSVaishali Kulkarni 
140*14b24e2bSVaishali Kulkarni     u32_t mcpf_mult_result;
141*14b24e2bSVaishali Kulkarni     u32_t mcpf_mult_a;
142*14b24e2bSVaishali Kulkarni         #define MCPF_MULT_A_VALUE                           (0xffffL<<0)
143*14b24e2bSVaishali Kulkarni 
144*14b24e2bSVaishali Kulkarni     u32_t mcpf_mult_b;
145*14b24e2bSVaishali Kulkarni         #define MCPF_MULT_B_VALUE                           (0xffffL<<0)
146*14b24e2bSVaishali Kulkarni 
147*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_f[39036];
148*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_command;
149*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_RST                        (1L<<0)
150*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_DONE                       (1L<<3)
151*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_DOIT                       (1L<<4)
152*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_WR                         (1L<<5)
153*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_ERASE                      (1L<<6)
154*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_FIRST                      (1L<<7)
155*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_LAST                       (1L<<8)
156*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_ADDR_INCR                  (1L<<9)
157*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_WREN                       (1L<<16)
158*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_WRDI                       (1L<<17)
159*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_ERASE_ALL                  (1L<<18)
160*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_RD_ID                      (1L<<20)
161*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_RD_STATUS                  (1L<<21)
162*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_COMMAND_MODE_256                   (1L<<22)
163*14b24e2bSVaishali Kulkarni 
164*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_status;
165*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_STATUS_SPI_FSM_STATE               (0x1fL<<0)
166*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_IDLE  (0L<<0)
167*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD0  (1L<<0)
168*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD1  (2L<<0)
169*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD_FINISH0  (3L<<0)
170*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CMD_FINISH1  (4L<<0)
171*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_ADDR0  (5L<<0)
172*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA0  (6L<<0)
173*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA1  (7L<<0)
174*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA2  (8L<<0)
175*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WRITE_DATA3  (9L<<0)
176*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA0  (10L<<0)
177*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA1  (11L<<0)
178*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_DATA2  (12L<<0)
179*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID0  (13L<<0)
180*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID1  (14L<<0)
181*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID2  (15L<<0)
182*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID3  (16L<<0)
183*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_READ_STATUS_RDID4  (17L<<0)
184*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_CHECK_BUSY  (18L<<0)
185*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_FIRST_WR  (19L<<0)
186*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_ERASE  (20L<<0)
187*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WAIT  (21L<<0)
188*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WAIT1  (22L<<0)
189*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_LOAD_BUFFER  (23L<<0)
190*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_RDATA_2_BUFFER0  (24L<<0)
191*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_RDATA_2_BUFFER1  (25L<<0)
192*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_RDATA_2_BUFFER2  (26L<<0)
193*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_RDATA_2_BUFFER3  (27L<<0)
194*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_STORE_BUFFER0  (28L<<0)
195*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_STORE_BUFFER1  (29L<<0)
196*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WDATA_2_BUFFER0  (30L<<0)
197*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_STATUS_SPI_FSM_STATE_SPI_WDATA_2_BUFFER1  (31L<<0)
198*14b24e2bSVaishali Kulkarni 
199*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_write;
200*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_WRITE_NVM_WRITE_VALUE              (0xffffffffL<<0)
201*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_BIT_BANG  (0L<<0)
202*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_SI       (1L<<0)
203*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_SO       (2L<<0)
204*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_CS_B     (4L<<0)
205*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_WRITE_NVM_WRITE_VALUE_SCLK     (8L<<0)
206*14b24e2bSVaishali Kulkarni 
207*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_addr;
208*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_ADDR_NVM_ADDR_VALUE                (0xffffffL<<0)
209*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_BIT_BANG   (0L<<0)
210*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_SI         (1L<<0)
211*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_SO         (2L<<0)
212*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_CS_B       (4L<<0)
213*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_ADDR_NVM_ADDR_VALUE_SCLK       (8L<<0)
214*14b24e2bSVaishali Kulkarni 
215*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_read;
216*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_READ_NVM_READ_VALUE                (0xffffffffL<<0)
217*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_READ_NVM_READ_VALUE_BIT_BANG   (0L<<0)
218*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_READ_NVM_READ_VALUE_SI         (1L<<0)
219*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_READ_NVM_READ_VALUE_SO         (2L<<0)
220*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_READ_NVM_READ_VALUE_CS_B       (4L<<0)
221*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_READ_NVM_READ_VALUE_SCLK       (8L<<0)
222*14b24e2bSVaishali Kulkarni 
223*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_cfg1;
224*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_FLASH_MODE                    (1L<<0)
225*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_BUFFER_MODE                   (1L<<1)
226*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_PASS_MODE                     (1L<<2)
227*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_BITBANG_MODE                  (1L<<3)
228*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_STATUS_BIT                    (0x7L<<4)
229*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_SPI_CLK_DIV                   (0xfL<<7)
230*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_SEE_CLK_DIV                   (0x7ffL<<11)
231*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_STRAP_CONTROL_0               (1L<<23)
232*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_PROTECT_MODE                  (1L<<24)
233*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_FLASH_SIZE                    (1L<<25)
234*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_FW_USTRAP_1                   (1L<<26)
235*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_FW_USTRAP_0                   (1L<<27)
236*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_FW_USTRAP_2                   (1L<<28)
237*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_FW_USTRAP_3                   (1L<<29)
238*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_FW_FLASH_TYPE_EN              (1L<<30)
239*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG1_COMPAT_BYPASSS                (1L<<31)
240*14b24e2bSVaishali Kulkarni 
241*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_cfg2;
242*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG2_ERASE_CMD                     (0xffL<<0)
243*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG2_CSB_W                         (0xffL<<8)
244*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG2_STATUS_CMD                    (0xffL<<16)
245*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG2_READ_ID_CMD                   (0xffL<<24)
246*14b24e2bSVaishali Kulkarni 
247*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_cfg3;
248*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG3_BUFFER_RD_CMD                 (0xffL<<0)
249*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG3_WRITE_CMD                     (0xffL<<8)
250*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG3_FAST_READ_CMD                 (0xffL<<16)
251*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG3_READ_CMD                      (0xffL<<24)
252*14b24e2bSVaishali Kulkarni 
253*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_sw_arb;
254*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_SET0                (1L<<0)
255*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_SET1                (1L<<1)
256*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_SET2                (1L<<2)
257*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_SET3                (1L<<3)
258*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_CLR0                (1L<<4)
259*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_CLR1                (1L<<5)
260*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_CLR2                (1L<<6)
261*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_REQ_CLR3                (1L<<7)
262*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_ARB0                    (1L<<8)
263*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_ARB1                    (1L<<9)
264*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_ARB2                    (1L<<10)
265*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_ARB_ARB3                    (1L<<11)
266*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_REQ0                        (1L<<12)
267*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_REQ1                        (1L<<13)
268*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_REQ2                        (1L<<14)
269*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_SW_ARB_REQ3                        (1L<<15)
270*14b24e2bSVaishali Kulkarni 
271*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_jedec_id;
272*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_JEDEC_ID_EXTENDED_DEVICE_INFO_LENGTH  (0xffL<<0)
273*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_JEDEC_ID_DEVICE_ID                 (0xffffL<<8)
274*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_JEDEC_ID_MANUFACTURE_ID            (0xffL<<24)
275*14b24e2bSVaishali Kulkarni 
276*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_cfg5;
277*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG5_WREN_CMD                      (0xffL<<0)
278*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG5_WRDI_CMD                      (0xffL<<8)
279*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG5_ERASE_ALL_CMD                 (0xffL<<16)
280*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG5_USE_BUFFER                    (1L<<30)
281*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG5_USE_LEGACY_SPI_FSM            (1L<<31)
282*14b24e2bSVaishali Kulkarni 
283*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_cfg4;
284*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_FLASH_SIZE                    (0x7L<<0)
285*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_1MBIT          (0L<<0)
286*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_2MBIT          (1L<<0)
287*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_4MBIT          (2L<<0)
288*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_8MBIT          (3L<<0)
289*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_16MBIT         (4L<<0)
290*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_32MBIT         (5L<<0)
291*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_64MBIT         (6L<<0)
292*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_SIZE_128MBIT        (7L<<0)
293*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_FLASH_VENDOR                  (1L<<3)
294*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_VENDOR_ST           (0L<<3)
295*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_FLASH_VENDOR_ATMEL        (1L<<3)
296*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC        (0x3L<<4)
297*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT8  (0L<<4)
298*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT9  (1L<<4)
299*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT10  (2L<<4)
300*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_CFG4_MODE_256_EMPTY_BIT_LOC_BIT11  (3L<<4)
301*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_STATUS_BIT_POLARITY           (1L<<6)
302*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_FAST                          (1L<<7)
303*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SI_INPUT_RELAXED_TIMING       (1L<<8)
304*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_PASS_MODE_RELAXED_TIMING      (1L<<9)
305*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SR_TURNAROUND                 (1L<<10)
306*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_READ_DUMMY_CYCLES             (0xfL<<11)
307*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_FAST_READ_DUMMY_CYCLES        (0xfL<<15)
308*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SPI_SLOW_CLK_DIV              (0xfL<<19)
309*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_BUFFER_RD          (1L<<23)
310*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_ERASE              (1L<<24)
311*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_FAST_READ          (1L<<25)
312*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_READ               (1L<<26)
313*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_READ_ID            (1L<<27)
314*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_STATUS             (1L<<28)
315*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_WRDI               (1L<<29)
316*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_WREN               (1L<<30)
317*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_CFG4_SLOW_CLK_4_WRITE              (1L<<31)
318*14b24e2bSVaishali Kulkarni 
319*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_reconfig;
320*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_RECONFIG_ORIG_STRAP_VALUE          (0xfL<<0)
321*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_RECONFIG_ORIG_STRAP_VALUE_ST   (0L<<0)
322*14b24e2bSVaishali Kulkarni             #define MCPF_NVM_RECONFIG_ORIG_STRAP_VALUE_ATMEL  (1L<<0)
323*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_RECONFIG_RECONFIG_STRAP_VALUE      (0xfL<<4)
324*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_RECONFIG_RESERVED                  (0x7fffffL<<8)
325*14b24e2bSVaishali Kulkarni         #define MCPF_NVM_RECONFIG_RECONFIG_DONE             (1L<<31)
326*14b24e2bSVaishali Kulkarni 
327*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_nvm_unused[242];
328*14b24e2bSVaishali Kulkarni     u32_t mcpf_nvm_nvm_reg_end;
329*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_g[1536];
330*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_config;
331*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_HW_ARP_ASSIGN_ADDR        (1L<<7)
332*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_ARP_EN0                   (1L<<8)
333*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_ARP_EN1                   (1L<<9)
334*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_MASTER_RTRY_CNT           (0xfL<<16)
335*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_TIMESTAMP_CNT_EN          (1L<<26)
336*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_PROMISCOUS_MODE           (1L<<27)
337*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_EN_NIC_SMB_ADDR_0         (1L<<28)
338*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_BIT_BANG_EN               (1L<<29)
339*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_SMB_EN                    (1L<<30)
340*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_CONFIG_RESET                     (1L<<31)
341*14b24e2bSVaishali Kulkarni 
342*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_timing_config;
343*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_TIMING_CONFIG_SMBUS_IDLE_TIME    (0xffL<<8)
344*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_TIMING_CONFIG_PERIODIC_SLAVE_STRETCH  (0xffL<<16)
345*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_TIMING_CONFIG_RANDOM_SLAVE_STRETCH  (0x7fL<<24)
346*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_TIMING_CONFIG_MODE_400           (1L<<31)
347*14b24e2bSVaishali Kulkarni 
348*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_address;
349*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR0            (0x7fL<<0)
350*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR0         (1L<<7)
351*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR1            (0x7fL<<8)
352*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR1         (1L<<15)
353*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR2            (0x7fL<<16)
354*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR2         (1L<<23)
355*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_NIC_SMB_ADDR3            (0x7fL<<24)
356*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ADDRESS_EN_NIC_SMB_ADDR3         (1L<<31)
357*14b24e2bSVaishali Kulkarni 
358*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_master_fifo_control;
359*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_RX_FIFO_THRESHOLD  (0x7fL<<8)
360*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_RX_PKT_COUNT  (0x7fL<<16)
361*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_TX_FIFO_FLUSH  (1L<<30)
362*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_FIFO_CONTROL_MASTER_RX_FIFO_FLUSH  (1L<<31)
363*14b24e2bSVaishali Kulkarni 
364*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_slave_fifo_control;
365*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_RX_FIFO_THRESHOLD  (0x7fL<<8)
366*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_RX_PKT_COUNT  (0x7fL<<16)
367*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_TX_FIFO_FLUSH  (1L<<30)
368*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_FIFO_CONTROL_SLAVE_RX_FIFO_FLUSH  (1L<<31)
369*14b24e2bSVaishali Kulkarni 
370*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_bit_bang_control;
371*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBDAT_OUT_EN   (1L<<28)
372*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBDAT_IN       (1L<<29)
373*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBCLK_OUT_EN   (1L<<30)
374*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_BIT_BANG_CONTROL_SMBCLK_IN       (1L<<31)
375*14b24e2bSVaishali Kulkarni 
376*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_watchdog;
377*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_WATCHDOG_WATCHDOG                (0xffffL<<0)
378*14b24e2bSVaishali Kulkarni 
379*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_heartbeat;
380*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_HEARTBEAT_HEARTBEAT              (0xffffL<<0)
381*14b24e2bSVaishali Kulkarni 
382*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_poll_asf;
383*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_POLL_ASF_POLL_ASF                (0xffffL<<0)
384*14b24e2bSVaishali Kulkarni 
385*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_poll_legacy;
386*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_POLL_LEGACY_POLL_LEGACY          (0xffffL<<0)
387*14b24e2bSVaishali Kulkarni 
388*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_retran;
389*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_RETRAN_RETRAN                    (0xffL<<0)
390*14b24e2bSVaishali Kulkarni 
391*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_timestamp;
392*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_TIMESTAMP_TIMESTAMP              (0xffffffffL<<0)
393*14b24e2bSVaishali Kulkarni 
394*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_master_command;
395*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_COMMAND_RD_BYTE_COUNT     (0xffL<<0)
396*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_COMMAND_PEC               (1L<<8)
397*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL    (0xfL<<9)
398*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0000  (0L<<9)
399*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0001  (1L<<9)
400*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0010  (2L<<9)
401*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0011  (3L<<9)
402*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0100  (4L<<9)
403*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0101  (5L<<9)
404*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0110  (6L<<9)
405*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_0111  (7L<<9)
406*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1000  (8L<<9)
407*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1001  (9L<<9)
408*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1010  (10L<<9)
409*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_SMBUS_PROTOCOL_1011  (11L<<9)
410*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_COMMAND_STATUS            (0x7L<<25)
411*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_000    (0L<<25)
412*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_001    (1L<<25)
413*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_010    (2L<<25)
414*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_011    (3L<<25)
415*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_100    (4L<<25)
416*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_101    (5L<<25)
417*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_110    (6L<<25)
418*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_COMMAND_STATUS_111    (7L<<25)
419*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_COMMAND_ABORT             (1L<<30)
420*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_COMMAND_START_BUSY        (1L<<31)
421*14b24e2bSVaishali Kulkarni 
422*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_slave_command;
423*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_COMMAND_PEC                (1L<<8)
424*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_COMMAND_STATUS             (0x7L<<23)
425*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_COMMAND_STATUS_000     (0L<<23)
426*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_COMMAND_STATUS_101     (5L<<23)
427*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_COMMAND_STATUS_111     (7L<<23)
428*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_COMMAND_ABORT              (1L<<30)
429*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_COMMAND_START              (1L<<31)
430*14b24e2bSVaishali Kulkarni 
431*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_event_enable;
432*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_WATCHDOG_TO_EN      (1L<<0)
433*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_HEARTBEAT_TO_EN     (1L<<1)
434*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_POLL_ASF_TO_EN      (1L<<2)
435*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_POLL_LEGACY_TO_EN   (1L<<3)
436*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_RETRANSMIT_TO_EN    (1L<<4)
437*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_ARP_EVENT_EN  (1L<<20)
438*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RD_EVENT_EN   (1L<<21)
439*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_TX_UNDERRUN_EN  (1L<<22)
440*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_START_BUSY_EN  (1L<<23)
441*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RX_EVENT_EN   (1L<<24)
442*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RX_THRESHOLD_HIT_EN  (1L<<25)
443*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_SLAVE_RX_FIFO_FULL_EN  (1L<<26)
444*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_MASTER_TX_UNDERRUN_EN  (1L<<27)
445*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_MASTER_START_BUSY_EN  (1L<<28)
446*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_MASTER_RX_EVENT_EN  (1L<<29)
447*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_MASTER_RX_THRESHOLD_HIT_EN  (1L<<30)
448*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_ENABLE_MASTER_RX_FIFO_FULL_EN  (1L<<31)
449*14b24e2bSVaishali Kulkarni 
450*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_event_status;
451*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_WATCHDOG_TO         (1L<<0)
452*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_HEARTBEAT_TO        (1L<<1)
453*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_POLL_ASF_TO         (1L<<2)
454*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_POLL_LEGACY_TO      (1L<<3)
455*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_RETRANSMIT_TO       (1L<<4)
456*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_SLAVE_ARP_EVENT     (1L<<20)
457*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RD_EVENT      (1L<<21)
458*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_SLAVE_TX_UNDERRUN   (1L<<22)
459*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_SLAVE_START_BUSY    (1L<<23)
460*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RX_EVENT      (1L<<24)
461*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RX_THRESHOLD_HIT  (1L<<25)
462*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_SLAVE_RX_FIFO_FULL  (1L<<26)
463*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_MASTER_TX_UNDERRUN  (1L<<27)
464*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_MASTER_START_BUSY   (1L<<28)
465*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_MASTER_RX_EVENT     (1L<<29)
466*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_MASTER_RX_THRESHOLD_HIT  (1L<<30)
467*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_EVENT_STATUS_MASTER_RX_FIFO_FULL  (1L<<31)
468*14b24e2bSVaishali Kulkarni 
469*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_master_data_write;
470*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_DATA_WRITE_MASTER_SMBUS_WR_DATA  (0xffL<<0)
471*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_DATA_WRITE_WR_STATUS      (1L<<31)
472*14b24e2bSVaishali Kulkarni 
473*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_master_data_read;
474*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_DATA_READ_MASTER_SMBUS_RD_DATA  (0xffL<<0)
475*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_DATA_READ_PEC_ERR         (1L<<29)
476*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS       (0x3L<<30)
477*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_00  (0L<<30)
478*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_01  (1L<<30)
479*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_10  (2L<<30)
480*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_MASTER_DATA_READ_RD_STATUS_11  (3L<<30)
481*14b24e2bSVaishali Kulkarni 
482*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_slave_data_write;
483*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_DATA_WRITE_SLAVE_SMBUS_WR_DATA  (0xffL<<0)
484*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_DATA_WRITE_WR_STATUS       (1L<<31)
485*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_WRITE_WR_STATUS_0  (0L<<31)
486*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_WRITE_WR_STATUS_1  (1L<<31)
487*14b24e2bSVaishali Kulkarni 
488*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_slave_data_read;
489*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_DATA_READ_SLAVE_SMBUS_RD_DATA  (0xffL<<0)
490*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS       (0x3L<<28)
491*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_00  (0L<<28)
492*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_01  (1L<<28)
493*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_10  (2L<<28)
494*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_ERR_STATUS_11  (3L<<28)
495*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS        (0x3L<<30)
496*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_00  (0L<<30)
497*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_01  (1L<<30)
498*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_10  (2L<<30)
499*14b24e2bSVaishali Kulkarni             #define MCPF_SMBUS_SLAVE_DATA_READ_RD_STATUS_11  (3L<<30)
500*14b24e2bSVaishali Kulkarni 
501*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_smb_unused_1[12];
502*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_arp_state;
503*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ARP_STATE_AV_FLAG0               (1L<<0)
504*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ARP_STATE_AR_FLAG0               (1L<<1)
505*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ARP_STATE_AV_FLAG1               (1L<<4)
506*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_ARP_STATE_AR_FLAG1               (1L<<5)
507*14b24e2bSVaishali Kulkarni 
508*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_smb_unused_2[3];
509*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid0_3;
510*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_3_BYTE_12                  (0xffL<<0)
511*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_3_BYTE_13                  (0xffL<<8)
512*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_3_BYTE_14                  (0xffL<<16)
513*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_3_BYTE_15                  (0xffL<<24)
514*14b24e2bSVaishali Kulkarni 
515*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid0_2;
516*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_2_BYTE_8                   (0xffL<<0)
517*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_2_BYTE_9                   (0xffL<<8)
518*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_2_BYTE_10                  (0xffL<<16)
519*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_2_BYTE_11                  (0xffL<<24)
520*14b24e2bSVaishali Kulkarni 
521*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid0_1;
522*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_1_BYTE_4                   (0xffL<<0)
523*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_1_BYTE_5                   (0xffL<<8)
524*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_1_BYTE_6                   (0xffL<<16)
525*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_1_BYTE_7                   (0xffL<<24)
526*14b24e2bSVaishali Kulkarni 
527*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid0_0;
528*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_0_BYTE_0                   (0xffL<<0)
529*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_0_BYTE_1                   (0xffL<<8)
530*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_0_BYTE_2                   (0xffL<<16)
531*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID0_0_BYTE_3                   (0xffL<<24)
532*14b24e2bSVaishali Kulkarni 
533*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid1_3;
534*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_3_BYTE_12                  (0xffL<<0)
535*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_3_BYTE_13                  (0xffL<<8)
536*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_3_BYTE_14                  (0xffL<<16)
537*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_3_BYTE_15                  (0xffL<<24)
538*14b24e2bSVaishali Kulkarni 
539*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid1_2;
540*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_2_BYTE_8                   (0xffL<<0)
541*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_2_BYTE_9                   (0xffL<<8)
542*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_2_BYTE_10                  (0xffL<<16)
543*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_2_BYTE_11                  (0xffL<<24)
544*14b24e2bSVaishali Kulkarni 
545*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid1_1;
546*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_1_BYTE_4                   (0xffL<<0)
547*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_1_BYTE_5                   (0xffL<<8)
548*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_1_BYTE_6                   (0xffL<<16)
549*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_1_BYTE_7                   (0xffL<<24)
550*14b24e2bSVaishali Kulkarni 
551*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_udid1_0;
552*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_0_BYTE_0                   (0xffL<<0)
553*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_0_BYTE_1                   (0xffL<<8)
554*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_0_BYTE_2                   (0xffL<<16)
555*14b24e2bSVaishali Kulkarni         #define MCPF_SMBUS_UDID1_0_BYTE_3                   (0xffL<<24)
556*14b24e2bSVaishali Kulkarni 
557*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_smb_unused_3[211];
558*14b24e2bSVaishali Kulkarni     u32_t mcpf_smbus_smb_reg_end;
559*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_h[512];
560*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_status;
561*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_STATUS_M2P_BUSY                    (1L<<0)
562*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_STATUS_M2P_PKT_INUSE_ERROR         (1L<<1)
563*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_STATUS_M2P_PKT_OVERFLOW_ERROR      (1L<<2)
564*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_STATUS_M2P_PKT_UNDERFLOW_ERROR     (1L<<3)
565*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_STATUS_M2P_ZERO_LENGTH_ERROR       (1L<<4)
566*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_STATUS_M2P_DATA_SM                 (0x3L<<8)
567*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_STATUS_M2P_PKT_FIFO_STATUS         (0x3fL<<16)
568*14b24e2bSVaishali Kulkarni 
569*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_command;
570*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_COMMAND_SEND_PKT_TO_PXP            (1L<<0)
571*14b24e2bSVaishali Kulkarni 
572*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_vdm_length;
573*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_VDM_LENGTH_VDM_LENGTH              (0x7fL<<0)
574*14b24e2bSVaishali Kulkarni 
575*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_pci_id;
576*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_PCI_ID_PCI_ID                      (0xffffL<<0)
577*14b24e2bSVaishali Kulkarni 
578*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_vendor_id;
579*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_VENDOR_ID_VENDOR_ID                (0xffffL<<0)
580*14b24e2bSVaishali Kulkarni 
581*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_vq_id;
582*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_VQ_ID_VQR_ID                       (0x1fL<<0)
583*14b24e2bSVaishali Kulkarni 
584*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_src_fid;
585*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_SRC_FID_SRC_FID                    (0xffffL<<0)
586*14b24e2bSVaishali Kulkarni 
587*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_route_type;
588*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_ROUTE_TYPE_ROUTE_TYPE              (0x7L<<0)
589*14b24e2bSVaishali Kulkarni 
590*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_tag;
591*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_TAG_TAG                            (0xffL<<0)
592*14b24e2bSVaishali Kulkarni 
593*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_vendor_dword;
594*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_VENDOR_DWORD_VENDOR_DWORD          (0xffffffffL<<0)
595*14b24e2bSVaishali Kulkarni 
596*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_path_id;
597*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_PATH_ID_PATH_ID                    (1L<<0)
598*14b24e2bSVaishali Kulkarni 
599*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_tx_data_fifo;
600*14b24e2bSVaishali Kulkarni         #define MCPF_M2P_TX_DATA_FIFO_FIFO_DATA             (0xffffffffL<<0)
601*14b24e2bSVaishali Kulkarni 
602*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_unused[51];
603*14b24e2bSVaishali Kulkarni     u32_t mcpf_m2p_reg_end;
604*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_status;
605*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_STATUS_PKT_HDR_CNT                 (0x7fL<<0)
606*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_STATUS_RESERVED1                   (0x1ffL<<7)
607*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_STATUS_PKT_DATA_CNT                (0x1ffL<<16)
608*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_STATUS_RESERVED2                   (0x3fL<<25)
609*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_STATUS_P2M_ATTN_BIT                (1L<<31)
610*14b24e2bSVaishali Kulkarni 
611*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_config;
612*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_CONFIG_BACKPRESSURE_MODE           (1L<<0)
613*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_CONFIG_DRAIN_MODE                  (1L<<1)
614*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_CONFIG_VID_FILTER_DISCARD          (1L<<2)
615*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_CONFIG_RESERVED                    (0x1fffffffL<<3)
616*14b24e2bSVaishali Kulkarni 
617*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_vid_filt_config_0;
618*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VID_FILT_CONFIG_0_VID_FILT_VENDORID  (0xffffL<<0)
619*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VID_FILT_CONFIG_0_VID_FILT_DISCARD  (1L<<16)
620*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VID_FILT_CONFIG_0_VID_FILT_ENABLE  (1L<<17)
621*14b24e2bSVaishali Kulkarni 
622*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_vid_filt_config_1;
623*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VID_FILT_CONFIG_1_VID_FILT_VENDORID  (0xffffL<<0)
624*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VID_FILT_CONFIG_1_VID_FILT_DISCARD  (1L<<16)
625*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VID_FILT_CONFIG_1_VID_FILT_ENABLE  (1L<<17)
626*14b24e2bSVaishali Kulkarni 
627*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_tag_filt_config;
628*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_TAG_FILT_CONFIG_TAG_FILT_VALUE     (0xffL<<0)
629*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_TAG_FILT_CONFIG_TAG_FILT_MASK      (0xffL<<8)
630*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_TAG_FILT_CONFIG_TAG_FILT_DISCARD   (1L<<16)
631*14b24e2bSVaishali Kulkarni 
632*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_length_filt_config;
633*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_LENGTH_FILT_CONFIG_LENGTH_MIN_VALUE  (0x7fL<<0)
634*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_LENGTH_FILT_CONFIG_TAG_FILT_MASK   (0x7fL<<8)
635*14b24e2bSVaishali Kulkarni 
636*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_discard_stat_vendorid;
637*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_DISCARD_STAT_VENDORID_DISCARD_STAT_VENDORID  (0xffffffffL<<0)
638*14b24e2bSVaishali Kulkarni 
639*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_discard_stat_tag;
640*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_DISCARD_STAT_TAG_DISCARD_STAT_TAG  (0xffffffffL<<0)
641*14b24e2bSVaishali Kulkarni 
642*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_discard_stat_length;
643*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_DISCARD_STAT_LENGTH_DISCARD_STAT_LENGTH  (0xffffffffL<<0)
644*14b24e2bSVaishali Kulkarni 
645*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_drop_stat;
646*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_DROP_STAT_DROP_STAT                (0xffffffffL<<0)
647*14b24e2bSVaishali Kulkarni 
648*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_rcvd_stat;
649*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_RCVD_STAT_RCVD_STAT                (0xffffffffL<<0)
650*14b24e2bSVaishali Kulkarni 
651*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_hdr_single_reg;
652*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_HDR_SINGLE_REG_HEADER_SINGLE_REG_MODE  (0xffffffffL<<0)
653*14b24e2bSVaishali Kulkarni 
654*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_hdr_fifo_0;
655*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_HDR_FIFO_0_HEADER_0                (0xffffffffL<<0)
656*14b24e2bSVaishali Kulkarni 
657*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_hdr_fifo_1;
658*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_HDR_FIFO_1_HEADER_1                (0xffffffffL<<0)
659*14b24e2bSVaishali Kulkarni 
660*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_hdr_fifo_2;
661*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_HDR_FIFO_2_HEADER_2                (0xffffffffL<<0)
662*14b24e2bSVaishali Kulkarni 
663*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_hdr_fifo_3;
664*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_HDR_FIFO_3_HEADER_3                (0x7L<<0)
665*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_HDR_FIFO_3_RESERVED                (0x1fffffffL<<3)
666*14b24e2bSVaishali Kulkarni 
667*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_data_fifo;
668*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_DATA_FIFO_DATA                     (0xffffffffL<<0)
669*14b24e2bSVaishali Kulkarni 
670*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_vdm_length;
671*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VDM_LENGTH_VDM_LENGTH              (0x7fL<<0)
672*14b24e2bSVaishali Kulkarni 
673*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_pci_req_id;
674*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_PCI_REQ_ID_PCI_REQ_ID              (0xffffL<<0)
675*14b24e2bSVaishali Kulkarni 
676*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_vendor_id;
677*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VENDOR_ID_VENDOR_ID                (0xffffL<<0)
678*14b24e2bSVaishali Kulkarni 
679*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_fid;
680*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_FID_FID                            (0xffffL<<0)
681*14b24e2bSVaishali Kulkarni 
682*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_vendor_dword;
683*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_VENDOR_DWORD_VENDOR_DWORD          (0xffffffffL<<0)
684*14b24e2bSVaishali Kulkarni 
685*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_other_hdr_fields;
686*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_OTHER_HDR_FIELDS_PATH_ID           (1L<<0)
687*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_OTHER_HDR_FIELDS_ROUTING_FIELD     (0x7L<<4)
688*14b24e2bSVaishali Kulkarni         #define MCPF_P2M_OTHER_HDR_FIELDS_TAG               (0xffL<<16)
689*14b24e2bSVaishali Kulkarni 
690*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_unused[40];
691*14b24e2bSVaishali Kulkarni     u32_t mcpf_p2m_reg_end;
692*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_pim_nvram_base;
693*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_paging_enable;
694*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_PAGING_ENABLE_ENABLE             (1L<<0)
695*14b24e2bSVaishali Kulkarni 
696*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_fetch_completion;
697*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_0;
698*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_0_LOCK         (1L<<0)
699*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_0_ACTIVE       (1L<<1)
700*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_0_VALID        (1L<<2)
701*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_0_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
702*14b24e2bSVaishali Kulkarni 
703*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_1;
704*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_1_LOCK         (1L<<0)
705*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_1_ACTIVE       (1L<<1)
706*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_1_VALID        (1L<<2)
707*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_1_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
708*14b24e2bSVaishali Kulkarni 
709*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_2;
710*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_2_LOCK         (1L<<0)
711*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_2_ACTIVE       (1L<<1)
712*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_2_VALID        (1L<<2)
713*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_2_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
714*14b24e2bSVaishali Kulkarni 
715*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_3;
716*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_3_LOCK         (1L<<0)
717*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_3_ACTIVE       (1L<<1)
718*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_3_VALID        (1L<<2)
719*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_3_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
720*14b24e2bSVaishali Kulkarni 
721*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_4;
722*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_4_LOCK         (1L<<0)
723*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_4_ACTIVE       (1L<<1)
724*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_4_VALID        (1L<<2)
725*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_4_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
726*14b24e2bSVaishali Kulkarni 
727*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_5;
728*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_5_LOCK         (1L<<0)
729*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_5_ACTIVE       (1L<<1)
730*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_5_VALID        (1L<<2)
731*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_5_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
732*14b24e2bSVaishali Kulkarni 
733*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_6;
734*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_6_LOCK         (1L<<0)
735*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_6_ACTIVE       (1L<<1)
736*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_6_VALID        (1L<<2)
737*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_6_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
738*14b24e2bSVaishali Kulkarni 
739*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_7;
740*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_7_LOCK         (1L<<0)
741*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_7_ACTIVE       (1L<<1)
742*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_7_VALID        (1L<<2)
743*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_7_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
744*14b24e2bSVaishali Kulkarni 
745*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_8;
746*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_8_LOCK         (1L<<0)
747*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_8_ACTIVE       (1L<<1)
748*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_8_VALID        (1L<<2)
749*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_8_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
750*14b24e2bSVaishali Kulkarni 
751*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_9;
752*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_9_LOCK         (1L<<0)
753*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_9_ACTIVE       (1L<<1)
754*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_9_VALID        (1L<<2)
755*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_9_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
756*14b24e2bSVaishali Kulkarni 
757*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_10;
758*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_10_LOCK        (1L<<0)
759*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_10_ACTIVE      (1L<<1)
760*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_10_VALID       (1L<<2)
761*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_10_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
762*14b24e2bSVaishali Kulkarni 
763*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_11;
764*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_11_LOCK        (1L<<0)
765*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_11_ACTIVE      (1L<<1)
766*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_11_VALID       (1L<<2)
767*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_11_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
768*14b24e2bSVaishali Kulkarni 
769*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_12;
770*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_12_LOCK        (1L<<0)
771*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_12_ACTIVE      (1L<<1)
772*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_12_VALID       (1L<<2)
773*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_12_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
774*14b24e2bSVaishali Kulkarni 
775*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_13;
776*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_13_LOCK        (1L<<0)
777*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_13_ACTIVE      (1L<<1)
778*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_13_VALID       (1L<<2)
779*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_13_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
780*14b24e2bSVaishali Kulkarni 
781*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_14;
782*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_14_LOCK        (1L<<0)
783*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_14_ACTIVE      (1L<<1)
784*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_14_VALID       (1L<<2)
785*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_14_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
786*14b24e2bSVaishali Kulkarni 
787*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_ctrl_status_15;
788*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_15_LOCK        (1L<<0)
789*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_15_ACTIVE      (1L<<1)
790*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_15_VALID       (1L<<2)
791*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_CTRL_STATUS_15_NVRAM_PAGE_OFFSET  (0x1ffL<<3)
792*14b24e2bSVaishali Kulkarni 
793*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_img_loader_baddr;
794*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_IMG_LOADER_BADDR_VALUE           (0x7fffffL<<2)
795*14b24e2bSVaishali Kulkarni 
796*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_img_loader_gaddr;
797*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_IMG_LOADER_GADDR_VALUE           (0x7fffffL<<2)
798*14b24e2bSVaishali Kulkarni 
799*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_img_loader_caddr;
800*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_IMG_LOADER_CADDR_VALUE           (0x7fffffL<<2)
801*14b24e2bSVaishali Kulkarni 
802*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_img_loader_cdata;
803*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_IMG_LOADER_CDATA_VALUE           (0x7fffffL<<2)
804*14b24e2bSVaishali Kulkarni 
805*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_img_loader_cfg;
806*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_IMG_LOADER_CFG_VALUE             (0x7fffffL<<2)
807*14b24e2bSVaishali Kulkarni 
808*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_stat_hit_counter;
809*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_stat_miss_counter;
810*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_last_page_0;
811*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_0_VALID                (1L<<0)
812*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_0_IS_LAST              (1L<<1)
813*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_0_PAGE_INDEX           (0xfL<<2)
814*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_0_PAGE_OFFSET          (0x1ffL<<6)
815*14b24e2bSVaishali Kulkarni 
816*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_last_page_1;
817*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_1_VALID                (1L<<0)
818*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_1_IS_LAST              (1L<<1)
819*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_1_PAGE_INDEX           (0xfL<<2)
820*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_LAST_PAGE_1_PAGE_OFFSET          (0x1ffL<<6)
821*14b24e2bSVaishali Kulkarni 
822*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_page_fetch_state;
823*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_error_status;
824*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_ERROR_STATUS_OUT_OF_BOUNDS_READ  (1L<<0)
825*14b24e2bSVaishali Kulkarni         #define MCPF_CACHE_CACHE_ERROR_STATUS_ILLEGAL_FETCH  (1L<<1)
826*14b24e2bSVaishali Kulkarni 
827*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_cache_unused[33];
828*14b24e2bSVaishali Kulkarni     u32_t mcpf_cache_reg_end;
829*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_i[1088];
830*14b24e2bSVaishali Kulkarni     u32_t mcpf_to_bmb_fifo_command;
831*14b24e2bSVaishali Kulkarni         #define MCPF_TO_BMB_FIFO_COMMAND_FLUSH              (1L<<0)
832*14b24e2bSVaishali Kulkarni         #define MCPF_TO_BMB_FIFO_COMMAND_ERROR              (1L<<1)
833*14b24e2bSVaishali Kulkarni         #define MCPF_TO_BMB_FIFO_COMMAND_PKT_TC             (0xfL<<4)
834*14b24e2bSVaishali Kulkarni         #define MCPF_TO_BMB_FIFO_COMMAND_PKT_LEN            (0xffffL<<16)
835*14b24e2bSVaishali Kulkarni 
836*14b24e2bSVaishali Kulkarni     u32_t mcpf_to_bmb_fifo_status;
837*14b24e2bSVaishali Kulkarni         #define MCPF_TO_BMB_FIFO_STATUS_WRITE_DONE          (1L<<0)
838*14b24e2bSVaishali Kulkarni 
839*14b24e2bSVaishali Kulkarni     u32_t mcpf_to_bmb_fifo_wr_data;
840*14b24e2bSVaishali Kulkarni     u32_t mcpf_bmb_unused_1;
841*14b24e2bSVaishali Kulkarni     u32_t mcpf_to_bmb_fifo_sop_dscr0;
842*14b24e2bSVaishali Kulkarni     u32_t mcpf_to_bmb_fifo_sop_dscr1;
843*14b24e2bSVaishali Kulkarni     u32_t mcpf_to_bmb_fifo_sop_dscr2;
844*14b24e2bSVaishali Kulkarni     u32_t mcpf_to_bmb_fifo_sop_dscr3;
845*14b24e2bSVaishali Kulkarni     u32_t mcpf_frm_bmb_fifo_command;
846*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_COMMAND_READ_DONE         (1L<<0)
847*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_COMMAND_FLUSH             (1L<<4)
848*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_COMMAND_CLR_PKT_COUNTERS  (1L<<5)
849*14b24e2bSVaishali Kulkarni 
850*14b24e2bSVaishali Kulkarni     u32_t mcpf_frm_bmb_fifo_status;
851*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_BUSY               (1L<<0)
852*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_PKT_TC0            (0x3L<<2)
853*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_DATA_VALID         (1L<<4)
854*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_SOP                (1L<<5)
855*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_EOP                (1L<<6)
856*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_ERR                (1L<<7)
857*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_BYTE_VALID         (0x3L<<8)
858*14b24e2bSVaishali Kulkarni             #define MCPF_FRM_BMB_FIFO_STATUS_BYTE_VALID_0   (0L<<8)
859*14b24e2bSVaishali Kulkarni             #define MCPF_FRM_BMB_FIFO_STATUS_BYTE_VALID_1   (1L<<8)
860*14b24e2bSVaishali Kulkarni             #define MCPF_FRM_BMB_FIFO_STATUS_BYTE_VALID_2   (2L<<8)
861*14b24e2bSVaishali Kulkarni             #define MCPF_FRM_BMB_FIFO_STATUS_BYTE_VALID_3   (3L<<8)
862*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_PKT_TC1            (0x3L<<10)
863*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_PKT_PORT           (0xfL<<12)
864*14b24e2bSVaishali Kulkarni         #define MCPF_FRM_BMB_FIFO_STATUS_PKT_LEN            (0xffffL<<16)
865*14b24e2bSVaishali Kulkarni 
866*14b24e2bSVaishali Kulkarni     u32_t mcpf_bmb_unused_2;
867*14b24e2bSVaishali Kulkarni     u32_t mcpf_frm_bmb_fifo_rd_data;
868*14b24e2bSVaishali Kulkarni     u32_t mcpf_frm_bmb_fifo_sop_dscr0;
869*14b24e2bSVaishali Kulkarni     u32_t mcpf_frm_bmb_fifo_sop_dscr1;
870*14b24e2bSVaishali Kulkarni     u32_t mcpf_frm_bmb_fifo_sop_dscr2;
871*14b24e2bSVaishali Kulkarni     u32_t mcpf_frm_bmb_fifo_sop_dscr3;
872*14b24e2bSVaishali Kulkarni     u32_t mcpf_bmb_unused_3[239];
873*14b24e2bSVaishali Kulkarni     u32_t mcpf_bmb_reg_end;
874*14b24e2bSVaishali Kulkarni     u32_t mcpf_unused_j[87808];
875*14b24e2bSVaishali Kulkarni } mcp_fio_t;
876*14b24e2bSVaishali Kulkarni 
877*14b24e2bSVaishali Kulkarni #endif /* MCP_FIO_H */
878