xref: /wlan-driver/qca-wifi-host-cmn/hif/src/regtable.c (revision 5113495b16420b49004c444715d2daae2066e7dc)
1*5113495bSYour Name /*
2*5113495bSYour Name  * Copyright (c) 2013-2021 The Linux Foundation. All rights reserved.
3*5113495bSYour Name  * Copyright (c) 2021-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 #include "targaddrs.h"
21*5113495bSYour Name #include "target_type.h"
22*5113495bSYour Name #include "cepci.h"
23*5113495bSYour Name #include "regtable.h"
24*5113495bSYour Name #include "ar6320def.h"
25*5113495bSYour Name #include "ar6320v2def.h"
26*5113495bSYour Name #include "hif_main.h"
27*5113495bSYour Name #include "adrastea_reg_def.h"
28*5113495bSYour Name #include "wcn6450def.h"
29*5113495bSYour Name 
30*5113495bSYour Name #include "targetdef.h"
31*5113495bSYour Name #include "hostdef.h"
32*5113495bSYour Name 
hif_target_register_tbl_attach(struct hif_softc * scn,u32 target_type)33*5113495bSYour Name void hif_target_register_tbl_attach(struct hif_softc *scn, u32 target_type)
34*5113495bSYour Name {
35*5113495bSYour Name 	switch (target_type) {
36*5113495bSYour Name 	case TARGET_TYPE_AR6320:
37*5113495bSYour Name 		scn->targetdef = &ar6320_targetdef;
38*5113495bSYour Name 		scn->target_ce_def = &ar6320_ce_targetdef;
39*5113495bSYour Name 		break;
40*5113495bSYour Name 	case TARGET_TYPE_AR6320V2:
41*5113495bSYour Name 		scn->targetdef = &ar6320v2_targetdef;
42*5113495bSYour Name 		scn->target_ce_def = &ar6320v2_ce_targetdef;
43*5113495bSYour Name 		break;
44*5113495bSYour Name 	case TARGET_TYPE_ADRASTEA:
45*5113495bSYour Name 		scn->targetdef = &adrastea_targetdef;
46*5113495bSYour Name 		scn->target_ce_def = &adrastea_ce_targetdef;
47*5113495bSYour Name 		break;
48*5113495bSYour Name 	case TARGET_TYPE_QCN7605:
49*5113495bSYour Name 		scn->targetdef = &genoa_targetdef;
50*5113495bSYour Name 		scn->target_ce_def = &genoa_ce_targetdef;
51*5113495bSYour Name 		break;
52*5113495bSYour Name #if defined(AR6002_HEADERS_DEF)
53*5113495bSYour Name 	case TARGET_TYPE_AR6002:
54*5113495bSYour Name 		scn->targetdef = AR6002_TARGETdef;
55*5113495bSYour Name 		break;
56*5113495bSYour Name #endif
57*5113495bSYour Name #if defined(AR6003_HEADERS_DEF)
58*5113495bSYour Name 	case TARGET_TYPE_AR6003:
59*5113495bSYour Name 		scn->targetdef = AR6003_TARGETdef;
60*5113495bSYour Name 		break;
61*5113495bSYour Name #endif
62*5113495bSYour Name #if defined(AR6004_HEADERS_DEF)
63*5113495bSYour Name 	case TARGET_TYPE_AR6004:
64*5113495bSYour Name 		scn->targetdef = AR6004_TARGETdef;
65*5113495bSYour Name 		break;
66*5113495bSYour Name #endif
67*5113495bSYour Name #if defined(AR9888_HEADERS_DEF)
68*5113495bSYour Name 	case TARGET_TYPE_AR9888:
69*5113495bSYour Name 		scn->targetdef = AR9888_TARGETdef;
70*5113495bSYour Name 		scn->target_ce_def = AR9888_CE_TARGETdef;
71*5113495bSYour Name 		break;
72*5113495bSYour Name #endif
73*5113495bSYour Name #if defined(AR9888V2_HEADERS_DEF)
74*5113495bSYour Name 	case TARGET_TYPE_AR9888V2:
75*5113495bSYour Name 		scn->targetdef = AR9888V2_TARGETdef;
76*5113495bSYour Name 		scn->target_ce_def = AR9888_CE_TARGETdef;
77*5113495bSYour Name 		break;
78*5113495bSYour Name #endif
79*5113495bSYour Name #if defined(AR900B_HEADERS_DEF)
80*5113495bSYour Name 	case TARGET_TYPE_AR900B:
81*5113495bSYour Name 		scn->targetdef = AR900B_TARGETdef;
82*5113495bSYour Name 		scn->target_ce_def = AR900B_CE_TARGETdef;
83*5113495bSYour Name 		break;
84*5113495bSYour Name #endif
85*5113495bSYour Name #if defined(QCA9984_HEADERS_DEF)
86*5113495bSYour Name 	case TARGET_TYPE_QCA9984:
87*5113495bSYour Name 		scn->targetdef = QCA9984_TARGETdef;
88*5113495bSYour Name 		scn->target_ce_def = QCA9984_CE_TARGETdef;
89*5113495bSYour Name 		break;
90*5113495bSYour Name #endif
91*5113495bSYour Name #if defined(QCA9888_HEADERS_DEF)
92*5113495bSYour Name 	case TARGET_TYPE_QCA9888:
93*5113495bSYour Name 		scn->targetdef = QCA9888_TARGETdef;
94*5113495bSYour Name 		scn->target_ce_def = QCA9888_CE_TARGETdef;
95*5113495bSYour Name 		break;
96*5113495bSYour Name #endif
97*5113495bSYour Name #if defined(QCA8074_HEADERS_DEF)
98*5113495bSYour Name 	case TARGET_TYPE_QCA8074:
99*5113495bSYour Name 		scn->targetdef = QCA8074_TARGETdef;
100*5113495bSYour Name 		scn->target_ce_def = QCA8074_CE_TARGETdef;
101*5113495bSYour Name 		break;
102*5113495bSYour Name #endif
103*5113495bSYour Name 
104*5113495bSYour Name #if defined(QCA6290_HEADERS_DEF)
105*5113495bSYour Name 	case TARGET_TYPE_QCA6290:
106*5113495bSYour Name 		scn->targetdef = QCA6290_TARGETdef;
107*5113495bSYour Name 		scn->target_ce_def = QCA6290_CE_TARGETdef;
108*5113495bSYour Name 		break;
109*5113495bSYour Name #endif
110*5113495bSYour Name #if defined(QCA8074V2_HEADERS_DEF)
111*5113495bSYour Name 	case TARGET_TYPE_QCA8074V2:
112*5113495bSYour Name 		scn->targetdef = QCA8074V2_TARGETDEF;
113*5113495bSYour Name 		scn->target_ce_def = QCA8074V2_CE_TARGETDEF;
114*5113495bSYour Name 		break;
115*5113495bSYour Name #endif
116*5113495bSYour Name #if defined(QCA6018_HEADERS_DEF)
117*5113495bSYour Name 	case TARGET_TYPE_QCA6018:
118*5113495bSYour Name 		scn->targetdef = QCA6018_TARGETDEF;
119*5113495bSYour Name 		scn->target_ce_def = QCA6018_CE_TARGETDEF;
120*5113495bSYour Name 		break;
121*5113495bSYour Name #endif
122*5113495bSYour Name #if defined(QCA9574_HEADERS_DEF)
123*5113495bSYour Name 	case TARGET_TYPE_QCA9574:
124*5113495bSYour Name 		scn->targetdef = QCA9574_TARGETDEF;
125*5113495bSYour Name 		scn->target_ce_def = QCA9574_CE_TARGETDEF;
126*5113495bSYour Name 		hif_info("TARGET_TYPE_QCA9574");
127*5113495bSYour Name 		break;
128*5113495bSYour Name #endif
129*5113495bSYour Name 
130*5113495bSYour Name #if defined(QCN9000_HEADERS_DEF)
131*5113495bSYour Name 	case TARGET_TYPE_QCN9000:
132*5113495bSYour Name 		scn->targetdef = QCN9000_TARGETDEF;
133*5113495bSYour Name 		scn->target_ce_def = QCN9000_CE_TARGETDEF;
134*5113495bSYour Name 		hif_info("TARGET_TYPE_QCN9000");
135*5113495bSYour Name 		break;
136*5113495bSYour Name #endif
137*5113495bSYour Name 
138*5113495bSYour Name #if defined(QCN9224_HEADERS_DEF)
139*5113495bSYour Name 	case TARGET_TYPE_QCN9224:
140*5113495bSYour Name 		scn->targetdef = QCN9224_TARGETDEF;
141*5113495bSYour Name 		scn->target_ce_def = QCN9224_CE_TARGETDEF;
142*5113495bSYour Name 		hif_info("TARGET_TYPE_QCN9224");
143*5113495bSYour Name 		break;
144*5113495bSYour Name #endif
145*5113495bSYour Name 
146*5113495bSYour Name #if defined(QCN6122_HEADERS_DEF)
147*5113495bSYour Name 	case TARGET_TYPE_QCN6122:
148*5113495bSYour Name 		scn->targetdef = QCN6122_TARGETDEF;
149*5113495bSYour Name 		scn->target_ce_def = QCN6122_CE_TARGETDEF;
150*5113495bSYour Name 		hif_info("TARGET_TYPE_QCN6122");
151*5113495bSYour Name 		break;
152*5113495bSYour Name #endif
153*5113495bSYour Name 
154*5113495bSYour Name #if defined(QCN9160_HEADERS_DEF)
155*5113495bSYour Name 	case TARGET_TYPE_QCN9160:
156*5113495bSYour Name 		scn->targetdef = QCN9160_TARGETDEF;
157*5113495bSYour Name 		scn->target_ce_def = QCN9160_CE_TARGETDEF;
158*5113495bSYour Name 		hif_info("TARGET_TYPE_QCN9160");
159*5113495bSYour Name 		break;
160*5113495bSYour Name #endif
161*5113495bSYour Name 
162*5113495bSYour Name #if defined(QCN6432_HEADERS_DEF)
163*5113495bSYour Name 	case TARGET_TYPE_QCN6432:
164*5113495bSYour Name 		scn->targetdef = QCN6432_TARGETDEF;
165*5113495bSYour Name 		scn->target_ce_def = QCN6432_CE_TARGETDEF;
166*5113495bSYour Name 		hif_info("TARGET_TYPE_QCN6432");
167*5113495bSYour Name 		break;
168*5113495bSYour Name #endif
169*5113495bSYour Name 
170*5113495bSYour Name #if defined(QCA5018_HEADERS_DEF)
171*5113495bSYour Name 	case TARGET_TYPE_QCA5018:
172*5113495bSYour Name 		scn->targetdef = QCA5018_TARGETDEF;
173*5113495bSYour Name 		scn->target_ce_def = QCA5018_CE_TARGETDEF;
174*5113495bSYour Name 		hif_info("TARGET_TYPE_QCA5018");
175*5113495bSYour Name 		break;
176*5113495bSYour Name #endif
177*5113495bSYour Name 
178*5113495bSYour Name #if defined(QCA5332_HEADERS_DEF)
179*5113495bSYour Name 	case TARGET_TYPE_QCA5332:
180*5113495bSYour Name 		scn->targetdef = QCA5332_TARGETDEF;
181*5113495bSYour Name 		scn->target_ce_def = QCA5332_CE_TARGETDEF;
182*5113495bSYour Name 		hif_info("TARGET_TYPE_QCA5332");
183*5113495bSYour Name 		break;
184*5113495bSYour Name #endif
185*5113495bSYour Name 
186*5113495bSYour Name #if defined(QCA6390_HEADERS_DEF)
187*5113495bSYour Name 	case TARGET_TYPE_QCA6390:
188*5113495bSYour Name 		scn->targetdef = QCA6390_TARGETdef;
189*5113495bSYour Name 		scn->target_ce_def = QCA6390_CE_TARGETdef;
190*5113495bSYour Name 		hif_info("TARGET_TYPE_QCA6390");
191*5113495bSYour Name 		break;
192*5113495bSYour Name #endif /* QCA6390_HEADERS_DEF */
193*5113495bSYour Name 
194*5113495bSYour Name #if defined(QCA6490_HEADERS_DEF)
195*5113495bSYour Name 	case TARGET_TYPE_QCA6490:
196*5113495bSYour Name 		scn->targetdef = QCA6490_TARGETdef;
197*5113495bSYour Name 		scn->target_ce_def = QCA6490_CE_TARGETdef;
198*5113495bSYour Name 		hif_info("TARGET_TYPE_QCA6490");
199*5113495bSYour Name 		break;
200*5113495bSYour Name #endif /* QCA6490_HEADERS_DEF */
201*5113495bSYour Name 
202*5113495bSYour Name #if defined(KIWI_HEADERS_DEF)
203*5113495bSYour Name 	case TARGET_TYPE_KIWI:
204*5113495bSYour Name 		scn->targetdef = KIWI_TARGETdef;
205*5113495bSYour Name 		scn->target_ce_def = KIWI_CE_TARGETdef;
206*5113495bSYour Name 		hif_info("TARGET_TYPE_KIWI");
207*5113495bSYour Name 		break;
208*5113495bSYour Name 
209*5113495bSYour Name 	case TARGET_TYPE_MANGO:
210*5113495bSYour Name 		scn->targetdef = KIWI_TARGETdef;
211*5113495bSYour Name 		scn->target_ce_def = KIWI_CE_TARGETdef;
212*5113495bSYour Name 		hif_info("TARGET_TYPE_MANGO");
213*5113495bSYour Name 		break;
214*5113495bSYour Name 
215*5113495bSYour Name 	case TARGET_TYPE_PEACH:
216*5113495bSYour Name 		scn->targetdef = KIWI_TARGETdef;
217*5113495bSYour Name 		scn->target_ce_def = KIWI_CE_TARGETdef;
218*5113495bSYour Name 		hif_info("TARGET_TYPE_PEACH");
219*5113495bSYour Name 		break;
220*5113495bSYour Name #endif /* KIWI_HEADERS_DEF */
221*5113495bSYour Name 
222*5113495bSYour Name #if defined(QCA6750_HEADERS_DEF)
223*5113495bSYour Name 	case TARGET_TYPE_QCA6750:
224*5113495bSYour Name 		scn->targetdef = QCA6750_TARGETdef;
225*5113495bSYour Name 		scn->target_ce_def = QCA6750_CE_TARGETdef;
226*5113495bSYour Name 		hif_info("TARGET_TYPE_QCA6750");
227*5113495bSYour Name 		break;
228*5113495bSYour Name #endif /* QCA6750_HEADERS_DEF */
229*5113495bSYour Name 
230*5113495bSYour Name #if defined(WCN6450_HEADERS_DEF)
231*5113495bSYour Name 	case TARGET_TYPE_WCN6450:
232*5113495bSYour Name 		scn->targetdef = &wcn6450_targetdef;
233*5113495bSYour Name 		scn->target_ce_def = &wcn6450_ce_targetdef;
234*5113495bSYour Name 		hif_info("TARGET_TYPE_WCN6450");
235*5113495bSYour Name 		break;
236*5113495bSYour Name #endif /* WCN6450_HEADERS_DEF */
237*5113495bSYour Name 
238*5113495bSYour Name 	default:
239*5113495bSYour Name 		break;
240*5113495bSYour Name 	}
241*5113495bSYour Name }
242*5113495bSYour Name 
hif_register_tbl_attach(struct hif_softc * scn,u32 hif_type)243*5113495bSYour Name void hif_register_tbl_attach(struct hif_softc *scn, u32 hif_type)
244*5113495bSYour Name {
245*5113495bSYour Name 	switch (hif_type) {
246*5113495bSYour Name 	case HIF_TYPE_AR6320V2:
247*5113495bSYour Name 		scn->hostdef = &ar6320v2_hostdef;
248*5113495bSYour Name 		break;
249*5113495bSYour Name 	case HIF_TYPE_ADRASTEA:
250*5113495bSYour Name 		scn->hostdef = &adrastea_hostdef;
251*5113495bSYour Name 		scn->host_shadow_regs = &adrastea_host_shadow_regs;
252*5113495bSYour Name 		break;
253*5113495bSYour Name 	case HIF_TYPE_QCN7605:
254*5113495bSYour Name 		scn->hostdef = &genoa_hostdef;
255*5113495bSYour Name 		scn->host_shadow_regs = &genoa_host_shadow_regs;
256*5113495bSYour Name 		break;
257*5113495bSYour Name #if defined(AR6002_HEADERS_DEF)
258*5113495bSYour Name 	case HIF_TYPE_AR6002:
259*5113495bSYour Name 		scn->hostdef = AR6002_HOSTdef;
260*5113495bSYour Name 		break;
261*5113495bSYour Name #endif
262*5113495bSYour Name #if defined(AR6003_HEADERS_DEF)
263*5113495bSYour Name 	case HIF_TYPE_AR6003:
264*5113495bSYour Name 		scn->hostdef = AR6003_HOSTdef;
265*5113495bSYour Name 		break;
266*5113495bSYour Name #endif
267*5113495bSYour Name #if defined(AR6004_HEADERS_DEF)
268*5113495bSYour Name 	case HIF_TYPE_AR6004:
269*5113495bSYour Name 		scn->hostdef = AR6004_HOSTdef;
270*5113495bSYour Name 		break;
271*5113495bSYour Name #endif
272*5113495bSYour Name #if defined(AR9888_HEADERS_DEF)
273*5113495bSYour Name 	case HIF_TYPE_AR9888:
274*5113495bSYour Name 		scn->hostdef = AR9888_HOSTdef;
275*5113495bSYour Name 		break;
276*5113495bSYour Name #endif
277*5113495bSYour Name #if defined(AR9888V2_HEADERS_DEF)
278*5113495bSYour Name 	case HIF_TYPE_AR9888V2:
279*5113495bSYour Name 		scn->hostdef = AR9888V2_HOSTdef;
280*5113495bSYour Name 		break;
281*5113495bSYour Name #endif
282*5113495bSYour Name #if defined(AR900B_HEADERS_DEF)
283*5113495bSYour Name 	case HIF_TYPE_AR900B:
284*5113495bSYour Name 		scn->hostdef = AR900B_HOSTdef;
285*5113495bSYour Name 		break;
286*5113495bSYour Name #endif
287*5113495bSYour Name #if defined(QCA9984_HEADERS_DEF)
288*5113495bSYour Name 	case HIF_TYPE_QCA9984:
289*5113495bSYour Name 		scn->hostdef = QCA9984_HOSTdef;
290*5113495bSYour Name 		break;
291*5113495bSYour Name #endif
292*5113495bSYour Name #if defined(QCA9888_HEADERS_DEF)
293*5113495bSYour Name 	case HIF_TYPE_QCA9888:
294*5113495bSYour Name 		scn->hostdef = QCA9888_HOSTdef;
295*5113495bSYour Name 		break;
296*5113495bSYour Name #endif
297*5113495bSYour Name 
298*5113495bSYour Name #if defined(QCA8074_HEADERS_DEF)
299*5113495bSYour Name 	case HIF_TYPE_QCA8074:
300*5113495bSYour Name 		scn->hostdef = QCA8074_HOSTdef;
301*5113495bSYour Name 		break;
302*5113495bSYour Name #endif
303*5113495bSYour Name #if defined(QCA8074V2_HEADERS_DEF)
304*5113495bSYour Name 	case HIF_TYPE_QCA8074V2:
305*5113495bSYour Name 		scn->hostdef = QCA8074V2_HOSTDEF;
306*5113495bSYour Name 		break;
307*5113495bSYour Name #endif
308*5113495bSYour Name #if defined(QCA6018_HEADERS_DEF)
309*5113495bSYour Name 	case HIF_TYPE_QCA6018:
310*5113495bSYour Name 		scn->hostdef = QCA6018_HOSTDEF;
311*5113495bSYour Name 		hif_info("HIF_TYPE_QCA6018");
312*5113495bSYour Name 		break;
313*5113495bSYour Name #endif
314*5113495bSYour Name #if defined(QCA6290_HEADERS_DEF)
315*5113495bSYour Name 	case HIF_TYPE_QCA6290:
316*5113495bSYour Name 		scn->hostdef = QCA6290_HOSTdef;
317*5113495bSYour Name 		break;
318*5113495bSYour Name #endif
319*5113495bSYour Name #if defined(QCN9000_HEADERS_DEF)
320*5113495bSYour Name 	case HIF_TYPE_QCN9000:
321*5113495bSYour Name 		scn->hostdef = QCN9000_HOSTDEF;
322*5113495bSYour Name 		break;
323*5113495bSYour Name #endif
324*5113495bSYour Name #if defined(QCN9224_HEADERS_DEF)
325*5113495bSYour Name 	case HIF_TYPE_QCN9224:
326*5113495bSYour Name 		if (scn->target_info.soc_version == 1)
327*5113495bSYour Name 			qdf_assert_always(0);
328*5113495bSYour Name 		scn->hostdef = QCN9224_HOSTDEF;
329*5113495bSYour Name 		break;
330*5113495bSYour Name #endif
331*5113495bSYour Name #if defined(QCN6122_HEADERS_DEF)
332*5113495bSYour Name 	case HIF_TYPE_QCN6122:
333*5113495bSYour Name 		scn->hostdef = QCN6122_HOSTDEF;
334*5113495bSYour Name 		break;
335*5113495bSYour Name #endif
336*5113495bSYour Name #if defined(QCN9160_HEADERS_DEF)
337*5113495bSYour Name 	case HIF_TYPE_QCN9160:
338*5113495bSYour Name 		scn->hostdef = QCN9160_HOSTDEF;
339*5113495bSYour Name 		break;
340*5113495bSYour Name #endif
341*5113495bSYour Name #if defined(QCN6432_HEADERS_DEF)
342*5113495bSYour Name 	case HIF_TYPE_QCN6432:
343*5113495bSYour Name 		scn->hostdef = QCN6432_HOSTDEF;
344*5113495bSYour Name 		break;
345*5113495bSYour Name #endif
346*5113495bSYour Name #if defined(QCA5018_HEADERS_DEF)
347*5113495bSYour Name 	case HIF_TYPE_QCA5018:
348*5113495bSYour Name 		scn->hostdef = QCA5018_HOSTDEF;
349*5113495bSYour Name 		break;
350*5113495bSYour Name #endif
351*5113495bSYour Name #if defined(QCA5332_HEADERS_DEF)
352*5113495bSYour Name 	case HIF_TYPE_QCA5332:
353*5113495bSYour Name 		scn->hostdef = QCA5332_HOSTDEF;
354*5113495bSYour Name 		break;
355*5113495bSYour Name #endif
356*5113495bSYour Name #if defined(QCA9574_HEADERS_DEF)
357*5113495bSYour Name 	case HIF_TYPE_QCA9574:
358*5113495bSYour Name 		scn->hostdef = QCA9574_HOSTDEF;
359*5113495bSYour Name 		hif_info("HIF_TYPE_QCA9574");
360*5113495bSYour Name 		break;
361*5113495bSYour Name #endif
362*5113495bSYour Name 
363*5113495bSYour Name #if defined(QCA6390_HEADERS_DEF)
364*5113495bSYour Name 	case HIF_TYPE_QCA6390:
365*5113495bSYour Name 		scn->hostdef = QCA6390_HOSTdef;
366*5113495bSYour Name 		hif_info("HIF_TYPE_QCA6390");
367*5113495bSYour Name 		break;
368*5113495bSYour Name #endif /* QCA6390_HEADERS_DEF */
369*5113495bSYour Name 
370*5113495bSYour Name #if defined(QCA6490_HEADERS_DEF)
371*5113495bSYour Name 	case HIF_TYPE_QCA6490:
372*5113495bSYour Name 		scn->hostdef = QCA6490_HOSTdef;
373*5113495bSYour Name 		hif_info("HIF_TYPE_QCA6490");
374*5113495bSYour Name 		break;
375*5113495bSYour Name #endif /* QCA6490_HEADERS_DEF */
376*5113495bSYour Name 
377*5113495bSYour Name #if defined(KIWI_HEADERS_DEF)
378*5113495bSYour Name 	case HIF_TYPE_KIWI:
379*5113495bSYour Name 		scn->hostdef = KIWI_HOSTdef;
380*5113495bSYour Name 		hif_info("HIF_TYPE_KIWI");
381*5113495bSYour Name 		break;
382*5113495bSYour Name 
383*5113495bSYour Name 	case HIF_TYPE_MANGO:
384*5113495bSYour Name 		scn->hostdef = KIWI_HOSTdef;
385*5113495bSYour Name 		hif_info("HIF_TYPE_MANGO");
386*5113495bSYour Name 		break;
387*5113495bSYour Name 
388*5113495bSYour Name 	case HIF_TYPE_PEACH:
389*5113495bSYour Name 		scn->hostdef = KIWI_HOSTdef;
390*5113495bSYour Name 		hif_info("HIF_TYPE_PEACH");
391*5113495bSYour Name 		break;
392*5113495bSYour Name #endif /* KIWI_HEADERS_DEF */
393*5113495bSYour Name 
394*5113495bSYour Name #if defined(QCA6750_HEADERS_DEF)
395*5113495bSYour Name 	case HIF_TYPE_QCA6750:
396*5113495bSYour Name 		scn->hostdef = QCA6750_HOSTdef;
397*5113495bSYour Name 		hif_info("HIF_TYPE_QCA6750");
398*5113495bSYour Name 		break;
399*5113495bSYour Name #endif /* QCA6750_HEADERS_DEF */
400*5113495bSYour Name 
401*5113495bSYour Name #if defined(WCN6450_HEADERS_DEF)
402*5113495bSYour Name 	case HIF_TYPE_WCN6450:
403*5113495bSYour Name 		scn->hostdef = &wcn6450_hostdef;
404*5113495bSYour Name 		scn->host_shadow_regs = &wcn6450_host_shadow_regs;
405*5113495bSYour Name 		hif_info("HIF_TYPE_WCN6450");
406*5113495bSYour Name 		break;
407*5113495bSYour Name #endif /* WCN6450_HEADERS_DEF */
408*5113495bSYour Name 
409*5113495bSYour Name 	default:
410*5113495bSYour Name 		break;
411*5113495bSYour Name 	}
412*5113495bSYour Name }
413