blob: 2b76e41ebd4d506ec0fc85002b51acaa6a98b5ed [file] [log] [blame]
#ifndef LINUX_WLAN_COMMON_H
#define LINUX_WLAN_COMMON_H
enum debug_region {
Generic_debug = 0,
Hostapd_debug,
Hostinf_debug,
CFG80211_debug,
Coreconfig_debug,
Interrupt_debug,
TX_debug,
RX_debug,
Lock_debug,
Tcp_enhance,
Spin_debug,
Init_debug,
Bus_debug,
Mem_debug,
Firmware_debug,
COMP = 0xFFFFFFFF,
};
#define GENERIC_DBG (1 << Generic_debug)
#define HOSTAPD_DBG (1 << Hostapd_debug)
#define HOSTINF_DBG (1 << Hostinf_debug)
#define CORECONFIG_DBG (1 << Coreconfig_debug)
#define CFG80211_DBG (1 << CFG80211_debug)
#define INT_DBG (1 << Interrupt_debug)
#define TX_DBG (1 << TX_debug)
#define RX_DBG (1 << RX_debug)
#define LOCK_DBG (1 << Lock_debug)
#define TCP_ENH (1 << Tcp_enhance)
#define SPIN_DEBUG (1 << Spin_debug)
#define INIT_DBG (1 << Init_debug)
#define BUS_DBG (1 << Bus_debug)
#define MEM_DBG (1 << Mem_debug)
#define FIRM_DBG (1 << Firmware_debug)
#if defined (WILC_DEBUGFS)
int wilc_debugfs_init(void);
void wilc_debugfs_remove(void);
extern atomic_t REGION;
extern atomic_t DEBUG_LEVEL;
#define DEBUG BIT(0)
#define INFO BIT(1)
#define WRN BIT(2)
#define ERR BIT(3)
#define PRINT_D(region, ...) \
do { \
if ((atomic_read(&DEBUG_LEVEL) & DEBUG) && \
((atomic_read(&REGION)) & (region))) { \
printk("DBG [%s: %d]", __func__, __LINE__); \
printk(__VA_ARGS__); \
} \
} while (0)
#define PRINT_INFO(region, ...) \
do { \
if ((atomic_read(&DEBUG_LEVEL) & INFO) && \
((atomic_read(&REGION)) & (region))) { \
printk("INFO [%s]", __func__); \
printk(__VA_ARGS__); \
} \
} while (0)
#define PRINT_WRN(region, ...) \
do { \
if ((atomic_read(&DEBUG_LEVEL) & WRN) && \
((atomic_read(&REGION)) & (region))) { \
printk("WRN [%s: %d]", __func__, __LINE__); \
printk(__VA_ARGS__); \
} \
} while (0)
#define PRINT_ER(...) \
do { \
if ((atomic_read(&DEBUG_LEVEL) & ERR)) { \
printk("ERR [%s: %d]", __func__, __LINE__); \
printk(__VA_ARGS__); \
} \
} while (0)
#else
#define REGION (INIT_DBG | GENERIC_DBG | CFG80211_DBG | FIRM_DBG | HOSTAPD_DBG)
#define DEBUG 1
#define INFO 0
#define WRN 0
#define PRINT_D(region, ...) \
do { \
if (DEBUG == 1 && ((REGION)&(region))) { \
printk("DBG [%s: %d]", __func__, __LINE__); \
printk(__VA_ARGS__); \
} \
} while (0)
#define PRINT_INFO(region, ...) \
do { \
if (INFO == 1 && ((REGION)&(region))) { \
printk("INFO [%s]", __func__); \
printk(__VA_ARGS__); \
} \
} while (0)
#define PRINT_WRN(region, ...) \
do { \
if (WRN == 1 && ((REGION)&(region))) { \
printk("WRN [%s: %d]", __func__, __LINE__); \
printk(__VA_ARGS__); \
} \
} while (0)
#define PRINT_ER(...) \
do { \
printk("ERR [%s: %d]", __func__, __LINE__); \
printk(__VA_ARGS__); \
} while (0)
#endif
#define FN_IN /* PRINT_D(">>> \n") */
#define FN_OUT /* PRINT_D("<<<\n") */
#ifdef MEMORY_STATIC
#define LINUX_RX_SIZE (96 * 1024)
#endif
#define LINUX_TX_SIZE (64 * 1024)
#define WILC_MULTICAST_TABLE_SIZE 8
#if defined (BEAGLE_BOARD)
#define SPI_CHANNEL 4
#if SPI_CHANNEL == 4
#define MODALIAS "wilc_spi4"
#define GPIO_NUM 162
#else
#define MODALIAS "wilc_spi3"
#define GPIO_NUM 133
#endif
#elif defined(PLAT_WMS8304) /* rachel */
#define MODALIAS "wilc_spi"
#define GPIO_NUM 139
#elif defined (PLAT_RKXXXX)
#define MODALIAS "WILC_IRQ"
#define GPIO_NUM RK30_PIN3_PD2 /* RK30_PIN3_PA1 */
/* RK30_PIN3_PD2 */
/* RK2928_PIN1_PA7 */
#elif defined(CUSTOMER_PLATFORM)
/*
TODO : specify MODALIAS name and GPIO number. This is certainly necessary for SPI interface.
*
* ex)
* #define MODALIAS "WILC_SPI"
* #define GPIO_NUM 139
*/
#else
/* base on SAMA5D3_Xplained Board */
#define MODALIAS "WILC_SPI"
#define GPIO_NUM 0x44
#endif
#endif