ath9k: Add support for AR9287 based chipsets.
[pandora-kernel.git] / drivers / net / wireless / ath / ath9k / hw.h
index dd8508e..37f7d3d 100644 (file)
@@ -42,6 +42,9 @@
 #define AR_SUBVENDOR_ID_NEW_A  0x7065
 #define AR5416_MAGIC           0x19641014
 
+#define AR5416_DEVID_AR9287_PCI  0x002D
+#define AR5416_DEVID_AR9287_PCIE 0x002E
+
 /* Register read/write primitives */
 #define REG_WRITE(_ah, _reg, _val) ath9k_iowrite32((_ah), (_reg), (_val))
 #define REG_READ(_ah, _reg) ath9k_ioread32((_ah), (_reg))
@@ -95,6 +98,7 @@
 
 #define MAX_RATE_POWER              63
 #define AH_WAIT_TIMEOUT             100000 /* (us) */
+#define AH_TSF_WRITE_TIMEOUT        100    /* (us) */
 #define AH_TIME_QUANTUM             10
 #define AR_KEYTABLE_SIZE            128
 #define POWER_UP_TIME               200000
 
 enum wireless_mode {
        ATH9K_MODE_11A = 0,
-       ATH9K_MODE_11B = 2,
-       ATH9K_MODE_11G = 3,
-       ATH9K_MODE_11NA_HT20 = 6,
-       ATH9K_MODE_11NG_HT20 = 7,
-       ATH9K_MODE_11NA_HT40PLUS = 8,
-       ATH9K_MODE_11NA_HT40MINUS = 9,
-       ATH9K_MODE_11NG_HT40PLUS = 10,
-       ATH9K_MODE_11NG_HT40MINUS = 11,
-       ATH9K_MODE_MAX
+       ATH9K_MODE_11G,
+       ATH9K_MODE_11NA_HT20,
+       ATH9K_MODE_11NG_HT20,
+       ATH9K_MODE_11NA_HT40PLUS,
+       ATH9K_MODE_11NA_HT40MINUS,
+       ATH9K_MODE_11NG_HT40PLUS,
+       ATH9K_MODE_11NG_HT40MINUS,
+       ATH9K_MODE_MAX,
 };
 
 enum ath9k_hw_caps {
@@ -400,6 +403,7 @@ struct ath_hw {
        union {
                struct ar5416_eeprom_def def;
                struct ar5416_eeprom_4k map4k;
+               struct ar9287_eeprom_t map9287;
        } eeprom;
        const struct eeprom_ops *eep_ops;
        enum ath9k_eep_map eep_map;
@@ -565,9 +569,6 @@ u32 ath9k_hw_gpio_get(struct ath_hw *ah, u32 gpio);
 void ath9k_hw_cfg_output(struct ath_hw *ah, u32 gpio,
                         u32 ah_signal_type);
 void ath9k_hw_set_gpio(struct ath_hw *ah, u32 gpio, u32 val);
-#if defined(CONFIG_RFKILL) || defined(CONFIG_RFKILL_MODULE)
-void ath9k_enable_rfkill(struct ath_hw *ah);
-#endif
 u32 ath9k_hw_getdefantenna(struct ath_hw *ah);
 void ath9k_hw_setantenna(struct ath_hw *ah, u32 antenna);
 bool ath9k_hw_setantennaswitch(struct ath_hw *ah,