xref: /wlan-driver/qca-wifi-host-cmn/hif/inc/reg_struct.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2015-2020 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
4*5113495bSYour Name  *
5*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for
6*5113495bSYour Name  * any purpose with or without fee is hereby granted, provided that the
7*5113495bSYour Name  * above copyright notice and this permission notice appear in all
8*5113495bSYour Name  * copies.
9*5113495bSYour Name  *
10*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
11*5113495bSYour Name  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
12*5113495bSYour Name  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
13*5113495bSYour Name  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
14*5113495bSYour Name  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
15*5113495bSYour Name  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
16*5113495bSYour Name  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
17*5113495bSYour Name  * PERFORMANCE OF THIS SOFTWARE.
18*5113495bSYour Name  */
19*5113495bSYour Name 
20*5113495bSYour Name #ifndef REG_STRUCT_H
21*5113495bSYour Name #define REG_STRUCT_H
22*5113495bSYour Name 
23*5113495bSYour Name #define MISSING_REGISTER 0
24*5113495bSYour Name #define UNSUPPORTED_REGISTER_OFFSET 0xffffffff
25*5113495bSYour Name 
26*5113495bSYour Name /**
27*5113495bSYour Name  * is_register_supported() - return true if the register offset is valid
28*5113495bSYour Name  * @reg: register address being checked
29*5113495bSYour Name  *
30*5113495bSYour Name  * Return: true if the register offset is valid
31*5113495bSYour Name  */
is_register_supported(uint32_t reg)32*5113495bSYour Name static inline bool is_register_supported(uint32_t reg)
33*5113495bSYour Name {
34*5113495bSYour Name 	return (reg != MISSING_REGISTER) &&
35*5113495bSYour Name 		(reg != UNSUPPORTED_REGISTER_OFFSET);
36*5113495bSYour Name }
37*5113495bSYour Name 
38*5113495bSYour Name struct targetdef_s {
39*5113495bSYour Name 	uint32_t d_RTC_SOC_BASE_ADDRESS;
40*5113495bSYour Name 	uint32_t d_RTC_WMAC_BASE_ADDRESS;
41*5113495bSYour Name 	uint32_t d_SYSTEM_SLEEP_OFFSET;
42*5113495bSYour Name 	uint32_t d_WLAN_SYSTEM_SLEEP_OFFSET;
43*5113495bSYour Name 	uint32_t d_WLAN_SYSTEM_SLEEP_DISABLE_LSB;
44*5113495bSYour Name 	uint32_t d_WLAN_SYSTEM_SLEEP_DISABLE_MASK;
45*5113495bSYour Name 	uint32_t d_CLOCK_CONTROL_OFFSET;
46*5113495bSYour Name 	uint32_t d_CLOCK_CONTROL_SI0_CLK_MASK;
47*5113495bSYour Name 	uint32_t d_RESET_CONTROL_OFFSET;
48*5113495bSYour Name 	uint32_t d_RESET_CONTROL_MBOX_RST_MASK;
49*5113495bSYour Name 	uint32_t d_RESET_CONTROL_SI0_RST_MASK;
50*5113495bSYour Name 	uint32_t d_WLAN_RESET_CONTROL_OFFSET;
51*5113495bSYour Name 	uint32_t d_WLAN_RESET_CONTROL_COLD_RST_MASK;
52*5113495bSYour Name 	uint32_t d_WLAN_RESET_CONTROL_WARM_RST_MASK;
53*5113495bSYour Name 	uint32_t d_GPIO_BASE_ADDRESS;
54*5113495bSYour Name 	uint32_t d_GPIO_PIN0_OFFSET;
55*5113495bSYour Name 	uint32_t d_GPIO_PIN1_OFFSET;
56*5113495bSYour Name 	uint32_t d_GPIO_PIN0_CONFIG_MASK;
57*5113495bSYour Name 	uint32_t d_GPIO_PIN1_CONFIG_MASK;
58*5113495bSYour Name 	uint32_t d_SI_CONFIG_BIDIR_OD_DATA_LSB;
59*5113495bSYour Name 	uint32_t d_SI_CONFIG_BIDIR_OD_DATA_MASK;
60*5113495bSYour Name 	uint32_t d_SI_CONFIG_I2C_LSB;
61*5113495bSYour Name 	uint32_t d_SI_CONFIG_I2C_MASK;
62*5113495bSYour Name 	uint32_t d_SI_CONFIG_POS_SAMPLE_LSB;
63*5113495bSYour Name 	uint32_t d_SI_CONFIG_POS_SAMPLE_MASK;
64*5113495bSYour Name 	uint32_t d_SI_CONFIG_INACTIVE_CLK_LSB;
65*5113495bSYour Name 	uint32_t d_SI_CONFIG_INACTIVE_CLK_MASK;
66*5113495bSYour Name 	uint32_t d_SI_CONFIG_INACTIVE_DATA_LSB;
67*5113495bSYour Name 	uint32_t d_SI_CONFIG_INACTIVE_DATA_MASK;
68*5113495bSYour Name 	uint32_t d_SI_CONFIG_DIVIDER_LSB;
69*5113495bSYour Name 	uint32_t d_SI_CONFIG_DIVIDER_MASK;
70*5113495bSYour Name 	uint32_t d_SI_BASE_ADDRESS;
71*5113495bSYour Name 	uint32_t d_SI_CONFIG_OFFSET;
72*5113495bSYour Name 	uint32_t d_SI_TX_DATA0_OFFSET;
73*5113495bSYour Name 	uint32_t d_SI_TX_DATA1_OFFSET;
74*5113495bSYour Name 	uint32_t d_SI_RX_DATA0_OFFSET;
75*5113495bSYour Name 	uint32_t d_SI_RX_DATA1_OFFSET;
76*5113495bSYour Name 	uint32_t d_SI_CS_OFFSET;
77*5113495bSYour Name 	uint32_t d_SI_CS_DONE_ERR_MASK;
78*5113495bSYour Name 	uint32_t d_SI_CS_DONE_INT_MASK;
79*5113495bSYour Name 	uint32_t d_SI_CS_START_LSB;
80*5113495bSYour Name 	uint32_t d_SI_CS_START_MASK;
81*5113495bSYour Name 	uint32_t d_SI_CS_RX_CNT_LSB;
82*5113495bSYour Name 	uint32_t d_SI_CS_RX_CNT_MASK;
83*5113495bSYour Name 	uint32_t d_SI_CS_TX_CNT_LSB;
84*5113495bSYour Name 	uint32_t d_SI_CS_TX_CNT_MASK;
85*5113495bSYour Name 	uint32_t d_BOARD_DATA_SZ;
86*5113495bSYour Name 	uint32_t d_BOARD_EXT_DATA_SZ;
87*5113495bSYour Name 	uint32_t d_MBOX_BASE_ADDRESS;
88*5113495bSYour Name 	uint32_t d_LOCAL_SCRATCH_OFFSET;
89*5113495bSYour Name 	uint32_t d_CPU_CLOCK_OFFSET;
90*5113495bSYour Name 	uint32_t d_LPO_CAL_OFFSET;
91*5113495bSYour Name 	uint32_t d_GPIO_PIN10_OFFSET;
92*5113495bSYour Name 	uint32_t d_GPIO_PIN11_OFFSET;
93*5113495bSYour Name 	uint32_t d_GPIO_PIN12_OFFSET;
94*5113495bSYour Name 	uint32_t d_GPIO_PIN13_OFFSET;
95*5113495bSYour Name 	uint32_t d_CLOCK_GPIO_OFFSET;
96*5113495bSYour Name 	uint32_t d_CPU_CLOCK_STANDARD_LSB;
97*5113495bSYour Name 	uint32_t d_CPU_CLOCK_STANDARD_MASK;
98*5113495bSYour Name 	uint32_t d_LPO_CAL_ENABLE_LSB;
99*5113495bSYour Name 	uint32_t d_LPO_CAL_ENABLE_MASK;
100*5113495bSYour Name 	uint32_t d_CLOCK_GPIO_BT_CLK_OUT_EN_LSB;
101*5113495bSYour Name 	uint32_t d_CLOCK_GPIO_BT_CLK_OUT_EN_MASK;
102*5113495bSYour Name 	uint32_t d_ANALOG_INTF_BASE_ADDRESS;
103*5113495bSYour Name 	uint32_t d_WLAN_MAC_BASE_ADDRESS;
104*5113495bSYour Name 	uint32_t d_FW_INDICATOR_ADDRESS;
105*5113495bSYour Name 	uint32_t d_FW_CPU_PLL_CONFIG;
106*5113495bSYour Name 	uint32_t d_DRAM_BASE_ADDRESS;
107*5113495bSYour Name 	uint32_t d_SOC_CORE_BASE_ADDRESS;
108*5113495bSYour Name 	uint32_t d_CORE_CTRL_ADDRESS;
109*5113495bSYour Name 	uint32_t d_CE_COUNT;
110*5113495bSYour Name 	uint32_t d_MSI_NUM_REQUEST;
111*5113495bSYour Name 	uint32_t d_MSI_ASSIGN_FW;
112*5113495bSYour Name 	uint32_t d_MSI_ASSIGN_CE_INITIAL;
113*5113495bSYour Name 	uint32_t d_PCIE_INTR_ENABLE_ADDRESS;
114*5113495bSYour Name 	uint32_t d_PCIE_INTR_CLR_ADDRESS;
115*5113495bSYour Name 	uint32_t d_PCIE_INTR_FIRMWARE_MASK;
116*5113495bSYour Name 	uint32_t d_PCIE_INTR_CE_MASK_ALL;
117*5113495bSYour Name 	uint32_t d_CORE_CTRL_CPU_INTR_MASK;
118*5113495bSYour Name 	uint32_t d_WIFICMN_PCIE_BAR_REG_ADDRESS;
119*5113495bSYour Name 	/* htt_rx.c */
120*5113495bSYour Name 	/* htt tx */
121*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_MASK;
122*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_MASK;
123*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_MASK;
124*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_MASK;
125*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_LSB;
126*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_LSB;
127*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_LSB;
128*5113495bSYour Name 	uint32_t d_MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_LSB;
129*5113495bSYour Name 	/* copy_engine.c */
130*5113495bSYour Name 	uint32_t d_SR_WR_INDEX_ADDRESS;
131*5113495bSYour Name 	uint32_t d_DST_WATERMARK_ADDRESS;
132*5113495bSYour Name 	/* htt_rx.c */
133*5113495bSYour Name 	uint32_t d_RX_MSDU_END_4_FIRST_MSDU_MASK;
134*5113495bSYour Name 	uint32_t d_RX_MSDU_END_4_FIRST_MSDU_LSB;
135*5113495bSYour Name 	uint32_t d_RX_MPDU_START_0_RETRY_LSB;
136*5113495bSYour Name 	uint32_t d_RX_MPDU_START_0_RETRY_MASK;
137*5113495bSYour Name 	uint32_t d_RX_MPDU_START_0_SEQ_NUM_MASK;
138*5113495bSYour Name 	uint32_t d_RX_MPDU_START_0_SEQ_NUM_LSB;
139*5113495bSYour Name 	uint32_t d_RX_MPDU_START_2_PN_47_32_LSB;
140*5113495bSYour Name 	uint32_t d_RX_MPDU_START_2_PN_47_32_MASK;
141*5113495bSYour Name 	uint32_t d_RX_MPDU_START_2_TID_LSB;
142*5113495bSYour Name 	uint32_t d_RX_MPDU_START_2_TID_MASK;
143*5113495bSYour Name 	uint32_t d_RX_MSDU_END_1_EXT_WAPI_PN_63_48_MASK;
144*5113495bSYour Name 	uint32_t d_RX_MSDU_END_1_EXT_WAPI_PN_63_48_LSB;
145*5113495bSYour Name 	uint32_t d_RX_MSDU_END_1_KEY_ID_OCT_MASK;
146*5113495bSYour Name 	uint32_t d_RX_MSDU_END_1_KEY_ID_OCT_LSB;
147*5113495bSYour Name 	uint32_t d_RX_MSDU_END_4_LAST_MSDU_MASK;
148*5113495bSYour Name 	uint32_t d_RX_MSDU_END_4_LAST_MSDU_LSB;
149*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_MCAST_BCAST_MASK;
150*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_MCAST_BCAST_LSB;
151*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_FRAGMENT_MASK;
152*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_FRAGMENT_LSB;
153*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_MPDU_LENGTH_ERR_MASK;
154*5113495bSYour Name 	uint32_t d_RX_FRAG_INFO_0_RING2_MORE_COUNT_MASK;
155*5113495bSYour Name 	uint32_t d_RX_FRAG_INFO_0_RING2_MORE_COUNT_LSB;
156*5113495bSYour Name 	uint32_t d_RX_MSDU_START_0_MSDU_LENGTH_MASK;
157*5113495bSYour Name 	uint32_t d_RX_MSDU_START_0_MSDU_LENGTH_LSB;
158*5113495bSYour Name 	uint32_t d_RX_MSDU_START_2_DECAP_FORMAT_OFFSET;
159*5113495bSYour Name 	uint32_t d_RX_MSDU_START_2_DECAP_FORMAT_MASK;
160*5113495bSYour Name 	uint32_t d_RX_MSDU_START_2_DECAP_FORMAT_LSB;
161*5113495bSYour Name 	uint32_t d_RX_MPDU_START_0_ENCRYPTED_MASK;
162*5113495bSYour Name 	uint32_t d_RX_MPDU_START_0_ENCRYPTED_LSB;
163*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_MORE_DATA_MASK;
164*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_MSDU_DONE_MASK;
165*5113495bSYour Name 	uint32_t d_RX_ATTENTION_0_TCP_UDP_CHKSUM_FAIL_MASK;
166*5113495bSYour Name 	/* end */
167*5113495bSYour Name 
168*5113495bSYour Name 	/* PLL start */
169*5113495bSYour Name 	uint32_t d_EFUSE_OFFSET;
170*5113495bSYour Name 	uint32_t d_EFUSE_XTAL_SEL_MSB;
171*5113495bSYour Name 	uint32_t d_EFUSE_XTAL_SEL_LSB;
172*5113495bSYour Name 	uint32_t d_EFUSE_XTAL_SEL_MASK;
173*5113495bSYour Name 	uint32_t d_BB_PLL_CONFIG_OFFSET;
174*5113495bSYour Name 	uint32_t d_BB_PLL_CONFIG_OUTDIV_MSB;
175*5113495bSYour Name 	uint32_t d_BB_PLL_CONFIG_OUTDIV_LSB;
176*5113495bSYour Name 	uint32_t d_BB_PLL_CONFIG_OUTDIV_MASK;
177*5113495bSYour Name 	uint32_t d_BB_PLL_CONFIG_FRAC_MSB;
178*5113495bSYour Name 	uint32_t d_BB_PLL_CONFIG_FRAC_LSB;
179*5113495bSYour Name 	uint32_t d_BB_PLL_CONFIG_FRAC_MASK;
180*5113495bSYour Name 	uint32_t d_WLAN_PLL_SETTLE_TIME_MSB;
181*5113495bSYour Name 	uint32_t d_WLAN_PLL_SETTLE_TIME_LSB;
182*5113495bSYour Name 	uint32_t d_WLAN_PLL_SETTLE_TIME_MASK;
183*5113495bSYour Name 	uint32_t d_WLAN_PLL_SETTLE_OFFSET;
184*5113495bSYour Name 	uint32_t d_WLAN_PLL_SETTLE_SW_MASK;
185*5113495bSYour Name 	uint32_t d_WLAN_PLL_SETTLE_RSTMASK;
186*5113495bSYour Name 	uint32_t d_WLAN_PLL_SETTLE_RESET;
187*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_NOPWD_MSB;
188*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_NOPWD_LSB;
189*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_NOPWD_MASK;
190*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_BYPASS_MSB;
191*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_BYPASS_LSB;
192*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_BYPASS_MASK;
193*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_BYPASS_RESET;
194*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_CLK_SEL_MSB;
195*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_CLK_SEL_LSB;
196*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_CLK_SEL_MASK;
197*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_CLK_SEL_RESET;
198*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_REFDIV_MSB;
199*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_REFDIV_LSB;
200*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_REFDIV_MASK;
201*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_REFDIV_RESET;
202*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_DIV_MSB;
203*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_DIV_LSB;
204*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_DIV_MASK;
205*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_DIV_RESET;
206*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_OFFSET;
207*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_SW_MASK;
208*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_RSTMASK;
209*5113495bSYour Name 	uint32_t d_WLAN_PLL_CONTROL_RESET;
210*5113495bSYour Name 	uint32_t d_SOC_CORE_CLK_CTRL_OFFSET;
211*5113495bSYour Name 	uint32_t d_SOC_CORE_CLK_CTRL_DIV_MSB;
212*5113495bSYour Name 	uint32_t d_SOC_CORE_CLK_CTRL_DIV_LSB;
213*5113495bSYour Name 	uint32_t d_SOC_CORE_CLK_CTRL_DIV_MASK;
214*5113495bSYour Name 	uint32_t d_RTC_SYNC_STATUS_PLL_CHANGING_MSB;
215*5113495bSYour Name 	uint32_t d_RTC_SYNC_STATUS_PLL_CHANGING_LSB;
216*5113495bSYour Name 	uint32_t d_RTC_SYNC_STATUS_PLL_CHANGING_MASK;
217*5113495bSYour Name 	uint32_t d_RTC_SYNC_STATUS_PLL_CHANGING_RESET;
218*5113495bSYour Name 	uint32_t d_RTC_SYNC_STATUS_OFFSET;
219*5113495bSYour Name 	uint32_t d_SOC_CPU_CLOCK_OFFSET;
220*5113495bSYour Name 	uint32_t d_SOC_CPU_CLOCK_STANDARD_MSB;
221*5113495bSYour Name 	uint32_t d_SOC_CPU_CLOCK_STANDARD_LSB;
222*5113495bSYour Name 	uint32_t d_SOC_CPU_CLOCK_STANDARD_MASK;
223*5113495bSYour Name 	/* PLL end */
224*5113495bSYour Name 
225*5113495bSYour Name 	uint32_t d_SOC_POWER_REG_OFFSET;
226*5113495bSYour Name 	uint32_t d_PCIE_INTR_CAUSE_ADDRESS;
227*5113495bSYour Name 	uint32_t d_SOC_RESET_CONTROL_ADDRESS;
228*5113495bSYour Name 	uint32_t d_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_MASK;
229*5113495bSYour Name 	uint32_t d_SOC_RESET_CONTROL_PCIE_RST_SHORT_OVRD_LSB;
230*5113495bSYour Name 	uint32_t d_SOC_RESET_CONTROL_CE_RST_MASK;
231*5113495bSYour Name 	uint32_t d_SOC_RESET_CONTROL_CPU_WARM_RST_MASK;
232*5113495bSYour Name 	uint32_t d_CPU_INTR_ADDRESS;
233*5113495bSYour Name 	uint32_t d_SOC_LF_TIMER_CONTROL0_ADDRESS;
234*5113495bSYour Name 	uint32_t d_SOC_LF_TIMER_CONTROL0_ENABLE_MASK;
235*5113495bSYour Name 	uint32_t d_SOC_LF_TIMER_STATUS0_ADDRESS;
236*5113495bSYour Name 
237*5113495bSYour Name 	/* chip id start */
238*5113495bSYour Name 	uint32_t d_SI_CONFIG_ERR_INT_MASK;
239*5113495bSYour Name 	uint32_t d_SI_CONFIG_ERR_INT_LSB;
240*5113495bSYour Name 	uint32_t d_GPIO_ENABLE_W1TS_LOW_ADDRESS;
241*5113495bSYour Name 	uint32_t d_GPIO_PIN0_CONFIG_LSB;
242*5113495bSYour Name 	uint32_t d_GPIO_PIN0_PAD_PULL_LSB;
243*5113495bSYour Name 	uint32_t d_GPIO_PIN0_PAD_PULL_MASK;
244*5113495bSYour Name 
245*5113495bSYour Name 	uint32_t d_SOC_CHIP_ID_ADDRESS;
246*5113495bSYour Name 	uint32_t d_SOC_CHIP_ID_VERSION_MASK;
247*5113495bSYour Name 	uint32_t d_SOC_CHIP_ID_VERSION_LSB;
248*5113495bSYour Name 	uint32_t d_SOC_CHIP_ID_REVISION_MASK;
249*5113495bSYour Name 	uint32_t d_SOC_CHIP_ID_REVISION_LSB;
250*5113495bSYour Name 	uint32_t d_SOC_CHIP_ID_REVISION_MSB;
251*5113495bSYour Name 	uint32_t d_FW_AXI_MSI_ADDR;
252*5113495bSYour Name 	uint32_t d_FW_AXI_MSI_DATA;
253*5113495bSYour Name 	uint32_t d_WLAN_SUBSYSTEM_CORE_ID_ADDRESS;
254*5113495bSYour Name 
255*5113495bSYour Name 	/* chip id end */
256*5113495bSYour Name 
257*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_0_ADDRESS;
258*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_1_ADDRESS;
259*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_2_ADDRESS;
260*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_3_ADDRESS;
261*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_4_ADDRESS;
262*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_5_ADDRESS;
263*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_6_ADDRESS;
264*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SCRATCH_7_ADDRESS;
265*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SPARE_0_REGISTER;
266*5113495bSYour Name 	uint32_t d_PCIE_INTR_FIRMWARE_ROUTE_MASK;
267*5113495bSYour Name 	uint32_t d_A_SOC_CORE_PCIE_INTR_CAUSE_GRP1;
268*5113495bSYour Name 	uint32_t d_A_SOC_CORE_SPARE_1_REGISTER;
269*5113495bSYour Name 	uint32_t d_A_SOC_CORE_PCIE_INTR_CLR_GRP1;
270*5113495bSYour Name 	uint32_t d_A_SOC_CORE_PCIE_INTR_ENABLE_GRP1;
271*5113495bSYour Name 	uint32_t d_A_SOC_PCIE_PCIE_SCRATCH_0;
272*5113495bSYour Name 	uint32_t d_A_SOC_PCIE_PCIE_SCRATCH_1;
273*5113495bSYour Name 	uint32_t d_A_WIFI_APB_1_A_WFSS_CE_TARGET_HOST_DELTA;
274*5113495bSYour Name 	uint32_t d_A_SOC_PCIE_PCIE_SCRATCH_2;
275*5113495bSYour Name 	uint32_t d_A_SOC_CORE_PCIE_INTR_ENABLE_GRP0_Q6_MASK;
276*5113495bSYour Name 
277*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_INPUT_SEL_OFFSET;
278*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_INPUT_SEL_SRC_MSB;
279*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_INPUT_SEL_SRC_LSB;
280*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_INPUT_SEL_SRC_MASK;
281*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_CONTROL_OFFSET;
282*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_CONTROL_ENABLE_MSB;
283*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_CONTROL_ENABLE_LSB;
284*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_CONTROL_ENABLE_MASK;
285*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_OUT_OFFSET;
286*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_OUT_DATA_MSB;
287*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_OUT_DATA_LSB;
288*5113495bSYour Name 	uint32_t d_WLAN_DEBUG_OUT_DATA_MASK;
289*5113495bSYour Name 	uint32_t d_AMBA_DEBUG_BUS_OFFSET;
290*5113495bSYour Name 	uint32_t d_AMBA_DEBUG_BUS_PCIE_DEBUG_SEL_MSB;
291*5113495bSYour Name 	uint32_t d_AMBA_DEBUG_BUS_PCIE_DEBUG_SEL_LSB;
292*5113495bSYour Name 	uint32_t d_AMBA_DEBUG_BUS_PCIE_DEBUG_SEL_MASK;
293*5113495bSYour Name 	uint32_t d_AMBA_DEBUG_BUS_SEL_MSB;
294*5113495bSYour Name 	uint32_t d_AMBA_DEBUG_BUS_SEL_LSB;
295*5113495bSYour Name 	uint32_t d_AMBA_DEBUG_BUS_SEL_MASK;
296*5113495bSYour Name 
297*5113495bSYour Name #ifdef QCA_WIFI_3_0_ADRASTEA
298*5113495bSYour Name 	uint32_t d_Q6_ENABLE_REGISTER_0;
299*5113495bSYour Name 	uint32_t d_Q6_ENABLE_REGISTER_1;
300*5113495bSYour Name 	uint32_t d_Q6_CAUSE_REGISTER_0;
301*5113495bSYour Name 	uint32_t d_Q6_CAUSE_REGISTER_1;
302*5113495bSYour Name 	uint32_t d_Q6_CLEAR_REGISTER_0;
303*5113495bSYour Name 	uint32_t d_Q6_CLEAR_REGISTER_1;
304*5113495bSYour Name #endif
305*5113495bSYour Name #ifdef CONFIG_BYPASS_QMI
306*5113495bSYour Name 	uint32_t d_BYPASS_QMI_TEMP_REGISTER;
307*5113495bSYour Name #endif
308*5113495bSYour Name 	uint32_t d_WIFICMN_INT_STATUS_ADDRESS;
309*5113495bSYour Name };
310*5113495bSYour Name 
311*5113495bSYour Name struct hostdef_s {
312*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_ERROR_LSB;
313*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_ERROR_MASK;
314*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_CPU_LSB;
315*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_CPU_MASK;
316*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_COUNTER_LSB;
317*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_COUNTER_MASK;
318*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_MBOX_DATA_LSB;
319*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_MBOX_DATA_MASK;
320*5113495bSYour Name 	uint32_t d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB;
321*5113495bSYour Name 	uint32_t d_ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK;
322*5113495bSYour Name 	uint32_t d_ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB;
323*5113495bSYour Name 	uint32_t d_ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK;
324*5113495bSYour Name 	uint32_t d_COUNTER_INT_STATUS_ENABLE_BIT_LSB;
325*5113495bSYour Name 	uint32_t d_COUNTER_INT_STATUS_ENABLE_BIT_MASK;
326*5113495bSYour Name 	uint32_t d_INT_STATUS_ENABLE_ADDRESS;
327*5113495bSYour Name 	uint32_t d_CPU_INT_STATUS_ENABLE_BIT_LSB;
328*5113495bSYour Name 	uint32_t d_CPU_INT_STATUS_ENABLE_BIT_MASK;
329*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_ADDRESS;
330*5113495bSYour Name 	uint32_t d_CPU_INT_STATUS_ADDRESS;
331*5113495bSYour Name 	uint32_t d_ERROR_INT_STATUS_ADDRESS;
332*5113495bSYour Name 	uint32_t d_ERROR_INT_STATUS_WAKEUP_MASK;
333*5113495bSYour Name 	uint32_t d_ERROR_INT_STATUS_WAKEUP_LSB;
334*5113495bSYour Name 	uint32_t d_ERROR_INT_STATUS_RX_UNDERFLOW_MASK;
335*5113495bSYour Name 	uint32_t d_ERROR_INT_STATUS_RX_UNDERFLOW_LSB;
336*5113495bSYour Name 	uint32_t d_ERROR_INT_STATUS_TX_OVERFLOW_MASK;
337*5113495bSYour Name 	uint32_t d_ERROR_INT_STATUS_TX_OVERFLOW_LSB;
338*5113495bSYour Name 	uint32_t d_COUNT_DEC_ADDRESS;
339*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_CPU_MASK;
340*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_CPU_LSB;
341*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_ERROR_MASK;
342*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_ERROR_LSB;
343*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_COUNTER_MASK;
344*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_COUNTER_LSB;
345*5113495bSYour Name 	uint32_t d_RX_LOOKAHEAD_VALID_ADDRESS;
346*5113495bSYour Name 	uint32_t d_WINDOW_DATA_ADDRESS;
347*5113495bSYour Name 	uint32_t d_WINDOW_READ_ADDR_ADDRESS;
348*5113495bSYour Name 	uint32_t d_WINDOW_WRITE_ADDR_ADDRESS;
349*5113495bSYour Name 	uint32_t d_SOC_GLOBAL_RESET_ADDRESS;
350*5113495bSYour Name 	uint32_t d_RTC_STATE_ADDRESS;
351*5113495bSYour Name 	uint32_t d_RTC_STATE_COLD_RESET_MASK;
352*5113495bSYour Name 	uint32_t d_PCIE_LOCAL_BASE_ADDRESS;
353*5113495bSYour Name 	uint32_t d_PCIE_SOC_WAKE_RESET;
354*5113495bSYour Name 	uint32_t d_PCIE_SOC_WAKE_ADDRESS;
355*5113495bSYour Name 	uint32_t d_PCIE_SOC_WAKE_V_MASK;
356*5113495bSYour Name 	uint32_t d_RTC_STATE_V_MASK;
357*5113495bSYour Name 	uint32_t d_RTC_STATE_V_LSB;
358*5113495bSYour Name 	uint32_t d_FW_IND_EVENT_PENDING;
359*5113495bSYour Name 	uint32_t d_FW_IND_INITIALIZED;
360*5113495bSYour Name 	uint32_t d_FW_IND_HELPER;
361*5113495bSYour Name 	uint32_t d_RTC_STATE_V_ON;
362*5113495bSYour Name #if defined(SDIO_3_0)
363*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_MBOX_DATA_MASK;
364*5113495bSYour Name 	uint32_t d_HOST_INT_STATUS_MBOX_DATA_LSB;
365*5113495bSYour Name #endif
366*5113495bSYour Name 	uint32_t d_PCIE_SOC_RDY_STATUS_ADDRESS;
367*5113495bSYour Name 	uint32_t d_PCIE_SOC_RDY_STATUS_BAR_MASK;
368*5113495bSYour Name 	uint32_t d_SOC_PCIE_BASE_ADDRESS;
369*5113495bSYour Name 	uint32_t d_MSI_MAGIC_ADR_ADDRESS;
370*5113495bSYour Name 	uint32_t d_MSI_MAGIC_ADDRESS;
371*5113495bSYour Name 	uint32_t d_HOST_CE_COUNT;
372*5113495bSYour Name 	uint32_t d_ENABLE_MSI;
373*5113495bSYour Name 	uint32_t d_MUX_ID_MASK;
374*5113495bSYour Name 	uint32_t d_TRANSACTION_ID_MASK;
375*5113495bSYour Name 	uint32_t d_DESC_DATA_FLAG_MASK;
376*5113495bSYour Name 	uint32_t d_A_SOC_PCIE_PCIE_BAR0_START;
377*5113495bSYour Name 	uint32_t d_FW_IND_HOST_READY;
378*5113495bSYour Name };
379*5113495bSYour Name 
380*5113495bSYour Name struct host_shadow_regs_s {
381*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_0;
382*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_1;
383*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_2;
384*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_3;
385*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_4;
386*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_5;
387*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_6;
388*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_7;
389*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_8;
390*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_9;
391*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_10;
392*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_11;
393*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_12;
394*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_13;
395*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_14;
396*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_15;
397*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_16;
398*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_17;
399*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_18;
400*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_19;
401*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_20;
402*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_21;
403*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_22;
404*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_VALUE_23;
405*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_0;
406*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_1;
407*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_2;
408*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_3;
409*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_4;
410*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_5;
411*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_6;
412*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_7;
413*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_8;
414*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_9;
415*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_10;
416*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_11;
417*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_12;
418*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_13;
419*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_14;
420*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_15;
421*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_16;
422*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_17;
423*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_18;
424*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_19;
425*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_20;
426*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_21;
427*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_22;
428*5113495bSYour Name 	uint32_t d_A_LOCAL_SHADOW_REG_ADDRESS_23;
429*5113495bSYour Name };
430*5113495bSYour Name 
431*5113495bSYour Name 
432*5113495bSYour Name /*
433*5113495bSYour Name  * @d_DST_WR_INDEX_ADDRESS: Destination ring write index
434*5113495bSYour Name  *
435*5113495bSYour Name  * @d_SRC_WATERMARK_ADDRESS: Source ring watermark
436*5113495bSYour Name  *
437*5113495bSYour Name  * @d_SRC_WATERMARK_LOW_MASK: Bits indicating low watermark from Source ring
438*5113495bSYour Name  *			      watermark
439*5113495bSYour Name  *
440*5113495bSYour Name  * @d_SRC_WATERMARK_HIGH_MASK: Bits indicating high watermark from Source ring
441*5113495bSYour Name  *			       watermark
442*5113495bSYour Name  *
443*5113495bSYour Name  * @d_DST_WATERMARK_LOW_MASK: Bits indicating low watermark from Destination
444*5113495bSYour Name  *			      ring watermark
445*5113495bSYour Name  *
446*5113495bSYour Name  * @d_DST_WATERMARK_HIGH_MASK: Bits indicating high watermark from Destination
447*5113495bSYour Name  *			       ring watermark
448*5113495bSYour Name  *
449*5113495bSYour Name  * @d_CURRENT_SRRI_ADDRESS: Current source ring read index.The Start Offset
450*5113495bSYour Name  *			    will be reflected after a CE transfer is completed.
451*5113495bSYour Name  *
452*5113495bSYour Name  * @d_CURRENT_DRRI_ADDRESS: Current Destination ring read index. The Start
453*5113495bSYour Name  *			    Offset will be reflected after a CE transfer
454*5113495bSYour Name  *			    is completed.
455*5113495bSYour Name  *
456*5113495bSYour Name  * @d_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK: Source ring high watermark
457*5113495bSYour Name  *					    Interrupt Status
458*5113495bSYour Name  *
459*5113495bSYour Name  * @d_HOST_IS_SRC_RING_LOW_WATERMARK_MASK: Source ring low watermark
460*5113495bSYour Name  *					   Interrupt Status
461*5113495bSYour Name  *
462*5113495bSYour Name  * @d_HOST_IS_DST_RING_HIGH_WATERMARK_MASK: Destination ring high watermark
463*5113495bSYour Name  *					    Interrupt Status
464*5113495bSYour Name  *
465*5113495bSYour Name  * @d_HOST_IS_DST_RING_LOW_WATERMARK_MASK: Source ring low watermark
466*5113495bSYour Name  *					   Interrupt Status
467*5113495bSYour Name  *
468*5113495bSYour Name  * @d_HOST_IS_ADDRESS: Host Interrupt Status Register
469*5113495bSYour Name  *
470*5113495bSYour Name  * @d_MISC_IS_ADDRESS: Miscellaneous Interrupt Status Register
471*5113495bSYour Name  *
472*5113495bSYour Name  * @d_HOST_IS_COPY_COMPLETE_MASK: Bits indicating Copy complete interrupt
473*5113495bSYour Name  *				  status from the Host Interrupt Status
474*5113495bSYour Name  *				  register
475*5113495bSYour Name  *
476*5113495bSYour Name  * @d_CE_WRAPPER_BASE_ADDRESS: Copy Engine Wrapper Base Address
477*5113495bSYour Name  *
478*5113495bSYour Name  * @d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS: CE Wrapper summary for interrupts
479*5113495bSYour Name  *					    to host
480*5113495bSYour Name  *
481*5113495bSYour Name  * @d_CE_WRAPPER_INDEX_BASE_LOW: The LSB Base address to which source and
482*5113495bSYour Name  *				 destination read indices are written
483*5113495bSYour Name  *
484*5113495bSYour Name  * @d_CE_WRAPPER_INDEX_BASE_HIGH: The MSB Base address to which source and
485*5113495bSYour Name  *				  destination read indices are written
486*5113495bSYour Name  *
487*5113495bSYour Name  * @d_HOST_IE_ADDRESS: Host Line Interrupt Enable Register
488*5113495bSYour Name  *
489*5113495bSYour Name  * @d_HOST_IE_COPY_COMPLETE_MASK: Bits indicating Copy complete interrupt
490*5113495bSYour Name  *				  enable from the IE register
491*5113495bSYour Name  *
492*5113495bSYour Name  * @d_HOST_IE_SRC_TIMER_BATCH_MASK: Bits indicating src timer batch interrupt
493*5113495bSYour Name  *					enable from the IE register
494*5113495bSYour Name  *
495*5113495bSYour Name  * @d_HOST_IE_DST_TIMER_BATCH_MASK: Bits indicating dst timer batch interrupt
496*5113495bSYour Name  *					enable from the IE register
497*5113495bSYour Name  *
498*5113495bSYour Name  * @d_SR_BA_ADDRESS: LSB of Source Ring Base Address
499*5113495bSYour Name  *
500*5113495bSYour Name  * @d_SR_BA_ADDRESS_HIGH: MSB of Source Ring Base Address
501*5113495bSYour Name  *
502*5113495bSYour Name  * @d_SR_SIZE_ADDRESS: Source Ring size - number of entries and Start Offset
503*5113495bSYour Name  *
504*5113495bSYour Name  * @d_CE_CTRL1_ADDRESS: CE Control register
505*5113495bSYour Name  *
506*5113495bSYour Name  * @d_CE_CTRL1_DMAX_LENGTH_MASK: Destination buffer Max Length used for error
507*5113495bSYour Name  *				 check
508*5113495bSYour Name  *
509*5113495bSYour Name  * @d_DR_BA_ADDRESS: Destination Ring Base Address Low
510*5113495bSYour Name  *
511*5113495bSYour Name  * @d_DR_BA_ADDRESS_HIGH: Destination Ring Base Address High
512*5113495bSYour Name  *
513*5113495bSYour Name  * @d_DR_SIZE_ADDRESS: Destination Ring size - number of entries Start Offset
514*5113495bSYour Name  *
515*5113495bSYour Name  * @d_CE_CMD_REGISTER: Implements commands to all CE Halt Flush
516*5113495bSYour Name  *
517*5113495bSYour Name  * @d_CE_MSI_ADDRESS: CE MSI LOW Address register
518*5113495bSYour Name  *
519*5113495bSYour Name  * @d_CE_MSI_ADDRESS_HIGH: CE MSI High Address register
520*5113495bSYour Name  *
521*5113495bSYour Name  * @d_CE_MSI_DATA: CE MSI Data Register
522*5113495bSYour Name  *
523*5113495bSYour Name  * @d_CE_MSI_ENABLE_BIT: Bit in CTRL1 register indication the MSI enable
524*5113495bSYour Name  *
525*5113495bSYour Name  * @d_MISC_IE_ADDRESS: Miscellaneous Interrupt Enable Register
526*5113495bSYour Name  *
527*5113495bSYour Name  * @d_MISC_IS_AXI_ERR_MASK:
528*5113495bSYour Name  *		Bit in Misc IS indicating AXI Timeout Interrupt status
529*5113495bSYour Name  *
530*5113495bSYour Name  * @d_MISC_IS_DST_ADDR_ERR_MASK:
531*5113495bSYour Name  *		Bit in Misc IS indicating Destination Address Error
532*5113495bSYour Name  *
533*5113495bSYour Name  * @d_MISC_IS_SRC_LEN_ERR_MASK: Bit in Misc IS indicating Source Zero Length
534*5113495bSYour Name  *				Error Interrupt status
535*5113495bSYour Name  *
536*5113495bSYour Name  * @d_MISC_IS_DST_MAX_LEN_VIO_MASK: Bit in Misc IS indicating Destination Max
537*5113495bSYour Name  *				    Length Violated Interrupt status
538*5113495bSYour Name  *
539*5113495bSYour Name  * @d_MISC_IS_DST_RING_OVERFLOW_MASK: Bit in Misc IS indicating Destination
540*5113495bSYour Name  *				      Ring Overflow Interrupt status
541*5113495bSYour Name  *
542*5113495bSYour Name  * @d_MISC_IS_SRC_RING_OVERFLOW_MASK: Bit in Misc IS indicating Source Ring
543*5113495bSYour Name  *				      Overflow Interrupt status
544*5113495bSYour Name  *
545*5113495bSYour Name  * @d_SRC_WATERMARK_LOW_LSB: Source Ring Low Watermark LSB
546*5113495bSYour Name  *
547*5113495bSYour Name  * @d_SRC_WATERMARK_HIGH_LSB: Source Ring Low Watermark MSB
548*5113495bSYour Name  *
549*5113495bSYour Name  * @d_DST_WATERMARK_LOW_LSB: Destination Ring Low Watermark LSB
550*5113495bSYour Name  *
551*5113495bSYour Name  * @d_DST_WATERMARK_HIGH_LSB: Destination Ring High Watermark LSB
552*5113495bSYour Name  *
553*5113495bSYour Name  * @d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK:
554*5113495bSYour Name  *		Bits in d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDR
555*5113495bSYour Name  *		indicating Copy engine miscellaneous interrupt summary
556*5113495bSYour Name  *
557*5113495bSYour Name  * @d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB:
558*5113495bSYour Name  *		Bits in d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDR
559*5113495bSYour Name  *		indicating Host interrupts summary
560*5113495bSYour Name  *
561*5113495bSYour Name  * @d_CE_CTRL1_DMAX_LENGTH_LSB:
562*5113495bSYour Name  *		LSB of Destination buffer Max Length used for error check
563*5113495bSYour Name  *
564*5113495bSYour Name  * @d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK:
565*5113495bSYour Name  *		Bits indicating Source ring Byte Swap enable.
566*5113495bSYour Name  *		Treats source ring memory organisation as big-endian.
567*5113495bSYour Name  *
568*5113495bSYour Name  * @d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK:
569*5113495bSYour Name  *		Bits indicating Destination ring byte swap enable.
570*5113495bSYour Name  *		Treats destination ring memory organisation as big-endian
571*5113495bSYour Name  *
572*5113495bSYour Name  * @d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB:
573*5113495bSYour Name  *		LSB of Source ring Byte Swap enable
574*5113495bSYour Name  *
575*5113495bSYour Name  * @d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB:
576*5113495bSYour Name  *		LSB of Destination ring Byte Swap enable
577*5113495bSYour Name  *
578*5113495bSYour Name  * @d_CE_WRAPPER_DEBUG_OFFSET: Offset of CE OBS BUS Select register
579*5113495bSYour Name  *
580*5113495bSYour Name  * @d_CE_WRAPPER_DEBUG_SEL_MSB:
581*5113495bSYour Name  *		MSB of Control register selecting inputs for trace/debug
582*5113495bSYour Name  *
583*5113495bSYour Name  * @d_CE_WRAPPER_DEBUG_SEL_LSB:
584*5113495bSYour Name  *		LSB of Control register selecting inputs for trace/debug
585*5113495bSYour Name  *
586*5113495bSYour Name  * @d_CE_WRAPPER_DEBUG_SEL_MASK:
587*5113495bSYour Name  *		Bit mask for trace/debug Control register
588*5113495bSYour Name  *
589*5113495bSYour Name  * @d_CE_DEBUG_OFFSET: Offset of Copy Engine FSM Debug Status
590*5113495bSYour Name  *
591*5113495bSYour Name  * @d_CE_DEBUG_SEL_MSB: MSB of Copy Engine FSM Debug Status
592*5113495bSYour Name  *
593*5113495bSYour Name  * @d_CE_DEBUG_SEL_LSB: LSB of Copy Engine FSM Debug Status
594*5113495bSYour Name  *
595*5113495bSYour Name  * @d_CE_DEBUG_SEL_MASK: Bits indicating Copy Engine FSM Debug Status
596*5113495bSYour Name  *
597*5113495bSYour Name  * @d_HOST_CMEM_ADDRESS: Base address of CMEM
598*5113495bSYour Name  *
599*5113495bSYour Name  * @d_CE_SRC_BATCH_TIMER_THRESH_MASK: SRC ring timer threshold for interrupt
600*5113495bSYour Name  *
601*5113495bSYour Name  * @d_CE_SRC_BATCH_COUNTER_THRESH_MASK: SRC ring counter threshold for
602*5113495bSYour Name  *					interrupt
603*5113495bSYour Name  *
604*5113495bSYour Name  * @d_CE_SRC_BATCH_TIMER_THRESH_LSB: LSB for src ring timer threshold
605*5113495bSYour Name  *
606*5113495bSYour Name  * @d_CE_SRC_BATCH_COUNTER_THRESH_LSB: LSB for src ring counter threshold
607*5113495bSYour Name  *
608*5113495bSYour Name  * @d_CE_DST_BATCH_TIMER_THRESH_MASK: DST ring timer threshold for interrupt
609*5113495bSYour Name  *
610*5113495bSYour Name  * @d_CE_DST_BATCH_COUNTER_THRESH_MASK: DST ring counter threshold for
611*5113495bSYour Name  *					interrupt
612*5113495bSYour Name  *
613*5113495bSYour Name  * @d_CE_DST_BATCH_TIMER_THRESH_LSB: LSB for dst ring timer threshold
614*5113495bSYour Name  *
615*5113495bSYour Name  * @d_CE_DST_BATCH_COUNTER_THRESH_LSB: LSB for dst ring counter threshold
616*5113495bSYour Name  *
617*5113495bSYour Name  */
618*5113495bSYour Name struct ce_reg_def {
619*5113495bSYour Name 	/* copy_engine.c */
620*5113495bSYour Name 	uint32_t d_DST_WR_INDEX_ADDRESS;
621*5113495bSYour Name 	uint32_t d_SRC_WATERMARK_ADDRESS;
622*5113495bSYour Name 	uint32_t d_SRC_WATERMARK_LOW_MASK;
623*5113495bSYour Name 	uint32_t d_SRC_WATERMARK_HIGH_MASK;
624*5113495bSYour Name 	uint32_t d_DST_WATERMARK_LOW_MASK;
625*5113495bSYour Name 	uint32_t d_DST_WATERMARK_HIGH_MASK;
626*5113495bSYour Name 	uint32_t d_CURRENT_SRRI_ADDRESS;
627*5113495bSYour Name 	uint32_t d_CURRENT_DRRI_ADDRESS;
628*5113495bSYour Name 	uint32_t d_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK;
629*5113495bSYour Name 	uint32_t d_HOST_IS_SRC_RING_LOW_WATERMARK_MASK;
630*5113495bSYour Name 	uint32_t d_HOST_IS_DST_RING_HIGH_WATERMARK_MASK;
631*5113495bSYour Name 	uint32_t d_HOST_IS_DST_RING_LOW_WATERMARK_MASK;
632*5113495bSYour Name 	uint32_t d_HOST_IS_ADDRESS;
633*5113495bSYour Name 	uint32_t d_MISC_IS_ADDRESS;
634*5113495bSYour Name 	uint32_t d_HOST_IS_COPY_COMPLETE_MASK;
635*5113495bSYour Name 	uint32_t d_CE_WRAPPER_BASE_ADDRESS;
636*5113495bSYour Name 	uint32_t d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS;
637*5113495bSYour Name 	uint32_t d_CE_DDR_ADDRESS_FOR_RRI_LOW;
638*5113495bSYour Name 	uint32_t d_CE_DDR_ADDRESS_FOR_RRI_HIGH;
639*5113495bSYour Name 	uint32_t d_HOST_IE_ADDRESS;
640*5113495bSYour Name 	uint32_t d_HOST_IE_ADDRESS_2;
641*5113495bSYour Name 	uint32_t d_HOST_IE_COPY_COMPLETE_MASK;
642*5113495bSYour Name 	uint32_t d_HOST_IE_SRC_TIMER_BATCH_MASK;
643*5113495bSYour Name 	uint32_t d_HOST_IE_DST_TIMER_BATCH_MASK;
644*5113495bSYour Name 	uint32_t d_SR_BA_ADDRESS;
645*5113495bSYour Name 	uint32_t d_SR_BA_ADDRESS_HIGH;
646*5113495bSYour Name 	uint32_t d_SR_SIZE_ADDRESS;
647*5113495bSYour Name 	uint32_t d_CE_CTRL1_ADDRESS;
648*5113495bSYour Name 	uint32_t d_CE_CTRL1_DMAX_LENGTH_MASK;
649*5113495bSYour Name 	uint32_t d_DR_BA_ADDRESS;
650*5113495bSYour Name 	uint32_t d_DR_BA_ADDRESS_HIGH;
651*5113495bSYour Name 	uint32_t d_DR_SIZE_ADDRESS;
652*5113495bSYour Name 	uint32_t d_CE_CMD_REGISTER;
653*5113495bSYour Name 	uint32_t d_CE_MSI_ADDRESS;
654*5113495bSYour Name 	uint32_t d_CE_MSI_ADDRESS_HIGH;
655*5113495bSYour Name 	uint32_t d_CE_MSI_DATA;
656*5113495bSYour Name 	uint32_t d_CE_MSI_ENABLE_BIT;
657*5113495bSYour Name 	uint32_t d_MISC_IE_ADDRESS;
658*5113495bSYour Name 	uint32_t d_MISC_IS_AXI_ERR_MASK;
659*5113495bSYour Name 	uint32_t d_MISC_IS_DST_ADDR_ERR_MASK;
660*5113495bSYour Name 	uint32_t d_MISC_IS_SRC_LEN_ERR_MASK;
661*5113495bSYour Name 	uint32_t d_MISC_IS_DST_MAX_LEN_VIO_MASK;
662*5113495bSYour Name 	uint32_t d_MISC_IS_DST_RING_OVERFLOW_MASK;
663*5113495bSYour Name 	uint32_t d_MISC_IS_SRC_RING_OVERFLOW_MASK;
664*5113495bSYour Name 	uint32_t d_SRC_WATERMARK_LOW_LSB;
665*5113495bSYour Name 	uint32_t d_SRC_WATERMARK_HIGH_LSB;
666*5113495bSYour Name 	uint32_t d_DST_WATERMARK_LOW_LSB;
667*5113495bSYour Name 	uint32_t d_DST_WATERMARK_HIGH_LSB;
668*5113495bSYour Name 	uint32_t d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK;
669*5113495bSYour Name 	uint32_t d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB;
670*5113495bSYour Name 	uint32_t d_CE_CTRL1_DMAX_LENGTH_LSB;
671*5113495bSYour Name 	uint32_t d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK;
672*5113495bSYour Name 	uint32_t d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK;
673*5113495bSYour Name 	uint32_t d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB;
674*5113495bSYour Name 	uint32_t d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB;
675*5113495bSYour Name 	uint32_t d_CE_CTRL1_IDX_UPD_EN_MASK;
676*5113495bSYour Name 	uint32_t d_CE_WRAPPER_DEBUG_OFFSET;
677*5113495bSYour Name 	uint32_t d_CE_WRAPPER_DEBUG_SEL_MSB;
678*5113495bSYour Name 	uint32_t d_CE_WRAPPER_DEBUG_SEL_LSB;
679*5113495bSYour Name 	uint32_t d_CE_WRAPPER_DEBUG_SEL_MASK;
680*5113495bSYour Name 	uint32_t d_CE_DEBUG_OFFSET;
681*5113495bSYour Name 	uint32_t d_CE_DEBUG_SEL_MSB;
682*5113495bSYour Name 	uint32_t d_CE_DEBUG_SEL_LSB;
683*5113495bSYour Name 	uint32_t d_CE_DEBUG_SEL_MASK;
684*5113495bSYour Name 	uint32_t d_CE0_BASE_ADDRESS;
685*5113495bSYour Name 	uint32_t d_CE1_BASE_ADDRESS;
686*5113495bSYour Name 	uint32_t d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES;
687*5113495bSYour Name 	uint32_t d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS;
688*5113495bSYour Name 	uint32_t d_HOST_IE_ADDRESS_3;
689*5113495bSYour Name 	uint32_t d_HOST_IE_REG1_CE_LSB;
690*5113495bSYour Name 	uint32_t d_HOST_IE_REG2_CE_LSB;
691*5113495bSYour Name 	uint32_t d_HOST_IE_REG3_CE_LSB;
692*5113495bSYour Name 	uint32_t d_HOST_CE_ADDRESS;
693*5113495bSYour Name 	uint32_t d_HOST_CMEM_ADDRESS;
694*5113495bSYour Name 	uint32_t d_PMM_SCRATCH_BASE;
695*5113495bSYour Name 	uint32_t d_CE_SRC_BATCH_TIMER_THRESH_MASK;
696*5113495bSYour Name 	uint32_t d_CE_SRC_BATCH_COUNTER_THRESH_MASK;
697*5113495bSYour Name 	uint32_t d_CE_SRC_BATCH_TIMER_THRESH_LSB;
698*5113495bSYour Name 	uint32_t d_CE_SRC_BATCH_COUNTER_THRESH_LSB;
699*5113495bSYour Name 	uint32_t d_CE_DST_BATCH_TIMER_THRESH_MASK;
700*5113495bSYour Name 	uint32_t d_CE_DST_BATCH_COUNTER_THRESH_MASK;
701*5113495bSYour Name 	uint32_t d_CE_DST_BATCH_TIMER_THRESH_LSB;
702*5113495bSYour Name 	uint32_t d_CE_DST_BATCH_COUNTER_THRESH_LSB;
703*5113495bSYour Name 	uint32_t d_CE_SRC_BATCH_TIMER_INT_SETUP;
704*5113495bSYour Name 	uint32_t d_CE_DST_BATCH_TIMER_INT_SETUP;
705*5113495bSYour Name };
706*5113495bSYour Name 
707*5113495bSYour Name #endif
708