c7bef82659ffedac735e54373806d5df7091df8d
[barrelfish] / usr / drivers / solarflare / sfn5122f.h
1 /*
2  * \file
3  * \brief Solarflare sfn5122f driver: Constants
4  *
5  *
6  */
7
8 /*
9  * Copyright (c) 2007, 2008, 2009, ETH Zurich.
10  * All rights reserved.
11  *
12  * This file is distributed under the terms in the attached LICENSE file.
13  * If you do not find this file, copies can be found by writing to:
14  * ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
15  */
16
17 #ifndef SFN5122F_H_
18 #define SFN5122F_H_
19
20 #include <dev/sfn5122f_dev.h>
21 #include <dev/sfn5122f_q_dev.h>
22 #include "mcdi_rpc.h"
23 #include "helper.h"
24
25 #define BUF_SIZE 4096
26 #define DEVICE_ID 0x803
27 // TX Queue
28 #define TX_DESC_CACHE_SIZE 16
29 #define TX_ENTRIES 1024
30 #define TX_DC_BASE 0x11000
31 // Event Queue
32 #define EV_CODE_RX 0
33 #define EV_CODE_TX 2
34 #define EV_CODE_DRV 5
35 #define EV_CODE_DRV_GEN 7
36 #define EV_CODE_USER 8
37 #define EV_CODE_MCDI 12
38 #define EV_CODE_GLOBAL 6
39
40 /* for each TX/RX entry one entry plus an additonal 2 for mcdi completion
41 and link state events */
42 #define EV_ENTRIES 4096
43
44 // RX Queue
45 #define RX_DESC_CACHE_SIZE 64
46 #define RX_ENTRIES 2048
47 #define RX_DC_BASE 0xD000
48 // calculcat max frame length
49 #define MTU 1500
50 #define MTU_MAX 2048
51 /* PHY and MAC stats       */
52 #define NUM_MAC_STATS 0x61
53 // Numer of buffer table entries for each type of queue
54 #define NUM_ENT_EVQ ((EV_ENTRIES*8)/BUF_SIZE)
55 #define NUM_ENT_RX ((RX_ENTRIES*8)/BUF_SIZE)
56 #define NUM_ENT_TX ((TX_ENTRIES*8) / BUF_SIZE)
57 #define NUM_ENT_RX_USR  ((RX_ENTRIES*4) / BUF_SIZE)
58 #define MAX_BUF_TBL_ENTRIES 147456
59
60 // Filters
61 #define NUM_FILTERS_IP 8192
62 #define NUM_FILTERS_MAC 512
63
64
65 #endif /* SFN5122F_H_ */