1// SPDX-License-Identifier: ISC
2/*
3 * Copyright (c) 2012 Broadcom Corporation
4 */
5
6#ifndef _fwil_h_
7#define _fwil_h_
8
9/*******************************************************************************
10 * Dongle command codes that are interpreted by firmware
11 ******************************************************************************/
12#define BRCMF_C_GET_VERSION			1
13#define BRCMF_C_UP				2
14#define BRCMF_C_DOWN				3
15#define BRCMF_C_SET_PROMISC			10
16#define BRCMF_C_GET_RATE			12
17#define BRCMF_C_GET_INFRA			19
18#define BRCMF_C_SET_INFRA			20
19#define BRCMF_C_GET_AUTH			21
20#define BRCMF_C_SET_AUTH			22
21#define BRCMF_C_GET_BSSID			23
22#define BRCMF_C_GET_SSID			25
23#define BRCMF_C_SET_SSID			26
24#define BRCMF_C_TERMINATED			28
25#define BRCMF_C_GET_CHANNEL			29
26#define BRCMF_C_SET_CHANNEL			30
27#define BRCMF_C_GET_SRL				31
28#define BRCMF_C_SET_SRL				32
29#define BRCMF_C_GET_LRL				33
30#define BRCMF_C_SET_LRL				34
31#define BRCMF_C_GET_RADIO			37
32#define BRCMF_C_SET_RADIO			38
33#define BRCMF_C_GET_PHYTYPE			39
34#define BRCMF_C_SET_KEY				45
35#define BRCMF_C_GET_REGULATORY			46
36#define BRCMF_C_SET_REGULATORY			47
37#define BRCMF_C_SET_PASSIVE_SCAN		49
38#define BRCMF_C_SCAN				50
39#define BRCMF_C_SCAN_RESULTS			51
40#define BRCMF_C_DISASSOC			52
41#define BRCMF_C_REASSOC				53
42#define BRCMF_C_SET_ROAM_TRIGGER		55
43#define BRCMF_C_SET_ROAM_DELTA			57
44#define BRCMF_C_GET_BCNPRD			75
45#define BRCMF_C_SET_BCNPRD			76
46#define BRCMF_C_GET_DTIMPRD			77
47#define BRCMF_C_SET_DTIMPRD			78
48#define BRCMF_C_SET_COUNTRY			84
49#define BRCMF_C_GET_PM				85
50#define BRCMF_C_SET_PM				86
51#define BRCMF_C_GET_REVINFO			98
52#define BRCMF_C_GET_MONITOR			107
53#define BRCMF_C_SET_MONITOR			108
54#define BRCMF_C_GET_CURR_RATESET		114
55#define BRCMF_C_GET_AP				117
56#define BRCMF_C_SET_AP				118
57#define BRCMF_C_SET_SCB_AUTHORIZE		121
58#define BRCMF_C_SET_SCB_DEAUTHORIZE		122
59#define BRCMF_C_GET_RSSI			127
60#define BRCMF_C_GET_WSEC			133
61#define BRCMF_C_SET_WSEC			134
62#define BRCMF_C_GET_PHY_NOISE			135
63#define BRCMF_C_GET_BSS_INFO			136
64#define BRCMF_C_GET_GET_PKTCNTS			137
65#define BRCMF_C_GET_BANDLIST			140
66#define BRCMF_C_SET_SCB_TIMEOUT			158
67#define BRCMF_C_GET_ASSOCLIST			159
68#define BRCMF_C_GET_PHYLIST			180
69#define BRCMF_C_SET_SCAN_CHANNEL_TIME		185
70#define BRCMF_C_SET_SCAN_UNASSOC_TIME		187
71#define BRCMF_C_SCB_DEAUTHENTICATE_FOR_REASON	201
72#define BRCMF_C_SET_ASSOC_PREFER		205
73#define BRCMF_C_GET_VALID_CHANNELS		217
74#define BRCMF_C_SET_FAKEFRAG			219
75#define BRCMF_C_GET_KEY_PRIMARY			235
76#define BRCMF_C_SET_KEY_PRIMARY			236
77#define BRCMF_C_SET_SCAN_PASSIVE_TIME		258
78#define BRCMF_C_GET_VAR				262
79#define BRCMF_C_SET_VAR				263
80#define BRCMF_C_SET_WSEC_PMK			268
81
82s32 brcmf_fil_cmd_data_set(struct brcmf_if *ifp, u32 cmd, void *data, u32 len);
83s32 brcmf_fil_cmd_data_get(struct brcmf_if *ifp, u32 cmd, void *data, u32 len);
84s32 brcmf_fil_cmd_int_set(struct brcmf_if *ifp, u32 cmd, u32 data);
85s32 brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data);
86
87s32 brcmf_fil_iovar_data_set(struct brcmf_if *ifp, const char *name, const void *data,
88			     u32 len);
89s32 brcmf_fil_iovar_data_get(struct brcmf_if *ifp, const char *name, void *data,
90			     u32 len);
91s32 brcmf_fil_iovar_int_set(struct brcmf_if *ifp, const char *name, u32 data);
92s32 brcmf_fil_iovar_int_get(struct brcmf_if *ifp, const char *name, u32 *data);
93
94s32 brcmf_fil_bsscfg_data_set(struct brcmf_if *ifp, const char *name, void *data,
95			      u32 len);
96s32 brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, const char *name, void *data,
97			      u32 len);
98s32 brcmf_fil_bsscfg_int_set(struct brcmf_if *ifp, const char *name, u32 data);
99s32 brcmf_fil_bsscfg_int_get(struct brcmf_if *ifp, const char *name, u32 *data);
100s32 brcmf_fil_xtlv_data_set(struct brcmf_if *ifp, const char *name, u16 id,
101			    void *data, u32 len);
102s32 brcmf_fil_xtlv_data_get(struct brcmf_if *ifp, const char *name, u16 id,
103			    void *data, u32 len);
104s32 brcmf_fil_xtlv_int_set(struct brcmf_if *ifp, const char *name, u16 id, u32 data);
105s32 brcmf_fil_xtlv_int_get(struct brcmf_if *ifp, const char *name, u16 id, u32 *data);
106s32 brcmf_fil_xtlv_int8_get(struct brcmf_if *ifp, const char *name, u16 id, u8 *data);
107s32 brcmf_fil_xtlv_int16_get(struct brcmf_if *ifp, const char *name, u16 id, u16 *data);
108
109#endif /* _fwil_h_ */
110