ath6kl: Add AR6004 1.2 support for USB and SDIO
authorRay Chen <raychen@qca.qualcomm.com>
Wed, 11 Apr 2012 02:03:13 +0000 (10:03 +0800)
committerKalle Valo <kvalo@qca.qualcomm.com>
Thu, 12 Apr 2012 08:04:03 +0000 (11:04 +0300)
Add the necessary change for AR6004 1.2 chip support

Signed-off-by: Ray Chen <raychen@qca.qualcomm.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
drivers/net/wireless/ath/ath6kl/core.h
drivers/net/wireless/ath/ath6kl/init.c
drivers/net/wireless/ath/ath6kl/sdio.c
drivers/net/wireless/ath/ath6kl/usb.c

index 8ca393fc9f18de65c0508774f1c6c670d07869a4..b2ebd56ab9a921200d0aab6de35edb6ee5172cc0 100644 (file)
@@ -159,6 +159,14 @@ struct ath6kl_fw_ie {
 #define AR6004_HW_1_1_DEFAULT_BOARD_DATA_FILE \
        "ath6k/AR6004/hw1.1/bdata.DB132.bin"
 
+/* AR6004 1.2 definitions */
+#define AR6004_HW_1_2_VERSION                 0x300007e8
+#define AR6004_HW_1_2_FW_DIR                   "ath6k/AR6004/hw1.2"
+#define AR6004_HW_1_2_FIRMWARE_FILE           "fw.ram.bin"
+#define AR6004_HW_1_2_BOARD_DATA_FILE         "ath6k/AR6004/hw1.2/bdata.bin"
+#define AR6004_HW_1_2_DEFAULT_BOARD_DATA_FILE \
+       "ath6k/AR6004/hw1.2/bdata.bin"
+
 /* Per STA data, used in AP mode */
 #define STA_PS_AWAKE           BIT(0)
 #define        STA_PS_SLEEP            BIT(1)
index 29ef50ea07d570036154416fcca0848b1d83e34f..0c4e3e33577349ce755ed135fa86e65a46295b8a 100644 (file)
@@ -119,6 +119,24 @@ static const struct ath6kl_hw hw_list[] = {
                .fw_board               = AR6004_HW_1_1_BOARD_DATA_FILE,
                .fw_default_board       = AR6004_HW_1_1_DEFAULT_BOARD_DATA_FILE,
        },
+       {
+               .id                             = AR6004_HW_1_2_VERSION,
+               .name                           = "ar6004 hw 1.2",
+               .dataset_patch_addr             = 0x436ecc,
+               .app_load_addr                  = 0x1234,
+               .board_ext_data_addr            = 0x437000,
+               .reserved_ram_size              = 9216,
+               .board_addr                     = 0x435c00,
+               .refclk_hz                      = 40000000,
+               .uarttx_pin                     = 11,
+
+               .fw = {
+                       .dir            = AR6004_HW_1_2_FW_DIR,
+                       .fw             = AR6004_HW_1_2_FIRMWARE_FILE,
+               },
+               .fw_board               = AR6004_HW_1_2_BOARD_DATA_FILE,
+               .fw_default_board       = AR6004_HW_1_2_DEFAULT_BOARD_DATA_FILE,
+       },
 };
 
 /*
index 44ea7a742101b31f4160f490b41e8cbcf818596c..b41220d1e51e7cf935d2c5c87463a9af9af7a1ce 100644 (file)
@@ -1457,3 +1457,6 @@ MODULE_FIRMWARE(AR6004_HW_1_0_DEFAULT_BOARD_DATA_FILE);
 MODULE_FIRMWARE(AR6004_HW_1_1_FW_DIR "/" AR6004_HW_1_1_FIRMWARE_FILE);
 MODULE_FIRMWARE(AR6004_HW_1_1_BOARD_DATA_FILE);
 MODULE_FIRMWARE(AR6004_HW_1_1_DEFAULT_BOARD_DATA_FILE);
+MODULE_FIRMWARE(AR6004_HW_1_2_FW_DIR "/" AR6004_HW_1_2_FIRMWARE_FILE);
+MODULE_FIRMWARE(AR6004_HW_1_2_BOARD_DATA_FILE);
+MODULE_FIRMWARE(AR6004_HW_1_2_DEFAULT_BOARD_DATA_FILE);
index ec7f1f5fd1cac4a335e04b5f8db39e639fe9c43e..73aacdd047ca29fa27b12b47d41e8753ed83b22a 100644 (file)
@@ -1207,3 +1207,6 @@ MODULE_FIRMWARE(AR6004_HW_1_0_DEFAULT_BOARD_DATA_FILE);
 MODULE_FIRMWARE(AR6004_HW_1_1_FIRMWARE_FILE);
 MODULE_FIRMWARE(AR6004_HW_1_1_BOARD_DATA_FILE);
 MODULE_FIRMWARE(AR6004_HW_1_1_DEFAULT_BOARD_DATA_FILE);
+MODULE_FIRMWARE(AR6004_HW_1_2_FIRMWARE_FILE);
+MODULE_FIRMWARE(AR6004_HW_1_2_BOARD_DATA_FILE);
+MODULE_FIRMWARE(AR6004_HW_1_2_DEFAULT_BOARD_DATA_FILE);