ath6kl: refactor firmware ext data addr and reserved ram handling size
Less if clauses this way and again easier to override the values. Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
This commit is contained in:
parent
a01ac4144e
commit
991b27eaf9
|
@ -466,6 +466,8 @@ struct ath6kl {
|
||||||
u32 dataset_patch_addr;
|
u32 dataset_patch_addr;
|
||||||
u32 app_load_addr;
|
u32 app_load_addr;
|
||||||
u32 app_start_override_addr;
|
u32 app_start_override_addr;
|
||||||
|
u32 board_ext_data_addr;
|
||||||
|
u32 reserved_ram_size;
|
||||||
} hw;
|
} hw;
|
||||||
|
|
||||||
u16 conf_flags;
|
u16 conf_flags;
|
||||||
|
|
|
@ -527,33 +527,21 @@ int ath6kl_configure_target(struct ath6kl *ar)
|
||||||
* but possible in theory.
|
* but possible in theory.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (ar->target_type == TARGET_TYPE_AR6003 ||
|
param = ar->hw.board_ext_data_addr;
|
||||||
ar->target_type == TARGET_TYPE_AR6004) {
|
ram_reserved_size = ar->hw.reserved_ram_size;
|
||||||
if (ar->version.target_ver == AR6003_REV2_VERSION) {
|
|
||||||
param = AR6003_REV2_BOARD_EXT_DATA_ADDRESS;
|
|
||||||
ram_reserved_size = AR6003_REV2_RAM_RESERVE_SIZE;
|
|
||||||
} else if (ar->version.target_ver == AR6004_REV1_VERSION) {
|
|
||||||
param = AR6004_REV1_BOARD_EXT_DATA_ADDRESS;
|
|
||||||
ram_reserved_size = AR6004_REV1_RAM_RESERVE_SIZE;
|
|
||||||
} else {
|
|
||||||
param = AR6003_REV3_BOARD_EXT_DATA_ADDRESS;
|
|
||||||
ram_reserved_size = AR6003_REV3_RAM_RESERVE_SIZE;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ath6kl_bmi_write(ar,
|
if (ath6kl_bmi_write(ar, ath6kl_get_hi_item_addr(ar,
|
||||||
ath6kl_get_hi_item_addr(ar,
|
HI_ITEM(hi_board_ext_data)),
|
||||||
HI_ITEM(hi_board_ext_data)),
|
(u8 *)¶m, 4) != 0) {
|
||||||
(u8 *)¶m, 4) != 0) {
|
ath6kl_err("bmi_write_memory for hi_board_ext_data failed\n");
|
||||||
ath6kl_err("bmi_write_memory for hi_board_ext_data failed\n");
|
return -EIO;
|
||||||
return -EIO;
|
}
|
||||||
}
|
|
||||||
if (ath6kl_bmi_write(ar,
|
if (ath6kl_bmi_write(ar, ath6kl_get_hi_item_addr(ar,
|
||||||
ath6kl_get_hi_item_addr(ar,
|
HI_ITEM(hi_end_ram_reserve_sz)),
|
||||||
HI_ITEM(hi_end_ram_reserve_sz)),
|
(u8 *)&ram_reserved_size, 4) != 0) {
|
||||||
(u8 *)&ram_reserved_size, 4) != 0) {
|
ath6kl_err("bmi_write_memory for hi_end_ram_reserve_sz failed\n");
|
||||||
ath6kl_err("bmi_write_memory for hi_end_ram_reserve_sz failed\n");
|
return -EIO;
|
||||||
return -EIO;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set the block size for the target */
|
/* set the block size for the target */
|
||||||
|
@ -1356,16 +1344,22 @@ static int ath6kl_init_hw_params(struct ath6kl *ar)
|
||||||
ar->hw.dataset_patch_addr = AR6003_REV2_DATASET_PATCH_ADDRESS;
|
ar->hw.dataset_patch_addr = AR6003_REV2_DATASET_PATCH_ADDRESS;
|
||||||
ar->hw.app_load_addr = AR6003_REV2_APP_LOAD_ADDRESS;
|
ar->hw.app_load_addr = AR6003_REV2_APP_LOAD_ADDRESS;
|
||||||
ar->hw.app_start_override_addr = AR6003_REV2_APP_START_OVERRIDE;
|
ar->hw.app_start_override_addr = AR6003_REV2_APP_START_OVERRIDE;
|
||||||
|
ar->hw.board_ext_data_addr = AR6003_REV2_BOARD_EXT_DATA_ADDRESS;
|
||||||
|
ar->hw.reserved_ram_size = AR6003_REV2_RAM_RESERVE_SIZE;
|
||||||
break;
|
break;
|
||||||
case AR6003_REV3_VERSION:
|
case AR6003_REV3_VERSION:
|
||||||
ar->hw.dataset_patch_addr = AR6003_REV3_DATASET_PATCH_ADDRESS;
|
ar->hw.dataset_patch_addr = AR6003_REV3_DATASET_PATCH_ADDRESS;
|
||||||
ar->hw.app_load_addr = 0x1234;
|
ar->hw.app_load_addr = 0x1234;
|
||||||
ar->hw.app_start_override_addr = AR6003_REV3_APP_START_OVERRIDE;
|
ar->hw.app_start_override_addr = AR6003_REV3_APP_START_OVERRIDE;
|
||||||
|
ar->hw.board_ext_data_addr = AR6003_REV3_BOARD_EXT_DATA_ADDRESS;
|
||||||
|
ar->hw.reserved_ram_size = AR6003_REV3_RAM_RESERVE_SIZE;
|
||||||
break;
|
break;
|
||||||
case AR6004_REV1_VERSION:
|
case AR6004_REV1_VERSION:
|
||||||
ar->hw.dataset_patch_addr = AR6003_REV2_DATASET_PATCH_ADDRESS;
|
ar->hw.dataset_patch_addr = AR6003_REV2_DATASET_PATCH_ADDRESS;
|
||||||
ar->hw.app_load_addr = AR6003_REV3_APP_LOAD_ADDRESS;
|
ar->hw.app_load_addr = AR6003_REV3_APP_LOAD_ADDRESS;
|
||||||
ar->hw.app_start_override_addr = AR6003_REV3_APP_START_OVERRIDE;
|
ar->hw.app_start_override_addr = AR6003_REV3_APP_START_OVERRIDE;
|
||||||
|
ar->hw.board_ext_data_addr = AR6004_REV1_BOARD_EXT_DATA_ADDRESS;
|
||||||
|
ar->hw.reserved_ram_size = AR6004_REV1_RAM_RESERVE_SIZE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ath6kl_err("Unsupported hardware version: 0x%x\n",
|
ath6kl_err("Unsupported hardware version: 0x%x\n",
|
||||||
|
|
Loading…
Reference in New Issue