xref: /wlan-driver/qca-wifi-host-cmn/hif/src/wcn6450def.h (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
3*5113495bSYour Name  *
4*5113495bSYour Name  * Permission to use, copy, modify, and/or distribute this software for any
5*5113495bSYour Name  * purpose with or without fee is hereby granted, provided that the above
6*5113495bSYour Name  * copyright notice and this permission notice appear in all copies.
7*5113495bSYour Name 
8*5113495bSYour Name  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9*5113495bSYour Name  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10*5113495bSYour Name  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11*5113495bSYour Name  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12*5113495bSYour Name  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13*5113495bSYour Name  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14*5113495bSYour Name  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15*5113495bSYour Name  */
16*5113495bSYour Name 
17*5113495bSYour Name #if defined(WCN6450_HEADERS_DEF)
18*5113495bSYour Name 
19*5113495bSYour Name #include "msmhwiobase.h"
20*5113495bSYour Name #include "hwio.h"
21*5113495bSYour Name 
22*5113495bSYour Name #define WCN6450_CE0_BASE_ADDRESS HOST_SOC_A_WFSS_CE0_WFSS_CE_0_REG_REG_BASE
23*5113495bSYour Name #define WCN6450_CE1_BASE_ADDRESS HOST_SOC_A_WFSS_CE1_WFSS_CE_1_REG_REG_BASE
24*5113495bSYour Name 
25*5113495bSYour Name #define WCN6450_SR_WR_INDEX_OFFSET \
26*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_SRC_WR_INDEX_ADDR - \
27*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
28*5113495bSYour Name #define WCN6450_DST_WR_INDEX_OFFSET \
29*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_DST_WR_INDEX_ADDR - \
30*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
31*5113495bSYour Name #define WCN6450_SRC_WATERMARK_OFFSET \
32*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_ADDR - \
33*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
34*5113495bSYour Name #define WCN6450_SRC_WATERMARK_LOW_MASK \
35*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_LOW_WATER_MARK_THRESOLD_BMSK
36*5113495bSYour Name #define WCN6450_SRC_WATERMARK_LOW_LSB \
37*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_LOW_WATER_MARK_THRESOLD_SHFT
38*5113495bSYour Name #define WCN6450_SRC_WATERMARK_HIGH_MASK \
39*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_HIGH_WATER_MARK_THRESHOLD_BMSK
40*5113495bSYour Name #define WCN6450_SRC_WATERMARK_HIGH_LSB \
41*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_SRC_WATERMARK_SR_HIGH_WATER_MARK_THRESHOLD_SHFT
42*5113495bSYour Name #define WCN6450_DST_WATERMARK_OFFSET \
43*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_ADDR - \
44*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
45*5113495bSYour Name #define WCN6450_DST_WATERMARK_LOW_MASK \
46*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_LOW_WATER_MARK_THRESHOLD_BMSK
47*5113495bSYour Name #define WCN6450_DST_WATERMARK_LOW_LSB \
48*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_LOW_WATER_MARK_THRESHOLD_SHFT
49*5113495bSYour Name #define WCN6450_DST_WATERMARK_HIGH_MASK	\
50*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_HIGH_WATER_MARK_THRESHOLD_BMSK
51*5113495bSYour Name #define WCN6450_DST_WATERMARK_HIGH_LSB \
52*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_DST_WATERMARK_DR_HIGH_WATER_MARK_THRESHOLD_SHFT
53*5113495bSYour Name #define WCN6450_CURRENT_SRRI_OFFSET \
54*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_CURRENT_SRRI_ADDR - \
55*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
56*5113495bSYour Name #define WCN6450_CURRENT_DRRI_OFFSET \
57*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_CURRENT_DRRI_ADDR - \
58*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
59*5113495bSYour Name #define WCN6450_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK \
60*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_SRC_RING_HIGH_WATERMARK_BMSK
61*5113495bSYour Name #define WCN6450_HOST_IS_SRC_RING_LOW_WATERMARK_MASK \
62*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_SRC_RING_LOW_WATERMARK_BMSK
63*5113495bSYour Name #define WCN6450_HOST_IS_DST_RING_HIGH_WATERMARK_MASK \
64*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_DST_RING_HIGH_WATERMARK_BMSK
65*5113495bSYour Name #define WCN6450_HOST_IS_DST_RING_LOW_WATERMARK_MASK \
66*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_DST_RING_LOW_WATERMARK_BMSK
67*5113495bSYour Name #define WCN6450_HOST_IS_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_ADDR \
68*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
69*5113495bSYour Name #define WCN6450_MISC_IS_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_MISC_IE_ADDR \
70*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
71*5113495bSYour Name #define WCN6450_HOST_IS_COPY_COMPLETE_MASK \
72*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IS_COPY_COMPLETE_BMSK
73*5113495bSYour Name #define WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS \
74*5113495bSYour Name 	HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_REG_BASE
75*5113495bSYour Name #define WCN6450_CE_COMMON_WRAPPER_INTERRUPT_SUMMARY_ADDRESS_OFFSET \
76*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_HOST_INTERRUPT_SUMMARY_ADDR \
77*5113495bSYour Name 	 - WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS)
78*5113495bSYour Name #define WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK \
79*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_HOST_INTERRUPT_SUMMARY_HOST_BMSK
80*5113495bSYour Name #define WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB \
81*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_HOST_INTERRUPT_SUMMARY_HOST_SHFT
82*5113495bSYour Name #define WCN6450_CE_DDR_ADDRESS_FOR_RRI_LOW \
83*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_INDEX_BASE_LOW_ADDR \
84*5113495bSYour Name 	 - WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS)
85*5113495bSYour Name #define WCN6450_CE_DDR_ADDRESS_FOR_RRI_HIGH \
86*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE_COMMON_WRAPPER_CE_WRAPPER_INDEX_BASE_HIGH_ADDR \
87*5113495bSYour Name 	 - WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS)
88*5113495bSYour Name #define WCN6450_HOST_IE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_ADDR \
89*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
90*5113495bSYour Name #define WCN6450_HOST_IE_COPY_COMPLETE_MASK \
91*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_COPY_COMPLETE_BMSK
92*5113495bSYour Name #define WCN6450_HOST_IE_SRC_BATCH_TIMER_MASK \
93*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_SRC_TIMER_BATCH_BMSK
94*5113495bSYour Name #define WCN6450_HOST_IE_DST_BATCH_TIMER_MASK \
95*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_HOST_IE_DST_TIMER_BATCH_BMSK
96*5113495bSYour Name #define WCN6450_SR_BA_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_SR_BA_LOW_ADDR \
97*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
98*5113495bSYour Name #define WCN6450_SR_BA_HIGH_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_SR_BA_HIGH_ADDR \
99*5113495bSYour Name 					- WCN6450_CE0_BASE_ADDRESS)
100*5113495bSYour Name #define WCN6450_SR_SIZE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_SR_SIZE_ADDR \
101*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
102*5113495bSYour Name #define WCN6450_DR_BA_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_DR_BA_LOW_ADDR \
103*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
104*5113495bSYour Name #define WCN6450_DR_BA_HIGH_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_DR_BA_HIGH_ADDR \
105*5113495bSYour Name 					- WCN6450_CE0_BASE_ADDRESS)
106*5113495bSYour Name #define WCN6450_DR_SIZE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_DR_SIZE_ADDR \
107*5113495bSYour Name 					- WCN6450_CE0_BASE_ADDRESS)
108*5113495bSYour Name #define WCN6450_CE_CTRL1_OFFSET	(HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_ADDR \
109*5113495bSYour Name 					- WCN6450_CE0_BASE_ADDRESS)
110*5113495bSYour Name #define WCN6450_CE_CTRL1_DMAX_LENGTH_MASK \
111*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DEST_MAX_LENGTH_BMSK
112*5113495bSYour Name #define WCN6450_CE_CTRL1_DMAX_LENGTH_LSB \
113*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DEST_MAX_LENGTH_SHFT
114*5113495bSYour Name #define WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK \
115*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_BMSK
116*5113495bSYour Name #define WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB \
117*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_SHFT
118*5113495bSYour Name #define WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK \
119*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DST_RING_BYTE_SWAP_EN_BMSK
120*5113495bSYour Name #define WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB \
121*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_DST_RING_BYTE_SWAP_EN_SHFT
122*5113495bSYour Name #define WCN6450_CE_CTRL1_IDX_UPD_EN_MASK \
123*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_IDX_UPD_EN_BMSK
124*5113495bSYour Name #define WCN6450_CE_CMD_REGISTER_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_CE_CMD_ADDR \
125*5113495bSYour Name 					 - WCN6450_CE0_BASE_ADDRESS)
126*5113495bSYour Name #define WCN6450_CE_MSI_ADDRESS \
127*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_HOST_MSI_ADDR_LOW_ADDR - \
128*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
129*5113495bSYour Name #define WCN6450_CE_MSI_ADDRESS_HIGH \
130*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_HOST_MSI_ADDR_HIGH_ADDR - \
131*5113495bSYour Name 	 WCN6450_CE0_BASE_ADDRESS)
132*5113495bSYour Name #define WCN6450_CE_MSI_DATA (HWIO_HOST_SOC_A_WFSS_CE0_HOST_MSI_DATA_ADDR \
133*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
134*5113495bSYour Name #define WCN6450_CE_MSI_ENABLE_MASK \
135*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_CTRL1_HOST_MSI_EN_BMSK
136*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_TIMER_THRESH_MASK \
137*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK
138*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_COUNTER_THRESH_MASK \
139*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK
140*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_TIMER_THRESH_LSB \
141*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT
142*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_COUNTER_THRESH_LSB \
143*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT
144*5113495bSYour Name #define WCN6450_CE_SRC_BATCH_TIMER_INT_SETUP_OFFSET \
145*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_CE_SRC_BATCH_TIMER_INT_SETUP_ADDR \
146*5113495bSYour Name 	 - WCN6450_CE0_BASE_ADDRESS)
147*5113495bSYour Name #define WCN6450_CE_DST_BATCH_TIMER_THRESH_MASK \
148*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_BMSK
149*5113495bSYour Name #define WCN6450_CE_DST_BATCH_COUNTER_THRESH_MASK \
150*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_BMSK
151*5113495bSYour Name #define WCN6450_CE_DST_BATCH_TIMER_THRESH_LSB \
152*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_INTERRUPT_TIMER_THRESHOLD_SHFT
153*5113495bSYour Name #define WCN6450_CE_DST_BATCH_COUNTER_THRESH_LSB \
154*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_BATCH_COUNTER_THRESHOLD_SHFT
155*5113495bSYour Name #define WCN6450_CE_DST_BATCH_TIMER_INT_SETUP_OFFSET \
156*5113495bSYour Name 	(HWIO_HOST_SOC_A_WFSS_CE0_CE_DST_BATCH_TIMER_INT_SETUP_ADDR \
157*5113495bSYour Name 	 - WCN6450_CE0_BASE_ADDRESS)
158*5113495bSYour Name #define WCN6450_MISC_IE_OFFSET (HWIO_HOST_SOC_A_WFSS_CE0_MISC_IE_ADDR \
159*5113495bSYour Name 				- WCN6450_CE0_BASE_ADDRESS)
160*5113495bSYour Name #define WCN6450_MISC_IS_AXI_ERR_MASK \
161*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_AXI_BUS_ERR_BMSK
162*5113495bSYour Name #define WCN6450_MISC_IS_SRC_LEN_ERR_MASK \
163*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_SRC_LEN_ERR_BMSK
164*5113495bSYour Name #define WCN6450_MISC_IS_DST_MAX_LEN_VIO_MASK \
165*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_DST_MAX_LEN_VIO_BMSK
166*5113495bSYour Name #define WCN6450_MISC_IS_DST_RING_OVERFLOW_MASK \
167*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_DST_RING_OVERFLOW_BMSK
168*5113495bSYour Name #define WCN6450_MISC_IS_SRC_RING_OVERFLOW_MASK \
169*5113495bSYour Name 	HWIO_HOST_SOC_A_WFSS_CE0_MISC_IS_SRC_RING_OVERFLOW_BMSK
170*5113495bSYour Name 
171*5113495bSYour Name #define WCN6450_MISC_IS_DST_ADDR_ERR_MASK	MISSING
172*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_OFFSET		MISSING
173*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_SEL_MSB	MISSING
174*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_SEL_LSB	MISSING
175*5113495bSYour Name #define WCN6450_CE_WRAPPER_DEBUG_SEL_MASK	MISSING
176*5113495bSYour Name #define WCN6450_CE_DEBUG_OFFSET			MISSING
177*5113495bSYour Name #define WCN6450_CE_DEBUG_SEL_MSB		MISSING
178*5113495bSYour Name #define WCN6450_CE_DEBUG_SEL_LSB		MISSING
179*5113495bSYour Name #define WCN6450_CE_DEBUG_SEL_MASK		MISSING
180*5113495bSYour Name #define MISSING_FOR_WCN6450			MISSING
181*5113495bSYour Name #define WCN6450_CE_COUNT			12
182*5113495bSYour Name 
183*5113495bSYour Name #define SHADOW_REG_VAL_START_OFFSET	0x00000504
184*5113495bSYour Name #define SHADOW_REGISTER_VAL(x) ((SHADOW_REG_VAL_START_OFFSET) + (4 * (x)))
185*5113495bSYour Name 
186*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_0 SHADOW_REGISTER_VAL(0)
187*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_1 SHADOW_REGISTER_VAL(1)
188*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_2 SHADOW_REGISTER_VAL(2)
189*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_3 SHADOW_REGISTER_VAL(3)
190*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_4 SHADOW_REGISTER_VAL(4)
191*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_5 SHADOW_REGISTER_VAL(5)
192*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_6 SHADOW_REGISTER_VAL(6)
193*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_7 SHADOW_REGISTER_VAL(7)
194*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_8 SHADOW_REGISTER_VAL(8)
195*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_9 SHADOW_REGISTER_VAL(9)
196*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_10 SHADOW_REGISTER_VAL(10)
197*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_11 SHADOW_REGISTER_VAL(11)
198*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_12 SHADOW_REGISTER_VAL(12)
199*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_13 SHADOW_REGISTER_VAL(13)
200*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_14 SHADOW_REGISTER_VAL(14)
201*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_15 SHADOW_REGISTER_VAL(15)
202*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_16 SHADOW_REGISTER_VAL(16)
203*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_17 SHADOW_REGISTER_VAL(17)
204*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_18 SHADOW_REGISTER_VAL(18)
205*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_19 SHADOW_REGISTER_VAL(19)
206*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_20 SHADOW_REGISTER_VAL(20)
207*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_21 SHADOW_REGISTER_VAL(21)
208*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_22 SHADOW_REGISTER_VAL(22)
209*5113495bSYour Name #define WCN6450_A_LOCAL_SHADOW_REG_VALUE_23 SHADOW_REGISTER_VAL(23)
210*5113495bSYour Name 
211*5113495bSYour Name struct targetdef_s wcn6450_targetdef = {
212*5113495bSYour Name 	.d_FW_INDICATOR_ADDRESS = MISSING_FOR_WCN6450,
213*5113495bSYour Name 	.d_SR_WR_INDEX_ADDRESS = WCN6450_SR_WR_INDEX_OFFSET,
214*5113495bSYour Name 	.d_DST_WATERMARK_ADDRESS = WCN6450_DST_WATERMARK_OFFSET,
215*5113495bSYour Name 	.d_CE_COUNT = WCN6450_CE_COUNT,
216*5113495bSYour Name };
217*5113495bSYour Name 
218*5113495bSYour Name struct hostdef_s wcn6450_hostdef = {
219*5113495bSYour Name 	.d_HOST_CE_COUNT = WCN6450_CE_COUNT,
220*5113495bSYour Name 	.d_MUX_ID_MASK = 0xf000,
221*5113495bSYour Name 	.d_TRANSACTION_ID_MASK = 0x0fff,
222*5113495bSYour Name 	.d_DESC_DATA_FLAG_MASK = 0x7FFF1F00,
223*5113495bSYour Name };
224*5113495bSYour Name 
225*5113495bSYour Name struct ce_reg_def wcn6450_ce_targetdef = {
226*5113495bSYour Name 	.d_DST_WR_INDEX_ADDRESS = WCN6450_DST_WR_INDEX_OFFSET,
227*5113495bSYour Name 	.d_SRC_WATERMARK_ADDRESS = WCN6450_SRC_WATERMARK_OFFSET,
228*5113495bSYour Name 	.d_SRC_WATERMARK_LOW_MASK = WCN6450_SRC_WATERMARK_LOW_MASK,
229*5113495bSYour Name 	.d_SRC_WATERMARK_HIGH_MASK = WCN6450_SRC_WATERMARK_HIGH_MASK,
230*5113495bSYour Name 	.d_DST_WATERMARK_LOW_MASK = WCN6450_DST_WATERMARK_LOW_MASK,
231*5113495bSYour Name 	.d_DST_WATERMARK_HIGH_MASK = WCN6450_DST_WATERMARK_HIGH_MASK,
232*5113495bSYour Name 	.d_CURRENT_SRRI_ADDRESS = WCN6450_CURRENT_SRRI_OFFSET,
233*5113495bSYour Name 	.d_CURRENT_DRRI_ADDRESS = WCN6450_CURRENT_DRRI_OFFSET,
234*5113495bSYour Name 	.d_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK =
235*5113495bSYour Name 		WCN6450_HOST_IS_SRC_RING_HIGH_WATERMARK_MASK,
236*5113495bSYour Name 	.d_HOST_IS_SRC_RING_LOW_WATERMARK_MASK =
237*5113495bSYour Name 		WCN6450_HOST_IS_SRC_RING_LOW_WATERMARK_MASK,
238*5113495bSYour Name 	.d_HOST_IS_DST_RING_HIGH_WATERMARK_MASK =
239*5113495bSYour Name 		WCN6450_HOST_IS_DST_RING_HIGH_WATERMARK_MASK,
240*5113495bSYour Name 	.d_HOST_IS_DST_RING_LOW_WATERMARK_MASK =
241*5113495bSYour Name 		WCN6450_HOST_IS_DST_RING_LOW_WATERMARK_MASK,
242*5113495bSYour Name 	.d_HOST_IS_ADDRESS = WCN6450_HOST_IS_OFFSET,
243*5113495bSYour Name 	.d_MISC_IS_ADDRESS = WCN6450_MISC_IS_OFFSET,
244*5113495bSYour Name 	.d_HOST_IS_COPY_COMPLETE_MASK = WCN6450_HOST_IS_COPY_COMPLETE_MASK,
245*5113495bSYour Name 	.d_CE_WRAPPER_BASE_ADDRESS = WCN6450_CE_COMMON_WRAPPER_BASE_ADDRESS,
246*5113495bSYour Name 	.d_CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS =
247*5113495bSYour Name 		WCN6450_CE_COMMON_WRAPPER_INTERRUPT_SUMMARY_ADDRESS_OFFSET,
248*5113495bSYour Name 	.d_CE_DDR_ADDRESS_FOR_RRI_LOW =
249*5113495bSYour Name 		WCN6450_CE_DDR_ADDRESS_FOR_RRI_LOW,
250*5113495bSYour Name 	.d_CE_DDR_ADDRESS_FOR_RRI_HIGH =
251*5113495bSYour Name 		WCN6450_CE_DDR_ADDRESS_FOR_RRI_HIGH,
252*5113495bSYour Name 	.d_HOST_IE_ADDRESS = WCN6450_HOST_IE_OFFSET,
253*5113495bSYour Name 	.d_HOST_IE_COPY_COMPLETE_MASK = WCN6450_HOST_IE_COPY_COMPLETE_MASK,
254*5113495bSYour Name 	.d_HOST_IE_SRC_TIMER_BATCH_MASK = WCN6450_HOST_IE_SRC_BATCH_TIMER_MASK,
255*5113495bSYour Name 	.d_HOST_IE_DST_TIMER_BATCH_MASK = WCN6450_HOST_IE_DST_BATCH_TIMER_MASK,
256*5113495bSYour Name 	.d_SR_BA_ADDRESS = WCN6450_SR_BA_OFFSET,
257*5113495bSYour Name 	.d_SR_BA_ADDRESS_HIGH = WCN6450_SR_BA_HIGH_OFFSET,
258*5113495bSYour Name 	.d_SR_SIZE_ADDRESS = WCN6450_SR_SIZE_OFFSET,
259*5113495bSYour Name 	.d_CE_CTRL1_ADDRESS = WCN6450_CE_CTRL1_OFFSET,
260*5113495bSYour Name 	.d_CE_CTRL1_DMAX_LENGTH_MASK = WCN6450_CE_CTRL1_DMAX_LENGTH_MASK,
261*5113495bSYour Name 	.d_DR_BA_ADDRESS = WCN6450_DR_BA_OFFSET,
262*5113495bSYour Name 	.d_DR_BA_ADDRESS_HIGH = WCN6450_DR_BA_HIGH_OFFSET,
263*5113495bSYour Name 	.d_DR_SIZE_ADDRESS = WCN6450_DR_SIZE_OFFSET,
264*5113495bSYour Name 	.d_CE_CMD_REGISTER = WCN6450_CE_CMD_REGISTER_OFFSET,
265*5113495bSYour Name 	.d_CE_MSI_ADDRESS = WCN6450_CE_MSI_ADDRESS,
266*5113495bSYour Name 	.d_CE_MSI_ADDRESS_HIGH = WCN6450_CE_MSI_ADDRESS_HIGH,
267*5113495bSYour Name 	.d_CE_MSI_DATA = WCN6450_CE_MSI_DATA,
268*5113495bSYour Name 	.d_CE_MSI_ENABLE_BIT = WCN6450_CE_MSI_ENABLE_MASK,
269*5113495bSYour Name 	.d_MISC_IE_ADDRESS = WCN6450_MISC_IE_OFFSET,
270*5113495bSYour Name 	.d_MISC_IS_AXI_ERR_MASK = WCN6450_MISC_IS_AXI_ERR_MASK,
271*5113495bSYour Name 	.d_MISC_IS_DST_ADDR_ERR_MASK = WCN6450_MISC_IS_DST_ADDR_ERR_MASK,
272*5113495bSYour Name 	.d_MISC_IS_SRC_LEN_ERR_MASK = WCN6450_MISC_IS_SRC_LEN_ERR_MASK,
273*5113495bSYour Name 	.d_MISC_IS_DST_MAX_LEN_VIO_MASK = WCN6450_MISC_IS_DST_MAX_LEN_VIO_MASK,
274*5113495bSYour Name 	.d_MISC_IS_DST_RING_OVERFLOW_MASK =
275*5113495bSYour Name 		WCN6450_MISC_IS_DST_RING_OVERFLOW_MASK,
276*5113495bSYour Name 	.d_MISC_IS_SRC_RING_OVERFLOW_MASK =
277*5113495bSYour Name 		WCN6450_MISC_IS_SRC_RING_OVERFLOW_MASK,
278*5113495bSYour Name 	.d_SRC_WATERMARK_LOW_LSB = WCN6450_SRC_WATERMARK_LOW_LSB,
279*5113495bSYour Name 	.d_SRC_WATERMARK_HIGH_LSB = WCN6450_SRC_WATERMARK_HIGH_LSB,
280*5113495bSYour Name 	.d_DST_WATERMARK_LOW_LSB = WCN6450_DST_WATERMARK_LOW_LSB,
281*5113495bSYour Name 	.d_DST_WATERMARK_HIGH_LSB = WCN6450_DST_WATERMARK_HIGH_LSB,
282*5113495bSYour Name 	.d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK =
283*5113495bSYour Name 		WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK,
284*5113495bSYour Name 	.d_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB =
285*5113495bSYour Name 		WCN6450_CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB,
286*5113495bSYour Name 	.d_CE_CTRL1_DMAX_LENGTH_LSB = WCN6450_CE_CTRL1_DMAX_LENGTH_LSB,
287*5113495bSYour Name 	.d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK =
288*5113495bSYour Name 		WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK,
289*5113495bSYour Name 	.d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK =
290*5113495bSYour Name 		WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK,
291*5113495bSYour Name 	.d_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB =
292*5113495bSYour Name 		WCN6450_CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB,
293*5113495bSYour Name 	.d_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB =
294*5113495bSYour Name 		WCN6450_CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB,
295*5113495bSYour Name 	.d_CE_CTRL1_IDX_UPD_EN_MASK = WCN6450_CE_CTRL1_IDX_UPD_EN_MASK,
296*5113495bSYour Name 	.d_CE_WRAPPER_DEBUG_OFFSET = WCN6450_CE_WRAPPER_DEBUG_OFFSET,
297*5113495bSYour Name 	.d_CE_WRAPPER_DEBUG_SEL_MSB = WCN6450_CE_WRAPPER_DEBUG_SEL_MSB,
298*5113495bSYour Name 	.d_CE_WRAPPER_DEBUG_SEL_LSB = WCN6450_CE_WRAPPER_DEBUG_SEL_LSB,
299*5113495bSYour Name 	.d_CE_WRAPPER_DEBUG_SEL_MASK = WCN6450_CE_WRAPPER_DEBUG_SEL_MASK,
300*5113495bSYour Name 	.d_CE_DEBUG_OFFSET = WCN6450_CE_DEBUG_OFFSET,
301*5113495bSYour Name 	.d_CE_DEBUG_SEL_MSB = WCN6450_CE_DEBUG_SEL_MSB,
302*5113495bSYour Name 	.d_CE_DEBUG_SEL_LSB = WCN6450_CE_DEBUG_SEL_LSB,
303*5113495bSYour Name 	.d_CE_DEBUG_SEL_MASK = WCN6450_CE_DEBUG_SEL_MASK,
304*5113495bSYour Name 	.d_CE0_BASE_ADDRESS = WCN6450_CE0_BASE_ADDRESS,
305*5113495bSYour Name 	.d_CE1_BASE_ADDRESS = WCN6450_CE1_BASE_ADDRESS,
306*5113495bSYour Name 	.d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES =
307*5113495bSYour Name 		MISSING_FOR_WCN6450,
308*5113495bSYour Name 	.d_A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS =
309*5113495bSYour Name 		MISSING_FOR_WCN6450,
310*5113495bSYour Name 	.d_CE_SRC_BATCH_TIMER_THRESH_MASK =
311*5113495bSYour Name 		WCN6450_CE_SRC_BATCH_TIMER_THRESH_MASK,
312*5113495bSYour Name 	.d_CE_SRC_BATCH_COUNTER_THRESH_MASK =
313*5113495bSYour Name 		WCN6450_CE_SRC_BATCH_COUNTER_THRESH_MASK,
314*5113495bSYour Name 	.d_CE_SRC_BATCH_TIMER_THRESH_LSB =
315*5113495bSYour Name 		WCN6450_CE_SRC_BATCH_TIMER_THRESH_LSB,
316*5113495bSYour Name 	.d_CE_SRC_BATCH_COUNTER_THRESH_LSB =
317*5113495bSYour Name 		WCN6450_CE_SRC_BATCH_COUNTER_THRESH_LSB,
318*5113495bSYour Name 	.d_CE_DST_BATCH_TIMER_THRESH_MASK =
319*5113495bSYour Name 		WCN6450_CE_DST_BATCH_TIMER_THRESH_MASK,
320*5113495bSYour Name 	.d_CE_DST_BATCH_COUNTER_THRESH_MASK =
321*5113495bSYour Name 		WCN6450_CE_DST_BATCH_COUNTER_THRESH_MASK,
322*5113495bSYour Name 	.d_CE_DST_BATCH_TIMER_THRESH_LSB =
323*5113495bSYour Name 		WCN6450_CE_DST_BATCH_TIMER_THRESH_LSB,
324*5113495bSYour Name 	.d_CE_DST_BATCH_COUNTER_THRESH_LSB =
325*5113495bSYour Name 		WCN6450_CE_DST_BATCH_COUNTER_THRESH_LSB,
326*5113495bSYour Name 	.d_CE_SRC_BATCH_TIMER_INT_SETUP =
327*5113495bSYour Name 		WCN6450_CE_SRC_BATCH_TIMER_INT_SETUP_OFFSET,
328*5113495bSYour Name 	.d_CE_DST_BATCH_TIMER_INT_SETUP =
329*5113495bSYour Name 		WCN6450_CE_DST_BATCH_TIMER_INT_SETUP_OFFSET,
330*5113495bSYour Name };
331*5113495bSYour Name 
332*5113495bSYour Name struct host_shadow_regs_s wcn6450_host_shadow_regs = {
333*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_0  =
334*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_0,
335*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_1  =
336*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_1,
337*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_2  =
338*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_2,
339*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_3  =
340*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_3,
341*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_4  =
342*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_4,
343*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_5  =
344*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_5,
345*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_6  =
346*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_6,
347*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_7  =
348*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_7,
349*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_8  =
350*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_8,
351*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_9  =
352*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_9,
353*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_10 =
354*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_10,
355*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_11 =
356*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_11,
357*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_12 =
358*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_12,
359*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_13 =
360*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_13,
361*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_14 =
362*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_14,
363*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_15 =
364*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_15,
365*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_16 =
366*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_16,
367*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_17 =
368*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_17,
369*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_18 =
370*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_18,
371*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_19 =
372*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_19,
373*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_20 =
374*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_20,
375*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_21 =
376*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_21,
377*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_22 =
378*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_22,
379*5113495bSYour Name 	.d_A_LOCAL_SHADOW_REG_VALUE_23 =
380*5113495bSYour Name 		WCN6450_A_LOCAL_SHADOW_REG_VALUE_23,
381*5113495bSYour Name };
382*5113495bSYour Name #endif
383