1  /*
2   * Copyright (c) 2018,2021, The Linux Foundation. All rights reserved.
3  
4   * Permission to use, copy, modify, and/or distribute this software for any
5   * purpose with or without fee is hereby granted, provided that the above
6   * copyright notice and this permission notice appear in all copies.
7  
8   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11   * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15   */
16  
17  #include "qdf_module.h"
18  
19  #if defined(QCA9574_HEADERS_DEF)
20  
21  #undef UMAC
22  #define WLAN_HEADERS 1
23  
24  #include "wcss_version.h"
25  #include "wcss_seq_hwiobase.h"
26  #include "wfss_ce_reg_seq_hwioreg.h"
27  
28  #define MISSING 0
29  
30  #define SOC_RESET_CONTROL_OFFSET MISSING
31  #define GPIO_PIN0_OFFSET                        MISSING
32  #define GPIO_PIN1_OFFSET                        MISSING
33  #define GPIO_PIN0_CONFIG_MASK                   MISSING
34  #define GPIO_PIN1_CONFIG_MASK                   MISSING
35  #define LOCAL_SCRATCH_OFFSET 0x18
36  #define GPIO_PIN10_OFFSET MISSING
37  #define GPIO_PIN11_OFFSET MISSING
38  #define GPIO_PIN12_OFFSET MISSING
39  #define GPIO_PIN13_OFFSET MISSING
40  #define MBOX_BASE_ADDRESS MISSING
41  #define INT_STATUS_ENABLE_ERROR_LSB MISSING
42  #define INT_STATUS_ENABLE_ERROR_MASK MISSING
43  #define INT_STATUS_ENABLE_CPU_LSB MISSING
44  #define INT_STATUS_ENABLE_CPU_MASK MISSING
45  #define INT_STATUS_ENABLE_COUNTER_LSB MISSING
46  #define INT_STATUS_ENABLE_COUNTER_MASK MISSING
47  #define INT_STATUS_ENABLE_MBOX_DATA_LSB MISSING
48  #define INT_STATUS_ENABLE_MBOX_DATA_MASK MISSING
49  #define ERROR_STATUS_ENABLE_RX_UNDERFLOW_LSB MISSING
50  #define ERROR_STATUS_ENABLE_RX_UNDERFLOW_MASK MISSING
51  #define ERROR_STATUS_ENABLE_TX_OVERFLOW_LSB MISSING
52  #define ERROR_STATUS_ENABLE_TX_OVERFLOW_MASK MISSING
53  #define COUNTER_INT_STATUS_ENABLE_BIT_LSB MISSING
54  #define COUNTER_INT_STATUS_ENABLE_BIT_MASK MISSING
55  #define INT_STATUS_ENABLE_ADDRESS MISSING
56  #define CPU_INT_STATUS_ENABLE_BIT_LSB MISSING
57  #define CPU_INT_STATUS_ENABLE_BIT_MASK MISSING
58  #define HOST_INT_STATUS_ADDRESS MISSING
59  #define CPU_INT_STATUS_ADDRESS MISSING
60  #define ERROR_INT_STATUS_ADDRESS MISSING
61  #define ERROR_INT_STATUS_WAKEUP_MASK MISSING
62  #define ERROR_INT_STATUS_WAKEUP_LSB MISSING
63  #define ERROR_INT_STATUS_RX_UNDERFLOW_MASK MISSING
64  #define ERROR_INT_STATUS_RX_UNDERFLOW_LSB MISSING
65  #define ERROR_INT_STATUS_TX_OVERFLOW_MASK MISSING
66  #define ERROR_INT_STATUS_TX_OVERFLOW_LSB MISSING
67  #define COUNT_DEC_ADDRESS MISSING
68  #define HOST_INT_STATUS_CPU_MASK MISSING
69  #define HOST_INT_STATUS_CPU_LSB MISSING
70  #define HOST_INT_STATUS_ERROR_MASK MISSING
71  #define HOST_INT_STATUS_ERROR_LSB MISSING
72  #define HOST_INT_STATUS_COUNTER_MASK MISSING
73  #define HOST_INT_STATUS_COUNTER_LSB MISSING
74  #define RX_LOOKAHEAD_VALID_ADDRESS MISSING
75  #define WINDOW_DATA_ADDRESS MISSING
76  #define WINDOW_READ_ADDR_ADDRESS MISSING
77  #define WINDOW_WRITE_ADDR_ADDRESS MISSING
78  /* GPIO Register */
79  #define GPIO_ENABLE_W1TS_LOW_ADDRESS            MISSING
80  #define GPIO_PIN0_CONFIG_LSB                    MISSING
81  #define GPIO_PIN0_PAD_PULL_LSB                  MISSING
82  #define GPIO_PIN0_PAD_PULL_MASK                 MISSING
83  /* SI reg */
84  #define SI_CONFIG_ERR_INT_MASK                  MISSING
85  #define SI_CONFIG_ERR_INT_LSB                   MISSING
86  
87  #define RTC_SOC_BASE_ADDRESS MISSING
88  #define RTC_WMAC_BASE_ADDRESS MISSING
89  #define SOC_CORE_BASE_ADDRESS MISSING
90  #define WLAN_MAC_BASE_ADDRESS MISSING
91  #define GPIO_BASE_ADDRESS MISSING
92  #define ANALOG_INTF_BASE_ADDRESS MISSING
93  #define CE0_BASE_ADDRESS MISSING
94  #define CE1_BASE_ADDRESS MISSING
95  #define CE_COUNT 12
96  #define CE_WRAPPER_BASE_ADDRESS MISSING
97  #define SI_BASE_ADDRESS MISSING
98  #define DRAM_BASE_ADDRESS MISSING
99  
100  #define WLAN_SYSTEM_SLEEP_DISABLE_LSB MISSING
101  #define WLAN_SYSTEM_SLEEP_DISABLE_MASK MISSING
102  #define CLOCK_CONTROL_OFFSET MISSING
103  #define CLOCK_CONTROL_SI0_CLK_MASK MISSING
104  #define RESET_CONTROL_SI0_RST_MASK MISSING
105  #define WLAN_RESET_CONTROL_OFFSET MISSING
106  #define WLAN_RESET_CONTROL_COLD_RST_MASK MISSING
107  #define WLAN_RESET_CONTROL_WARM_RST_MASK MISSING
108  #define CPU_CLOCK_OFFSET MISSING
109  
110  #define CPU_CLOCK_STANDARD_LSB MISSING
111  #define CPU_CLOCK_STANDARD_MASK MISSING
112  #define LPO_CAL_ENABLE_LSB MISSING
113  #define LPO_CAL_ENABLE_MASK MISSING
114  #define WLAN_SYSTEM_SLEEP_OFFSET MISSING
115  
116  #define SOC_CHIP_ID_ADDRESS	  MISSING
117  #define SOC_CHIP_ID_REVISION_MASK MISSING
118  #define SOC_CHIP_ID_REVISION_LSB  MISSING
119  #define SOC_CHIP_ID_REVISION_MSB  MISSING
120  
121  #define FW_IND_EVENT_PENDING MISSING
122  #define FW_IND_INITIALIZED MISSING
123  
124  #define MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_MASK MISSING
125  #define MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_MASK MISSING
126  #define MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_MASK MISSING
127  #define MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_MASK MISSING
128  #define MSDU_LINK_EXT_3_TCP_OVER_IPV4_CHECKSUM_EN_LSB  MISSING
129  #define MSDU_LINK_EXT_3_TCP_OVER_IPV6_CHECKSUM_EN_LSB  MISSING
130  #define MSDU_LINK_EXT_3_UDP_OVER_IPV4_CHECKSUM_EN_LSB  MISSING
131  #define MSDU_LINK_EXT_3_UDP_OVER_IPV6_CHECKSUM_EN_LSB  MISSING
132  
133  #define SR_WR_INDEX_ADDRESS MISSING
134  #define DST_WATERMARK_ADDRESS MISSING
135  
136  #define DST_WR_INDEX_ADDRESS MISSING
137  #define SRC_WATERMARK_ADDRESS MISSING
138  #define SRC_WATERMARK_LOW_MASK MISSING
139  #define SRC_WATERMARK_HIGH_MASK MISSING
140  #define DST_WATERMARK_LOW_MASK MISSING
141  #define DST_WATERMARK_HIGH_MASK MISSING
142  #define CURRENT_SRRI_ADDRESS MISSING
143  #define CURRENT_DRRI_ADDRESS MISSING
144  #define HOST_IS_SRC_RING_HIGH_WATERMARK_MASK MISSING
145  #define HOST_IS_SRC_RING_LOW_WATERMARK_MASK MISSING
146  #define HOST_IS_DST_RING_HIGH_WATERMARK_MASK MISSING
147  #define HOST_IS_DST_RING_LOW_WATERMARK_MASK MISSING
148  #define HOST_IS_ADDRESS MISSING
149  #define MISC_IS_ADDRESS MISSING
150  #define HOST_IS_COPY_COMPLETE_MASK MISSING
151  #define CE_WRAPPER_BASE_ADDRESS MISSING
152  #define CE_WRAPPER_INTERRUPT_SUMMARY_ADDRESS MISSING
153  #define CE_DDR_ADDRESS_FOR_RRI_LOW MISSING
154  #define CE_DDR_ADDRESS_FOR_RRI_HIGH MISSING
155  #if defined(WCSS_VERSION) && (WCSS_VERSION > 68)
156  #define HOST_IE_ADDRESS \
157  	HWIO_WFSS_CE_COMMON_R0_CE_HOST_IE_0_ADDR(\
158  		SEQ_WCSS_UMAC_WFSS_CE_0_REG_WFSS_CE_COMMON_REG_OFFSET)
159  #define HOST_IE_REG1_CE_LSB HWIO_WFSS_CE_COMMON_R0_CE_HOST_IE_0_SRC_RING_IE_SHFT
160  #define HOST_IE_ADDRESS_2 \
161  	HWIO_WFSS_CE_COMMON_R0_CE_HOST_IE_1_ADDR(\
162  		SEQ_WCSS_UMAC_WFSS_CE_0_REG_WFSS_CE_COMMON_REG_OFFSET)
163  #define HOST_IE_REG2_CE_LSB HWIO_WFSS_CE_COMMON_R0_CE_HOST_IE_1_STS_RING_IE_SHFT
164  #define HOST_IE_ADDRESS_3 \
165  	HWIO_WFSS_CE_COMMON_R0_CE_HOST_IE_0_ADDR(\
166  		SEQ_WCSS_UMAC_WFSS_CE_0_REG_WFSS_CE_COMMON_REG_OFFSET)
167  #define HOST_IE_REG3_CE_LSB HWIO_WFSS_CE_COMMON_R0_CE_HOST_IE_0_DST_RING_IE_SHFT
168  #else
169  #define HOST_IE_ADDRESS UMAC_CE_COMMON_CE_HOST_IE_0
170  #define HOST_IE_ADDRESS_2 UMAC_CE_COMMON_CE_HOST_IE_1
171  #endif
172  #define HOST_IE_COPY_COMPLETE_MASK MISSING
173  #define SR_BA_ADDRESS MISSING
174  #define SR_BA_ADDRESS_HIGH MISSING
175  #define SR_SIZE_ADDRESS MISSING
176  #define CE_CTRL1_ADDRESS MISSING
177  #define CE_CTRL1_DMAX_LENGTH_MASK MISSING
178  #define DR_BA_ADDRESS MISSING
179  #define DR_BA_ADDRESS_HIGH MISSING
180  #define DR_SIZE_ADDRESS MISSING
181  #define CE_CMD_REGISTER MISSING
182  #define CE_MSI_ADDRESS MISSING
183  #define CE_MSI_ADDRESS_HIGH MISSING
184  #define CE_MSI_DATA MISSING
185  #define CE_MSI_ENABLE_BIT MISSING
186  #define MISC_IE_ADDRESS MISSING
187  #define MISC_IS_AXI_ERR_MASK MISSING
188  #define MISC_IS_DST_ADDR_ERR_MASK MISSING
189  #define MISC_IS_SRC_LEN_ERR_MASK MISSING
190  #define MISC_IS_DST_MAX_LEN_VIO_MASK MISSING
191  #define MISC_IS_DST_RING_OVERFLOW_MASK MISSING
192  #define MISC_IS_SRC_RING_OVERFLOW_MASK MISSING
193  #define SRC_WATERMARK_LOW_LSB MISSING
194  #define SRC_WATERMARK_HIGH_LSB MISSING
195  #define DST_WATERMARK_LOW_LSB MISSING
196  #define DST_WATERMARK_HIGH_LSB MISSING
197  #define CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_MASK MISSING
198  #define CE_WRAPPER_INTERRUPT_SUMMARY_HOST_MSI_LSB MISSING
199  #define CE_CTRL1_DMAX_LENGTH_LSB MISSING
200  #define CE_CTRL1_SRC_RING_BYTE_SWAP_EN_MASK MISSING
201  #define CE_CTRL1_DST_RING_BYTE_SWAP_EN_MASK MISSING
202  #define CE_CTRL1_SRC_RING_BYTE_SWAP_EN_LSB MISSING
203  #define CE_CTRL1_DST_RING_BYTE_SWAP_EN_LSB MISSING
204  #define CE_CTRL1_IDX_UPD_EN_MASK MISSING
205  #define CE_WRAPPER_DEBUG_OFFSET MISSING
206  #define CE_WRAPPER_DEBUG_SEL_MSB MISSING
207  #define CE_WRAPPER_DEBUG_SEL_LSB MISSING
208  #define CE_WRAPPER_DEBUG_SEL_MASK MISSING
209  #define CE_DEBUG_OFFSET MISSING
210  #define CE_DEBUG_SEL_MSB MISSING
211  #define CE_DEBUG_SEL_LSB MISSING
212  #define CE_DEBUG_SEL_MASK MISSING
213  #define CE0_BASE_ADDRESS MISSING
214  #define CE1_BASE_ADDRESS MISSING
215  #define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_ENABLES MISSING
216  #define A_WIFI_APB_3_A_WCMN_APPS_CE_INTR_STATUS MISSING
217  
218  #define QCA9574_BOARD_DATA_SZ MISSING
219  #define QCA9574_BOARD_EXT_DATA_SZ MISSING
220  
221  #define MY_TARGET_DEF QCA9574_TARGETDEF
222  #define MY_HOST_DEF QCA9574_HOSTDEF
223  #define MY_CEREG_DEF QCA9574_CE_TARGETDEF
224  #define MY_TARGET_BOARD_DATA_SZ QCA9574_BOARD_DATA_SZ
225  #define MY_TARGET_BOARD_EXT_DATA_SZ QCA9574_BOARD_EXT_DATA_SZ
226  #include "targetdef.h"
227  #include "hostdef.h"
228  qdf_export_symbol(QCA9574_CE_TARGETDEF);
229  #else
230  #include "common_drv.h"
231  #include "targetdef.h"
232  #include "hostdef.h"
233  struct targetdef_s *QCA9574_TARGETDEF;
234  struct hostdef_s *QCA9574_HOSTDEF;
235  #endif /*QCA9574_HEADERS_DEF */
236  qdf_export_symbol(QCA9574_TARGETDEF);
237  qdf_export_symbol(QCA9574_HOSTDEF);
238