~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to drivers/staging/bcm/Macros.h

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno, Martin Michlmayr
  • Date: 2011-04-06 13:53:30 UTC
  • mfrom: (43.1.5 sid)
  • Revision ID: james.westby@ubuntu.com-20110406135330-wjufxhd0tvn3zx4z
Tags: 2.6.38-3
[ Ben Hutchings ]
* [ppc64] Add to linux-tools package architectures (Closes: #620124)
* [amd64] Save cr4 to mmu_cr4_features at boot time (Closes: #620284)
* appletalk: Fix bugs introduced when removing use of BKL
* ALSA: Fix yet another race in disconnection
* cciss: Fix lost command issue
* ath9k: Fix kernel panic in AR2427
* ses: Avoid kernel panic when lun 0 is not mapped
* PCI/ACPI: Report ASPM support to BIOS if not disabled from command line

[ Aurelien Jarno ]
* rtlwifi: fix build when PCI is not enabled.

[ Martin Michlmayr ]
* rtlwifi: Eliminate udelay calls with too large values (Closes: #620204)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*************************************
 
2
*       Macros.h
 
3
**************************************/
 
4
#ifndef __MACROS_H__
 
5
#define __MACROS_H__
 
6
 
 
7
#define TX_TIMER_PERIOD 10      //10 msec
 
8
#define MAX_CLASSIFIERS 100
 
9
//#define MAX_CLASSIFIERS_PER_SF  20
 
10
#define MAX_TARGET_DSX_BUFFERS 24
 
11
 
 
12
#define MAX_CNTRL_PKTS  100
 
13
#define MAX_DATA_PKTS           200
 
14
#define MAX_ETH_SIZE            1536
 
15
#define MAX_CNTL_PKT_SIZE 2048
 
16
 
 
17
#define MTU_SIZE 1400
 
18
#define TX_QLEN  5
 
19
 
 
20
#define MAC_ADDR_REGISTER 0xbf60d000
 
21
 
 
22
 
 
23
///////////Quality of Service///////////////////////////
 
24
#define NO_OF_QUEUES                            17
 
25
#define HiPriority                  NO_OF_QUEUES-1
 
26
#define LowPriority                 0
 
27
#define BE                          2
 
28
#define rtPS                        4
 
29
#define ERTPS                       5
 
30
#define UGS                         6
 
31
 
 
32
#define BE_BUCKET_SIZE                  1024*1024*100  //32kb
 
33
#define rtPS_BUCKET_SIZE                1024*1024*100    //8kb
 
34
#define MAX_ALLOWED_RATE                1024*1024*100
 
35
#define TX_PACKET_THRESHOLD             10
 
36
#define XSECONDS                    1*HZ
 
37
#define DSC_ACTIVATE_REQUEST            248
 
38
#define QUEUE_DEPTH_OFFSET          0x1fc01000
 
39
#define MAX_DEVICE_DESC_SIZE            2040
 
40
#define MAX_CTRL_QUEUE_LEN                      100
 
41
#define MAX_APP_QUEUE_LEN                       200
 
42
#define MAX_LATENCY_ALLOWED                     0xFFFFFFFF
 
43
#define DEFAULT_UG_INTERVAL                     250
 
44
#define DEFAULT_UGI_FACTOR                      4
 
45
 
 
46
#define DEFAULT_PERSFCOUNT                      60
 
47
#define MAX_CONNECTIONS                         10
 
48
#define MAX_CLASS_NAME_LENGTH           32
 
49
 
 
50
#define ETH_LENGTH_OF_ADDRESS           6
 
51
#define MAX_MULTICAST_ADDRESSES     32
 
52
#define IP_LENGTH_OF_ADDRESS            4
 
53
 
 
54
#define IP_PACKET_ONLY_MODE                     0
 
55
#define ETH_PACKET_TUNNELING_MODE       1
 
56
 
 
57
////////////Link Request//////////////
 
58
#define SET_MAC_ADDRESS_REQUEST         0
 
59
#define SYNC_UP_REQUEST             1
 
60
#define SYNCED_UP                   2
 
61
#define LINK_UP_REQUEST             3
 
62
#define LINK_CONNECTED              4
 
63
#define SYNC_UP_NOTIFICATION            2
 
64
#define LINK_UP_NOTIFICATION            4
 
65
 
 
66
 
 
67
#define LINK_NET_ENTRY              0x0002
 
68
#define HMC_STATUS                                      0x0004
 
69
#define LINK_UP_CONTROL_REQ         0x83
 
70
 
 
71
#define STATS_POINTER_REQ_STATUS    0x86
 
72
#define NETWORK_ENTRY_REQ_PAYLOAD   198
 
73
#define LINK_DOWN_REQ_PAYLOAD           226
 
74
#define SYNC_UP_REQ_PAYLOAD         228
 
75
#define STATISTICS_POINTER_REQ          237
 
76
#define LINK_UP_REQ_PAYLOAD         245
 
77
#define LINK_UP_ACK                 246
 
78
 
 
79
#define STATS_MSG_SIZE              4
 
80
#define INDEX_TO_DATA               4
 
81
 
 
82
#define GO_TO_IDLE_MODE_PAYLOAD                 210
 
83
#define COME_UP_FROM_IDLE_MODE_PAYLOAD  211
 
84
#define IDLE_MODE_SF_UPDATE_MSG                 187
 
85
 
 
86
#define SKB_RESERVE_ETHERNET_HEADER     16
 
87
#define SKB_RESERVE_PHS_BYTES           32
 
88
 
 
89
#define IP_PACKET_ONLY_MODE                     0
 
90
#define ETH_PACKET_TUNNELING_MODE       1
 
91
 
 
92
#define ETH_CS_802_3                            1
 
93
#define ETH_CS_802_1Q_VLAN                      3
 
94
#define IPV4_CS                                         1
 
95
#define IPV6_CS                                         2
 
96
#define ETH_CS_MASK                                     0x3f
 
97
 
 
98
/** \brief Validity bit maps for TLVs in packet classification rule */
 
99
 
 
100
#define PKT_CLASSIFICATION_USER_PRIORITY_VALID          0
 
101
#define PKT_CLASSIFICATION_VLANID_VALID                         1
 
102
 
 
103
#ifndef MIN
 
104
#define MIN(_a, _b) ((_a) < (_b)? (_a): (_b))
 
105
#endif
 
106
 
 
107
 
 
108
/*Leader related terms */
 
109
#define LEADER_STATUS                                   0x00
 
110
#define LEADER_STATUS_TCP_ACK                   0x1
 
111
#define LEADER_SIZE                             sizeof(LEADER)
 
112
#define MAC_ADDR_REQ_SIZE                               sizeof(PACKETTOSEND)
 
113
#define SS_INFO_REQ_SIZE                                sizeof(PACKETTOSEND)
 
114
#define CM_REQUEST_SIZE                                 LEADER_SIZE + sizeof(stLocalSFChangeRequest)
 
115
#define IDLE_REQ_SIZE                                   sizeof(PACKETTOSEND)
 
116
 
 
117
 
 
118
#define MAX_TRANSFER_CTRL_BYTE_USB              2 * 1024
 
119
 
 
120
#define GET_MAILBOX1_REG_REQUEST        0x87
 
121
#define GET_MAILBOX1_REG_RESPONSE       0x67
 
122
#define VCID_CONTROL_PACKET             0x00
 
123
 
 
124
#define TRANSMIT_NETWORK_DATA           0x00
 
125
#define RECEIVED_NETWORK_DATA           0x20
 
126
 
 
127
#define CM_RESPONSES                                    0xA0
 
128
#define STATUS_RSP                                              0xA1
 
129
#define LINK_CONTROL_RESP                               0xA2
 
130
#define IDLE_MODE_STATUS                                0xA3
 
131
#define STATS_POINTER_RESP                              0xA6
 
132
#define MGMT_MSG_INFO_SW_STATUS         0xA7
 
133
#define AUTH_SS_HOST_MSG                        0xA8
 
134
 
 
135
#define CM_DSA_ACK_PAYLOAD                              247
 
136
#define CM_DSC_ACK_PAYLOAD                              248
 
137
#define CM_DSD_ACK_PAYLOAD                              249
 
138
#define CM_DSDEACTVATE                                  250
 
139
#define TOTAL_MASKED_ADDRESS_IN_BYTES   32
 
140
 
 
141
#define MAC_REQ                         0
 
142
#define LINK_RESP                       1
 
143
#define RSSI_INDICATION         2
 
144
 
 
145
#define SS_INFO                 4
 
146
#define STATISTICS_INFO         5
 
147
#define CM_INDICATION           6
 
148
#define PARAM_RESP                      7
 
149
#define BUFFER_1K                       1024
 
150
#define BUFFER_2K                       BUFFER_1K*2
 
151
#define BUFFER_4K                       BUFFER_2K*2
 
152
#define BUFFER_8K                       BUFFER_4K*2
 
153
#define BUFFER_16K                      BUFFER_8K*2
 
154
#define DOWNLINK_DIR 0
 
155
#define UPLINK_DIR 1
 
156
 
 
157
#define BCM_SIGNATURE           "BECEEM"
 
158
 
 
159
 
 
160
#define GPIO_OUTPUT_REGISTER     0x0F00003C
 
161
#define BCM_GPIO_OUTPUT_SET_REG  0x0F000040
 
162
#define BCM_GPIO_OUTPUT_CLR_REG  0x0F000044
 
163
#define GPIO_MODE_REGISTER       0x0F000034
 
164
#define GPIO_PIN_STATE_REGISTER  0x0F000038
 
165
 
 
166
 
 
167
typedef struct _LINK_STATE {
 
168
        UCHAR   ucLinkStatus;
 
169
    UCHAR   bIdleMode;
 
170
        UCHAR   bShutdownMode;
 
171
}LINK_STATE, *PLINK_STATE;
 
172
 
 
173
 
 
174
enum enLinkStatus {
 
175
    WAIT_FOR_SYNC =     1,
 
176
    PHY_SYNC_ACHIVED =  2,
 
177
    LINKUP_IN_PROGRESS = 3,
 
178
    LINKUP_DONE     =   4,
 
179
    DREG_RECIEVED =             5,
 
180
    LINK_STATUS_RESET_RECIEVED = 6,
 
181
    PERIODIC_WAKE_UP_NOTIFICATION_FRM_FW  = 7,
 
182
    LINK_SHUTDOWN_REQ_FROM_FIRMWARE = 8,
 
183
    COMPLETE_WAKE_UP_NOTIFICATION_FRM_FW =9
 
184
};
 
185
 
 
186
typedef enum _E_PHS_DSC_ACTION
 
187
{
 
188
        eAddPHSRule=0,
 
189
        eSetPHSRule,
 
190
        eDeletePHSRule,
 
191
        eDeleteAllPHSRules
 
192
}E_PHS_DSC_ACTION;
 
193
 
 
194
 
 
195
#define CM_CONTROL_NEWDSX_MULTICLASSIFIER_REQ           0x89    // Host to Mac
 
196
#define CM_CONTROL_NEWDSX_MULTICLASSIFIER_RESP      0xA9    // Mac to Host
 
197
#define MASK_DISABLE_HEADER_SUPPRESSION                         0x10 //0b000010000
 
198
#define MINIMUM_PENDING_DESCRIPTORS                                     5
 
199
 
 
200
#define SHUTDOWN_HOSTINITIATED_REQUESTPAYLOAD 0xCC
 
201
#define SHUTDOWN_ACK_FROM_DRIVER 0x1
 
202
#define SHUTDOWN_NACK_FROM_DRIVER 0x2
 
203
 
 
204
#define LINK_SYNC_UP_SUBTYPE            0x0001
 
205
#define LINK_SYNC_DOWN_SUBTYPE          0x0001
 
206
 
 
207
 
 
208
 
 
209
#define CONT_MODE 1
 
210
#define SINGLE_DESCRIPTOR 1
 
211
 
 
212
 
 
213
#define DESCRIPTOR_LENGTH 0x30
 
214
#define FIRMWARE_DESCS_ADDRESS 0x1F100000
 
215
 
 
216
 
 
217
#define CLOCK_RESET_CNTRL_REG_1 0x0F00000C
 
218
#define CLOCK_RESET_CNTRL_REG_2 0x0F000840
 
219
 
 
220
 
 
221
 
 
222
#define TX_DESCRIPTOR_HEAD_REGISTER 0x0F010034
 
223
#define RX_DESCRIPTOR_HEAD_REGISTER 0x0F010094
 
224
 
 
225
#define STATISTICS_BEGIN_ADDR        0xbf60f02c
 
226
 
 
227
#define MAX_PENDING_CTRL_PACKET (MAX_CTRL_QUEUE_LEN-10)
 
228
 
 
229
#define WIMAX_MAX_MTU                   (MTU_SIZE + ETH_HLEN)
 
230
#define AUTO_LINKUP_ENABLE              0x2
 
231
#define AUTO_SYNC_DISABLE               0x1
 
232
#define AUTO_FIRM_DOWNLOAD              0x1
 
233
#define SETTLE_DOWN_TIME                50
 
234
 
 
235
#define HOST_BUS_SUSPEND_BIT            16
 
236
 
 
237
#define IDLE_MESSAGE 0x81
 
238
 
 
239
#define MIPS_CLOCK_133MHz 1
 
240
 
 
241
#define TARGET_CAN_GO_TO_IDLE_MODE 2
 
242
#define TARGET_CAN_NOT_GO_TO_IDLE_MODE 3
 
243
#define IDLE_MODE_PAYLOAD_LENGTH 8
 
244
 
 
245
#define IP_HEADER(Buffer) ((IPHeaderFormat*)(Buffer))
 
246
#define IPV4                            4
 
247
#define IP_VERSION(byte)        (((byte&0xF0)>>4))
 
248
 
 
249
#define SET_MAC_ADDRESS  193
 
250
#define SET_MAC_ADDRESS_RESPONSE 236
 
251
 
 
252
#define IDLE_MODE_WAKEUP_PATTERN 0xd0ea1d1e
 
253
#define IDLE_MODE_WAKEUP_NOTIFIER_ADDRESS 0x1FC02FA8
 
254
#define IDLE_MODE_MAX_RETRY_COUNT 1000
 
255
 
 
256
#ifdef REL_4_1
 
257
#define CONFIG_BEGIN_ADDR 0xBF60B004
 
258
#else
 
259
#define CONFIG_BEGIN_ADDR 0xBF60B000
 
260
#endif
 
261
 
 
262
#define FIRMWARE_BEGIN_ADDR 0xBFC00000
 
263
 
 
264
#define INVALID_QUEUE_INDEX NO_OF_QUEUES
 
265
 
 
266
#define INVALID_PID (pid_t)-1
 
267
#define DDR_80_MHZ      0
 
268
#define DDR_100_MHZ     1
 
269
#define DDR_120_MHZ     2 //  Additional Frequency for T3LP
 
270
#define DDR_133_MHZ     3
 
271
#define DDR_140_MHZ     4 //  Not Used (Reserved for future)
 
272
#define DDR_160_MHZ     5 //  Additional Frequency for T3LP
 
273
#define DDR_180_MHZ     6 //  Not Used (Reserved for future)
 
274
#define DDR_200_MHZ     7 //  Not Used (Reserved for future)
 
275
 
 
276
#define MIPS_200_MHZ   0
 
277
#define MIPS_160_MHZ   1
 
278
 
 
279
#define PLL_800_MHZ    0
 
280
#define PLL_266_MHZ    1
 
281
 
 
282
#define DEVICE_POWERSAVE_MODE_AS_MANUAL_CLOCK_GATING        0
 
283
#define DEVICE_POWERSAVE_MODE_AS_PMU_CLOCK_GATING           1
 
284
#define DEVICE_POWERSAVE_MODE_AS_PMU_SHUTDOWN               2
 
285
#define DEVICE_POWERSAVE_MODE_AS_RESERVED                   3
 
286
#define DEVICE_POWERSAVE_MODE_AS_PROTOCOL_IDLE_MODE         4
 
287
 
 
288
 
 
289
#define EEPROM_REJECT_REG_1 0x0f003018
 
290
#define EEPROM_REJECT_REG_2 0x0f00301c
 
291
#define EEPROM_REJECT_REG_3 0x0f003008
 
292
#define EEPROM_REJECT_REG_4 0x0f003020
 
293
#define EEPROM_REJECT_MASK  0x0fffffff
 
294
#define VSG_MODE                          0x3
 
295
 
 
296
/* Idle Mode Related Registers */
 
297
#define DEBUG_INTERRUPT_GENERATOR_REGISTOR 0x0F00007C
 
298
#define SW_ABORT_IDLEMODE_LOC           0x0FF01FFC
 
299
 
 
300
#define SW_ABORT_IDLEMODE_PATTERN       0xd0ea1d1e
 
301
#define DEVICE_INT_OUT_EP_REG0          0x0F011870
 
302
#define DEVICE_INT_OUT_EP_REG1          0x0F011874
 
303
 
 
304
#define BIN_FILE "/lib/firmware/macxvi200.bin"
 
305
#define CFG_FILE "/lib/firmware/macxvi.cfg"
 
306
#define SF_MAX_ALLOWED_PACKETS_TO_BACKUP 128
 
307
#define MIN_VAL(x,y)    ((x)<(y)?(x):(y))
 
308
#define MAC_ADDRESS_SIZE 6
 
309
#define EEPROM_COMMAND_Q_REG    0x0F003018
 
310
#define EEPROM_READ_DATA_Q_REG  0x0F003020
 
311
#define CHIP_ID_REG                     0x0F000000
 
312
#define GPIO_MODE_REG                   0x0F000034
 
313
#define GPIO_OUTPUT_REG                 0x0F00003C
 
314
#define WIMAX_MAX_ALLOWED_RATE  1024*1024*50
 
315
 
 
316
#define T3 0xbece0300
 
317
#define TARGET_SFID_TXDESC_MAP_LOC 0xBFFFF400
 
318
 
 
319
#define RWM_READ 0
 
320
#define RWM_WRITE 1
 
321
 
 
322
#define T3LPB       0xbece3300
 
323
#define BCS220_2        0xbece3311
 
324
#define BCS220_2BC      0xBECE3310
 
325
#define BCS250_BC       0xbece3301
 
326
#define BCS220_3        0xbece3321
 
327
 
 
328
 
 
329
#define HPM_CONFIG_LDO145       0x0F000D54
 
330
#define HPM_CONFIG_MSW          0x0F000D58
 
331
 
 
332
#define T3B 0xbece0310
 
333
typedef enum eNVM_TYPE
 
334
{
 
335
        NVM_AUTODETECT = 0,
 
336
        NVM_EEPROM,
 
337
        NVM_FLASH,
 
338
        NVM_UNKNOWN
 
339
}NVM_TYPE;
 
340
 
 
341
typedef enum ePMU_MODES
 
342
{
 
343
        HYBRID_MODE_7C  = 0,
 
344
        INTERNAL_MODE_6 = 1,
 
345
        HYBRID_MODE_6   = 2
 
346
}PMU_MODE;
 
347
 
 
348
#define MAX_RDM_WRM_RETIRES 1
 
349
 
 
350
enum eAbortPattern {
 
351
        ABORT_SHUTDOWN_MODE = 1,
 
352
        ABORT_IDLE_REG = 1,
 
353
        ABORT_IDLE_MODE = 2,
 
354
        ABORT_IDLE_SYNCDOWN = 3
 
355
};
 
356
 
 
357
 
 
358
/* Offsets used by driver in skb cb variable */
 
359
#define SKB_CB_CLASSIFICATION_OFFSET    0
 
360
#define SKB_CB_LATENCY_OFFSET           1
 
361
#define SKB_CB_TCPACK_OFFSET            2
 
362
 
 
363
#endif  //__MACROS_H__