xref: /wlan-driver/qca-wifi-host-cmn/hif/inc/host_reg_init.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2016 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
5*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
6*5113495bSYour Name  * above copyright notice and this permission notice appear in all
7*5113495bSYour Name  * copies.
8*5113495bSYour Name  *
9*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
17*5113495bSYour Name  */
18*5113495bSYour Name 
19*5113495bSYour Name #ifndef HOST_REG_INIT_H
20*5113495bSYour Name #define HOST_REG_INIT_H
21*5113495bSYour Name 
22*5113495bSYour Name #include "reg_struct.h"
23*5113495bSYour Name #include "targaddrs.h"
24*5113495bSYour Name 
25*5113495bSYour Name #if defined(MY_HOST_DEF)
26*5113495bSYour Name 
27*5113495bSYour Name #if !defined(FW_IND_HOST_READY)
28*5113495bSYour Name #define FW_IND_HOST_READY 0
29*5113495bSYour Name #endif
30*5113495bSYour Name 
31*5113495bSYour Name #if !defined(PCIE_LOCAL_BASE_ADDRESS)
32*5113495bSYour Name #define PCIE_LOCAL_BASE_ADDRESS 0
33*5113495bSYour Name #define PCIE_SOC_WAKE_RESET 0
34*5113495bSYour Name #define PCIE_SOC_WAKE_ADDRESS 0
35*5113495bSYour Name #define PCIE_SOC_WAKE_V_MASK 0
36*5113495bSYour Name #define RTC_STATE_ADDRESS 0
37*5113495bSYour Name #define RTC_STATE_COLD_RESET_MASK 0
38*5113495bSYour Name #define RTC_STATE_V_MASK 0
39*5113495bSYour Name #define RTC_STATE_V_LSB 0
40*5113495bSYour Name #define RTC_STATE_V_ON 0
41*5113495bSYour Name #define SOC_GLOBAL_RESET_ADDRESS 0
42*5113495bSYour Name #endif
43*5113495bSYour Name 
44*5113495bSYour Name #if !defined(CE_COUNT)
45*5113495bSYour Name #define CE_COUNT 0
46*5113495bSYour Name #endif
47*5113495bSYour Name 
48*5113495bSYour Name #if !defined(TRANSACTION_ID_MASK)
49*5113495bSYour Name #define TRANSACTION_ID_MASK 0xfff
50*5113495bSYour Name #endif
51*5113495bSYour Name 
52*5113495bSYour Name static struct hostdef_s my_host_def = {
53*5113495bSYour Name 	.d_INT_STATUS_ENABLE_ERROR_LSB = INT_STATUS_ENABLE_ERROR_LSB,
54*5113495bSYour Name 	.d_INT_STATUS_ENABLE_ERROR_MASK = INT_STATUS_ENABLE_ERROR_MASK,
55*5113495bSYour Name 	.d_INT_STATUS_ENABLE_CPU_LSB = INT_STATUS_ENABLE_CPU_LSB,
56*5113495bSYour Name 	.d_INT_STATUS_ENABLE_CPU_MASK = INT_STATUS_ENABLE_CPU_MASK,
57*5113495bSYour Name 	.d_INT_STATUS_ENABLE_COUNTER_LSB = INT_STATUS_ENABLE_COUNTER_LSB,
58*5113495bSYour Name 	.d_INT_STATUS_ENABLE_COUNTER_MASK = INT_STATUS_ENABLE_COUNTER_MASK,
59*5113495bSYour Name 	.d_INT_STATUS_ENABLE_MBOX_DATA_LSB = INT_STATUS_ENABLE_MBOX_DATA_LSB,
60*5113495bSYour Name 	.d_INT_STATUS_ENABLE_MBOX_DATA_MASK = INT_STATUS_ENABLE_MBOX_DATA_MASK,
61*5113495bSYour Name 	.d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB
62*5113495bSYour Name 		= ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB,
63*5113495bSYour Name 	.d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK
64*5113495bSYour Name 		= ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK,
65*5113495bSYour Name 	.d_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB
66*5113495bSYour Name 		= ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB,
67*5113495bSYour Name 	.d_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK
68*5113495bSYour Name 		= ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK,
69*5113495bSYour Name 	.d_COUNTER_INT_STATUS_ENABLE_BIT_LSB
70*5113495bSYour Name 		= COUNTER_INT_STATUS_ENABLE_BIT_LSB,
71*5113495bSYour Name 	.d_COUNTER_INT_STATUS_ENABLE_BIT_MASK
72*5113495bSYour Name 		= COUNTER_INT_STATUS_ENABLE_BIT_MASK,
73*5113495bSYour Name 	.d_INT_STATUS_ENABLE_ADDRESS = INT_STATUS_ENABLE_ADDRESS,
74*5113495bSYour Name 	.d_CPU_INT_STATUS_ENABLE_BIT_LSB = CPU_INT_STATUS_ENABLE_BIT_LSB,
75*5113495bSYour Name 	.d_CPU_INT_STATUS_ENABLE_BIT_MASK = CPU_INT_STATUS_ENABLE_BIT_MASK,
76*5113495bSYour Name 	.d_HOST_INT_STATUS_ADDRESS = HOST_INT_STATUS_ADDRESS,
77*5113495bSYour Name 	.d_CPU_INT_STATUS_ADDRESS = CPU_INT_STATUS_ADDRESS,
78*5113495bSYour Name 	.d_ERROR_INT_STATUS_ADDRESS = ERROR_INT_STATUS_ADDRESS,
79*5113495bSYour Name 	.d_ERROR_INT_STATUS_WAKEUP_MASK = ERROR_INT_STATUS_WAKEUP_MASK,
80*5113495bSYour Name 	.d_ERROR_INT_STATUS_WAKEUP_LSB = ERROR_INT_STATUS_WAKEUP_LSB,
81*5113495bSYour Name 	.d_ERROR_INT_STATUS_RX_UNDERFLOW_MASK
82*5113495bSYour Name 		= ERROR_INT_STATUS_RX_UNDERFLOW_MASK,
83*5113495bSYour Name 	.d_ERROR_INT_STATUS_RX_UNDERFLOW_LSB
84*5113495bSYour Name 		= ERROR_INT_STATUS_RX_UNDERFLOW_LSB,
85*5113495bSYour Name 	.d_ERROR_INT_STATUS_TX_OVERFLOW_MASK
86*5113495bSYour Name 		= ERROR_INT_STATUS_TX_OVERFLOW_MASK,
87*5113495bSYour Name 	.d_ERROR_INT_STATUS_TX_OVERFLOW_LSB = ERROR_INT_STATUS_TX_OVERFLOW_LSB,
88*5113495bSYour Name 	.d_COUNT_DEC_ADDRESS = COUNT_DEC_ADDRESS,
89*5113495bSYour Name 	.d_HOST_INT_STATUS_CPU_MASK = HOST_INT_STATUS_CPU_MASK,
90*5113495bSYour Name 	.d_HOST_INT_STATUS_CPU_LSB = HOST_INT_STATUS_CPU_LSB,
91*5113495bSYour Name 	.d_HOST_INT_STATUS_ERROR_MASK = HOST_INT_STATUS_ERROR_MASK,
92*5113495bSYour Name 	.d_HOST_INT_STATUS_ERROR_LSB = HOST_INT_STATUS_ERROR_LSB,
93*5113495bSYour Name 	.d_HOST_INT_STATUS_COUNTER_MASK = HOST_INT_STATUS_COUNTER_MASK,
94*5113495bSYour Name 	.d_HOST_INT_STATUS_COUNTER_LSB = HOST_INT_STATUS_COUNTER_LSB,
95*5113495bSYour Name 	.d_RX_LOOKAHEAD_VALID_ADDRESS = RX_LOOKAHEAD_VALID_ADDRESS,
96*5113495bSYour Name 	.d_WINDOW_DATA_ADDRESS = WINDOW_DATA_ADDRESS,
97*5113495bSYour Name 	.d_WINDOW_READ_ADDR_ADDRESS = WINDOW_READ_ADDR_ADDRESS,
98*5113495bSYour Name 	.d_WINDOW_WRITE_ADDR_ADDRESS = WINDOW_WRITE_ADDR_ADDRESS,
99*5113495bSYour Name 	.d_SOC_GLOBAL_RESET_ADDRESS = SOC_GLOBAL_RESET_ADDRESS,
100*5113495bSYour Name 	.d_RTC_STATE_ADDRESS = RTC_STATE_ADDRESS,
101*5113495bSYour Name 	.d_RTC_STATE_COLD_RESET_MASK = RTC_STATE_COLD_RESET_MASK,
102*5113495bSYour Name 	.d_PCIE_LOCAL_BASE_ADDRESS = PCIE_LOCAL_BASE_ADDRESS,
103*5113495bSYour Name 	.d_PCIE_SOC_WAKE_RESET = PCIE_SOC_WAKE_RESET,
104*5113495bSYour Name 	.d_PCIE_SOC_WAKE_ADDRESS = PCIE_SOC_WAKE_ADDRESS,
105*5113495bSYour Name 	.d_PCIE_SOC_WAKE_V_MASK = PCIE_SOC_WAKE_V_MASK,
106*5113495bSYour Name 	.d_RTC_STATE_V_MASK = RTC_STATE_V_MASK,
107*5113495bSYour Name 	.d_RTC_STATE_V_LSB = RTC_STATE_V_LSB,
108*5113495bSYour Name 	.d_FW_IND_EVENT_PENDING = FW_IND_EVENT_PENDING,
109*5113495bSYour Name 	.d_FW_IND_INITIALIZED = FW_IND_INITIALIZED,
110*5113495bSYour Name 	.d_RTC_STATE_V_ON = RTC_STATE_V_ON,
111*5113495bSYour Name #if defined(SDIO_3_0)
112*5113495bSYour Name 	.d_HOST_INT_STATUS_MBOX_DATA_MASK = HOST_INT_STATUS_MBOX_DATA_MASK,
113*5113495bSYour Name 	.d_HOST_INT_STATUS_MBOX_DATA_LSB = HOST_INT_STATUS_MBOX_DATA_LSB,
114*5113495bSYour Name #endif
115*5113495bSYour Name 	.d_FW_IND_HOST_READY = FW_IND_HOST_READY,
116*5113495bSYour Name 	.d_HOST_CE_COUNT = CE_COUNT,
117*5113495bSYour Name 	.d_TRANSACTION_ID_MASK = TRANSACTION_ID_MASK,
118*5113495bSYour Name };
119*5113495bSYour Name 
120*5113495bSYour Name struct hostdef_s *MY_HOST_DEF = &my_host_def;
121*5113495bSYour Name #else /* MY_HOST_DEF */
122*5113495bSYour Name #endif /* MY_HOST_DEF */
123*5113495bSYour Name 
124*5113495bSYour Name 
125*5113495bSYour Name 
126*5113495bSYour Name #if defined(MY_HOST_SHADOW_REGS)
127*5113495bSYour Name struct host_shadow_regs_s my_host_shadow_regs = {
128*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_0 = A_LOCAL_SHADOW_REG_VALUE_0;
129*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_1 = A_LOCAL_SHADOW_REG_VALUE_1;
130*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_2 = A_LOCAL_SHADOW_REG_VALUE_2;
131*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_3 = A_LOCAL_SHADOW_REG_VALUE_3;
132*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_4 = A_LOCAL_SHADOW_REG_VALUE_4;
133*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_5 = A_LOCAL_SHADOW_REG_VALUE_5;
134*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_6 = A_LOCAL_SHADOW_REG_VALUE_6;
135*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_7 = A_LOCAL_SHADOW_REG_VALUE_7;
136*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_8 = A_LOCAL_SHADOW_REG_VALUE_8;
137*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_9 = A_LOCAL_SHADOW_REG_VALUE_9;
138*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_10 = A_LOCAL_SHADOW_REG_VALUE_10;
139*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_11 = A_LOCAL_SHADOW_REG_VALUE_11;
140*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_12 = A_LOCAL_SHADOW_REG_VALUE_12;
141*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_13 = A_LOCAL_SHADOW_REG_VALUE_13;
142*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_14 = A_LOCAL_SHADOW_REG_VALUE_14;
143*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_15 = A_LOCAL_SHADOW_REG_VALUE_15;
144*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_16 = A_LOCAL_SHADOW_REG_VALUE_16;
145*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_17 = A_LOCAL_SHADOW_REG_VALUE_17;
146*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_18 = A_LOCAL_SHADOW_REG_VALUE_18;
147*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_19 = A_LOCAL_SHADOW_REG_VALUE_19;
148*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_20 = A_LOCAL_SHADOW_REG_VALUE_20;
149*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_21 = A_LOCAL_SHADOW_REG_VALUE_21;
150*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_22 = A_LOCAL_SHADOW_REG_VALUE_22;
151*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_23 = A_LOCAL_SHADOW_REG_VALUE_23;
152*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_0 = A_LOCAL_SHADOW_REG_ADDRESS_0;
153*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_1 = A_LOCAL_SHADOW_REG_ADDRESS_1;
154*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_2 = A_LOCAL_SHADOW_REG_ADDRESS_2;
155*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_3 = A_LOCAL_SHADOW_REG_ADDRESS_3;
156*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_4 = A_LOCAL_SHADOW_REG_ADDRESS_4;
157*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_5 = A_LOCAL_SHADOW_REG_ADDRESS_5;
158*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_6 = A_LOCAL_SHADOW_REG_ADDRESS_6;
159*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_7 = A_LOCAL_SHADOW_REG_ADDRESS_7;
160*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_8 = A_LOCAL_SHADOW_REG_ADDRESS_8;
161*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_9 = A_LOCAL_SHADOW_REG_ADDRESS_9;
162*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_10 = A_LOCAL_SHADOW_REG_ADDRESS_10;
163*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_11 = A_LOCAL_SHADOW_REG_ADDRESS_11;
164*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_12 = A_LOCAL_SHADOW_REG_ADDRESS_12;
165*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_13 = A_LOCAL_SHADOW_REG_ADDRESS_13;
166*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_14 = A_LOCAL_SHADOW_REG_ADDRESS_14;
167*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_15 = A_LOCAL_SHADOW_REG_ADDRESS_15;
168*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_16 = A_LOCAL_SHADOW_REG_ADDRESS_16;
169*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_17 = A_LOCAL_SHADOW_REG_ADDRESS_17;
170*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_18 = A_LOCAL_SHADOW_REG_ADDRESS_18;
171*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_19 = A_LOCAL_SHADOW_REG_ADDRESS_19;
172*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_20 = A_LOCAL_SHADOW_REG_ADDRESS_20;
173*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_21 = A_LOCAL_SHADOW_REG_ADDRESS_21;
174*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_22 = A_LOCAL_SHADOW_REG_ADDRESS_22;
175*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_ADDRESS_23 = A_LOCAL_SHADOW_REG_ADDRESS_23;
176*5113495bSYour Name };
177*5113495bSYour Name 
178*5113495bSYour Name struct hostdef_s *MY_HOST_SHADOW_REGS = &my_host_shadow_regs;
179*5113495bSYour Name #else /* MY_HOST_SHADOW_REGS */
180*5113495bSYour Name #endif /* MY_HOST_SHADOW_REGS */
181*5113495bSYour Name #endif /* HOST_REG_INIT_H */
182