Commit | Line | Data |
---|---|---|
c5c77ba1 JK |
1 | #ifndef LINUX_WLAN_COMMON_H |
2 | #define LINUX_WLAN_COMMON_H | |
3 | ||
4 | enum debug_region { | |
5 | Generic_debug = 0, | |
6 | Hostapd_debug, | |
7 | Hostinf_debug, | |
8 | CFG80211_debug, | |
9 | Coreconfig_debug, | |
10 | Interrupt_debug, | |
11 | TX_debug, | |
12 | RX_debug, | |
13 | Lock_debug, | |
14 | Tcp_enhance, | |
c5c77ba1 JK |
15 | Spin_debug, |
16 | ||
17 | Init_debug, | |
18 | Bus_debug, | |
19 | Mem_debug, | |
20 | Firmware_debug, | |
21 | COMP = 0xFFFFFFFF, | |
22 | }; | |
23 | ||
3f4d1c09 CL |
24 | #define GENERIC_DBG (1 << Generic_debug) |
25 | #define HOSTAPD_DBG (1 << Hostapd_debug) | |
26 | #define HOSTINF_DBG (1 << Hostinf_debug) | |
27 | #define CORECONFIG_DBG (1 << Coreconfig_debug) | |
28 | #define CFG80211_DBG (1 << CFG80211_debug) | |
29 | #define INT_DBG (1 << Interrupt_debug) | |
30 | #define TX_DBG (1 << TX_debug) | |
31 | #define RX_DBG (1 << RX_debug) | |
32 | #define LOCK_DBG (1 << Lock_debug) | |
33 | #define TCP_ENH (1 << Tcp_enhance) | |
34 | #define SPIN_DEBUG (1 << Spin_debug) | |
35 | #define INIT_DBG (1 << Init_debug) | |
36 | #define BUS_DBG (1 << Bus_debug) | |
37 | #define MEM_DBG (1 << Mem_debug) | |
38 | #define FIRM_DBG (1 << Firmware_debug) | |
c5c77ba1 JK |
39 | |
40 | #if defined (WILC_DEBUGFS) | |
b3ff2910 JP |
41 | int wilc_debugfs_init(void); |
42 | void wilc_debugfs_remove(void); | |
c5c77ba1 JK |
43 | |
44 | extern atomic_t REGION; | |
45 | extern atomic_t DEBUG_LEVEL; | |
46 | ||
ffda203c AB |
47 | #define DEBUG BIT(0) |
48 | #define INFO BIT(1) | |
49 | #define WRN BIT(2) | |
50 | #define ERR BIT(3) | |
c5c77ba1 | 51 | |
3f4d1c09 CL |
52 | #define PRINT_D(region, ...) \ |
53 | do { \ | |
54 | if ((atomic_read(&DEBUG_LEVEL) & DEBUG) && \ | |
55 | ((atomic_read(®ION)) & (region))) { \ | |
60cb1e20 | 56 | printk("DBG [%s: %d]", __func__, __LINE__); \ |
3f4d1c09 CL |
57 | printk(__VA_ARGS__); \ |
58 | } \ | |
59 | } while (0) | |
60 | ||
61 | #define PRINT_INFO(region, ...) \ | |
62 | do { \ | |
63 | if ((atomic_read(&DEBUG_LEVEL) & INFO) && \ | |
64 | ((atomic_read(®ION)) & (region))) { \ | |
60cb1e20 | 65 | printk("INFO [%s]", __func__); \ |
3f4d1c09 CL |
66 | printk(__VA_ARGS__); \ |
67 | } \ | |
68 | } while (0) | |
69 | ||
70 | #define PRINT_WRN(region, ...) \ | |
71 | do { \ | |
72 | if ((atomic_read(&DEBUG_LEVEL) & WRN) && \ | |
73 | ((atomic_read(®ION)) & (region))) { \ | |
60cb1e20 | 74 | printk("WRN [%s: %d]", __func__, __LINE__); \ |
3f4d1c09 CL |
75 | printk(__VA_ARGS__); \ |
76 | } \ | |
77 | } while (0) | |
c5c77ba1 | 78 | |
3f4d1c09 CL |
79 | #define PRINT_ER(...) \ |
80 | do { \ | |
81 | if ((atomic_read(&DEBUG_LEVEL) & ERR)) { \ | |
60cb1e20 | 82 | printk("ERR [%s: %d]", __func__, __LINE__); \ |
3f4d1c09 CL |
83 | printk(__VA_ARGS__); \ |
84 | } \ | |
85 | } while (0) | |
c5c77ba1 JK |
86 | |
87 | #else | |
88 | ||
89 | #define REGION (INIT_DBG | GENERIC_DBG | CFG80211_DBG | FIRM_DBG | HOSTAPD_DBG) | |
90 | ||
91 | #define DEBUG 1 | |
92 | #define INFO 0 | |
93 | #define WRN 0 | |
3f4d1c09 CL |
94 | |
95 | #define PRINT_D(region, ...) \ | |
96 | do { \ | |
97 | if (DEBUG == 1 && ((REGION)&(region))) { \ | |
60cb1e20 | 98 | printk("DBG [%s: %d]", __func__, __LINE__); \ |
3f4d1c09 CL |
99 | printk(__VA_ARGS__); \ |
100 | } \ | |
101 | } while (0) | |
102 | ||
103 | #define PRINT_INFO(region, ...) \ | |
104 | do { \ | |
105 | if (INFO == 1 && ((REGION)&(region))) { \ | |
60cb1e20 | 106 | printk("INFO [%s]", __func__); \ |
3f4d1c09 CL |
107 | printk(__VA_ARGS__); \ |
108 | } \ | |
109 | } while (0) | |
110 | ||
111 | #define PRINT_WRN(region, ...) \ | |
112 | do { \ | |
113 | if (WRN == 1 && ((REGION)&(region))) { \ | |
60cb1e20 | 114 | printk("WRN [%s: %d]", __func__, __LINE__); \ |
3f4d1c09 CL |
115 | printk(__VA_ARGS__); \ |
116 | } \ | |
117 | } while (0) | |
118 | ||
119 | #define PRINT_ER(...) \ | |
120 | do { \ | |
60cb1e20 | 121 | printk("ERR [%s: %d]", __func__, __LINE__); \ |
3f4d1c09 CL |
122 | printk(__VA_ARGS__); \ |
123 | } while (0) | |
c5c77ba1 JK |
124 | #endif |
125 | ||
126 | #define FN_IN /* PRINT_D(">>> \n") */ | |
127 | #define FN_OUT /* PRINT_D("<<<\n") */ | |
128 | ||
129 | #ifdef MEMORY_STATIC | |
130 | #define LINUX_RX_SIZE (96 * 1024) | |
131 | #endif | |
132 | #define LINUX_TX_SIZE (64 * 1024) | |
133 | ||
134 | ||
135 | #define WILC_MULTICAST_TABLE_SIZE 8 | |
136 | ||
e89419bc | 137 | #if defined (BEAGLE_BOARD) |
c5c77ba1 JK |
138 | #define SPI_CHANNEL 4 |
139 | ||
140 | #if SPI_CHANNEL == 4 | |
141 | #define MODALIAS "wilc_spi4" | |
142 | #define GPIO_NUM 162 | |
143 | #else | |
144 | #define MODALIAS "wilc_spi3" | |
145 | #define GPIO_NUM 133 | |
146 | #endif | |
c5c77ba1 JK |
147 | #elif defined(PLAT_WMS8304) /* rachel */ |
148 | #define MODALIAS "wilc_spi" | |
149 | #define GPIO_NUM 139 | |
150 | #elif defined (PLAT_RKXXXX) | |
151 | #define MODALIAS "WILC_IRQ" | |
152 | #define GPIO_NUM RK30_PIN3_PD2 /* RK30_PIN3_PA1 */ | |
153 | /* RK30_PIN3_PD2 */ | |
154 | /* RK2928_PIN1_PA7 */ | |
155 | ||
156 | #elif defined(CUSTOMER_PLATFORM) | |
157 | /* | |
158 | TODO : specify MODALIAS name and GPIO number. This is certainly necessary for SPI interface. | |
159 | * | |
160 | * ex) | |
161 | * #define MODALIAS "WILC_SPI" | |
162 | * #define GPIO_NUM 139 | |
163 | */ | |
164 | ||
165 | #else | |
166 | /* base on SAMA5D3_Xplained Board */ | |
167 | #define MODALIAS "WILC_SPI" | |
168 | #define GPIO_NUM 0x44 | |
169 | #endif | |
c5c77ba1 | 170 | #endif |