4
/*************************TYPE DEF**********************/
7
#define DSD_START_OFFSET 0x0200
8
#define EEPROM_VERSION_OFFSET 0x020E
9
#define EEPROM_HW_PARAM_POINTER_ADDRESS 0x0218
10
#define EEPROM_HW_PARAM_POINTER_ADDRRES_MAP5 0x0220
11
#define GPIO_SECTION_START_OFFSET 0x03
13
#define COMPATIBILITY_SECTION_LENGTH 42
14
#define COMPATIBILITY_SECTION_LENGTH_MAP5 84
17
#define EEPROM_MAP5_MAJORVERSION 5
18
#define EEPROM_MAP5_MINORVERSION 0
21
#define MAX_NUM_OF_BLINKS 10
22
#define NUM_OF_GPIO_PINS 16
24
#define DISABLE_GPIO_NUM 0xFF
25
#define EVENT_SIGNALED 1
27
#define MAX_FILE_NAME_BUFFER_SIZE 100
29
#define TURN_ON_LED(GPIO, index) do{ \
30
UINT gpio_val = GPIO; \
31
(Adapter->LEDInfo.LEDState[index].BitPolarity == 1) ? \
32
wrmaltWithLock(Adapter,BCM_GPIO_OUTPUT_SET_REG, &gpio_val ,sizeof(gpio_val)) : \
33
wrmaltWithLock(Adapter,BCM_GPIO_OUTPUT_CLR_REG, &gpio_val, sizeof(gpio_val)); \
36
#define TURN_OFF_LED(GPIO, index) do { \
37
UINT gpio_val = GPIO; \
38
(Adapter->LEDInfo.LEDState[index].BitPolarity == 1) ? \
39
wrmaltWithLock(Adapter,BCM_GPIO_OUTPUT_CLR_REG,&gpio_val ,sizeof(gpio_val)) : \
40
wrmaltWithLock(Adapter,BCM_GPIO_OUTPUT_SET_REG,&gpio_val ,sizeof(gpio_val)); \
43
#define B_ULONG32 unsigned long
45
/*******************************************************/
48
typedef enum _LEDColors{
53
} LEDColors; /*Enumerated values of different LED types*/
55
typedef enum LedEvents {
59
FW_DOWNLOAD_DONE = 0x4,
60
NO_NETWORK_ENTRY = 0x8,
61
NORMAL_OPERATION = 0x10,
62
LOWPOWER_MODE_ENTER = 0x20,
63
IDLEMODE_CONTINUE = 0x40,
65
LED_THREAD_INACTIVE = 0x100, //Makes the LED thread Inactivce. It wil be equivallent to putting the thread on hold.
66
LED_THREAD_ACTIVE = 0x200 //Makes the LED Thread Active back.
67
} LedEventInfo_t; /*Enumerated values of different driver states*/
69
#define DRIVER_HALT 0xff
72
/*Structure which stores the information of different LED types
73
* and corresponding LED state information of driver states*/
74
typedef struct LedStateInfo_t
76
UCHAR LED_Type; /* specify GPIO number - use 0xFF if not used */
77
UCHAR LED_On_State; /* Bits set or reset for different states */
78
UCHAR LED_Blink_State; /* Bits set or reset for blinking LEDs for different states */
80
UCHAR BitPolarity; /*To represent whether H/W is normal polarity or reverse
82
}LEDStateInfo, *pLEDStateInfo;
85
typedef struct _LED_INFO_STRUCT
87
LEDStateInfo LEDState[NUM_OF_LEDS];
88
BOOLEAN bIdleMode_tx_from_host; /*Variable to notify whether driver came out
89
from idlemode due to Host or target*/
90
BOOLEAN bIdle_led_off;
91
wait_queue_head_t notify_led_event;
92
wait_queue_head_t idleModeSyncEvent;
93
struct task_struct *led_cntrl_threadid;
94
int led_thread_running;
97
} LED_INFO_STRUCT, *PLED_INFO_STRUCT;
99
#define BCM_LED_THREAD_DISABLED 0 //LED Thread is not running.
100
#define BCM_LED_THREAD_RUNNING_ACTIVELY 1 //LED thread is running.
101
#define BCM_LED_THREAD_RUNNING_INACTIVELY 2 //LED thread has been put on hold