.fw = {
                        .dir = "IPQ8074/hw2.0",
                        .board_size = 256 * 1024,
-                       .cal_size = 256 * 1024,
+                       .cal_offset = 128 * 1024,
                },
                .max_radios = 3,
                .bdf_addr = 0x4B0C0000,
                .fw = {
                        .dir = "IPQ6018/hw1.0",
                        .board_size = 256 * 1024,
-                       .cal_size = 256 * 1024,
+                       .cal_offset = 128 * 1024,
                },
                .max_radios = 2,
                .bdf_addr = 0x4ABC0000,
                .fw = {
                        .dir = "QCA6390/hw2.0",
                        .board_size = 256 * 1024,
-                       .cal_size = 256 * 1024,
+                       .cal_offset = 128 * 1024,
                },
                .max_radios = 3,
                .bdf_addr = 0x4B0C0000,
                .fw = {
                        .dir = "QCN9074/hw1.0",
                        .board_size = 256 * 1024,
-                       .cal_size = 256 * 1024,
+                       .cal_offset = 128 * 1024,
                },
                .max_radios = 1,
                .single_pdev_only = false,
                .fw = {
                        .dir = "WCN6855/hw2.0",
                        .board_size = 256 * 1024,
-                       .cal_size = 256 * 1024,
+                       .cal_offset = 128 * 1024,
                },
                .max_radios = 3,
                .bdf_addr = 0x4B0C0000,
 
                fw_size = min_t(u32, ab->hw_params.fw.board_size,
                                fw_entry->size);
 
-               memcpy_toio(bdf_addr + ATH11K_QMI_CALDATA_OFFSET,
+               memcpy_toio(bdf_addr + ab->hw_params.fw.cal_offset,
                            fw_entry->data, fw_size);
 
                release_firmware(fw_entry);
                return -ENOMEM;
        memset(&resp, 0, sizeof(resp));
 
-       bdf_addr = ioremap(ab->hw_params.bdf_addr, ATH11K_QMI_BDF_MAX_SIZE);
+       bdf_addr = ioremap(ab->hw_params.bdf_addr, ab->hw_params.fw.board_size);
        if (!bdf_addr) {
                ath11k_warn(ab, "failed ioremap for board file\n");
                ret = -EIO;
 
 #define ATH11K_QMI_WLANFW_TIMEOUT_MS           5000
 #define ATH11K_QMI_MAX_BDF_FILE_NAME_SIZE      64
 #define ATH11K_QMI_CALDB_ADDRESS               0x4BA00000
-#define ATH11K_QMI_BDF_MAX_SIZE                        (256 * 1024)
-#define ATH11K_QMI_CALDATA_OFFSET              (128 * 1024)
 #define ATH11K_QMI_WLANFW_MAX_BUILD_ID_LEN_V01 128
 #define ATH11K_QMI_WLFW_SERVICE_ID_V01         0x45
 #define ATH11K_QMI_WLFW_SERVICE_VERS_V01       0x01