Commit a2e1be33 authored by Mohammed Shafi Shajakhan's avatar Mohammed Shafi Shajakhan Committed by Kalle Valo

ath6kl: Add a hardware flag for SDIO CRC error workaround

Make use of SDIO CRC error workaround hardware flag and avoid
target revision checks.
Signed-off-by: default avatarMohammed Shafi Shajakhan <mohammed@qca.qualcomm.com>
Signed-off-by: default avatarKalle Valo <kvalo@qca.qualcomm.com>
parent 171fe768
...@@ -152,6 +152,7 @@ enum ath6kl_hw_flags { ...@@ -152,6 +152,7 @@ enum ath6kl_hw_flags {
ATH6KL_HW_64BIT_RATES = BIT(0), ATH6KL_HW_64BIT_RATES = BIT(0),
ATH6KL_HW_AP_INACTIVITY_MINS = BIT(1), ATH6KL_HW_AP_INACTIVITY_MINS = BIT(1),
ATH6KL_HW_MAP_LP_ENDPOINT = BIT(2), ATH6KL_HW_MAP_LP_ENDPOINT = BIT(2),
ATH6KL_HW_SDIO_CRC_ERROR_WAR = BIT(3),
}; };
#define ATH6KL_FW_API2_FILE "fw-2.bin" #define ATH6KL_FW_API2_FILE "fw-2.bin"
......
...@@ -42,7 +42,7 @@ static const struct ath6kl_hw hw_list[] = { ...@@ -42,7 +42,7 @@ static const struct ath6kl_hw hw_list[] = {
.reserved_ram_size = 6912, .reserved_ram_size = 6912,
.refclk_hz = 26000000, .refclk_hz = 26000000,
.uarttx_pin = 8, .uarttx_pin = 8,
.flags = 0, .flags = ATH6KL_HW_SDIO_CRC_ERROR_WAR,
/* hw2.0 needs override address hardcoded */ /* hw2.0 needs override address hardcoded */
.app_start_override_addr = 0x944C00, .app_start_override_addr = 0x944C00,
...@@ -68,7 +68,7 @@ static const struct ath6kl_hw hw_list[] = { ...@@ -68,7 +68,7 @@ static const struct ath6kl_hw hw_list[] = {
.refclk_hz = 26000000, .refclk_hz = 26000000,
.uarttx_pin = 8, .uarttx_pin = 8,
.testscript_addr = 0x57ef74, .testscript_addr = 0x57ef74,
.flags = 0, .flags = ATH6KL_HW_SDIO_CRC_ERROR_WAR,
.fw = { .fw = {
.dir = AR6003_HW_2_1_1_FW_DIR, .dir = AR6003_HW_2_1_1_FW_DIR,
...@@ -1431,8 +1431,7 @@ static int ath6kl_init_upload(struct ath6kl *ar) ...@@ -1431,8 +1431,7 @@ static int ath6kl_init_upload(struct ath6kl *ar)
return status; return status;
/* WAR to avoid SDIO CRC err */ /* WAR to avoid SDIO CRC err */
if (ar->version.target_ver == AR6003_HW_2_0_VERSION || if (ar->hw.flags & ATH6KL_HW_SDIO_CRC_ERROR_WAR) {
ar->version.target_ver == AR6003_HW_2_1_1_VERSION) {
ath6kl_err("temporary war to avoid sdio crc error\n"); ath6kl_err("temporary war to avoid sdio crc error\n");
param = 0x28; param = 0x28;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment