2495 lines
65 KiB
C
2495 lines
65 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Copyright (c) 2020 MediaTek Inc.
|
|
* Author: Minghao Chou <minghao.chou@mediatek.com>
|
|
*/
|
|
|
|
#ifndef _MTK_MDPM_PLATFORM_TABLE_H_
|
|
#define _MTK_MDPM_PLATFORM_TABLE_H_
|
|
|
|
static struct tx_power mt6873_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6873[TX_NR_CC1_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6873_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6873[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = 1 << 2,
|
|
.scenario_name = "S_2G_IDLE",
|
|
.scenario_power = &md_scen_power_6873[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_NON_IDLE] = {
|
|
.scenario_reg = 1 << 3,
|
|
.scenario_name = "S_2G_NON_IDLE",
|
|
.scenario_power = &md_scen_power_6873[S_2G_NON_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_DATALINK] = {
|
|
.scenario_reg = 1 << 5,
|
|
.scenario_name = "S_C2K_DATALINK",
|
|
.scenario_power = &md_scen_power_6873[S_C2K_DATALINK],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_SHDR] = {
|
|
.scenario_reg = 1 << 6,
|
|
.scenario_name = "S_C2K_SHDR",
|
|
.scenario_power = &md_scen_power_6873[S_C2K_SHDR],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_1X_TRAFFIC] = {
|
|
.scenario_reg = 1 << 4,
|
|
.scenario_name = "S_C2K_1X_TRAFFIC",
|
|
.scenario_power = &md_scen_power_6873[S_C2K_1X_TRAFFIC],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_TDD_PAGING] = {
|
|
.scenario_reg = 1 << 7,
|
|
.scenario_name = "S_3G_TDD_PAGING",
|
|
.scenario_power = &md_scen_power_6873[S_3G_TDD_PAGING],
|
|
.tx_power_rat = {RAT_3GTDD, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_TDD_TALKING] = {
|
|
.scenario_reg = 1 << 8,
|
|
.scenario_name = "S_3G_TDD_TALKING",
|
|
.scenario_power = &md_scen_power_6873[S_3G_TDD_TALKING],
|
|
.tx_power_rat = {RAT_3GTDD, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_TDD_DATALINK] = {
|
|
.scenario_reg = 1 << 9,
|
|
.scenario_name = "S_3G_TDD_DATALINK",
|
|
.scenario_power = &md_scen_power_6873[S_3G_TDD_DATALINK],
|
|
.tx_power_rat = {RAT_3GTDD, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_IDLE] = {
|
|
.scenario_reg = 1 << 1,
|
|
.scenario_name = "S_3G_IDLE",
|
|
.scenario_power = &md_scen_power_6873[S_3G_IDLE],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_WCDMA_TALKING] = {
|
|
.scenario_reg = 1 << 10,
|
|
.scenario_name = "S_3G_WCDMA_TALKING",
|
|
.scenario_power = &md_scen_power_6873[S_3G_WCDMA_TALKING],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_1C] = {
|
|
.scenario_reg = 1 << 11,
|
|
.scenario_name = "S_3G_1C",
|
|
.scenario_power = &md_scen_power_6873[S_3G_1C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_2C] = {
|
|
.scenario_reg = 1 << 12,
|
|
.scenario_name = "S_3G_2C",
|
|
.scenario_power = &md_scen_power_6873[S_3G_2C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = 1 << 13,
|
|
.scenario_name = "S_4G_0D0U",
|
|
.scenario_power = &md_scen_power_6873[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_1CC] = {
|
|
.scenario_reg = 1 << 14,
|
|
.scenario_name = "S_4G_1CC",
|
|
.scenario_power = &md_scen_power_6873[S_4G_1CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = 1 << 15,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6873[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = 1 << 16,
|
|
.scenario_name = "S_4G_3CC",
|
|
.scenario_power = &md_scen_power_6873[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_4CC] = {
|
|
.scenario_reg = 1 << 17,
|
|
.scenario_name = "S_4G_4CC",
|
|
.scenario_power = &md_scen_power_6873[S_4G_4CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_5CC] = {
|
|
.scenario_reg = 1 << 18,
|
|
.scenario_name = "S_4G_5CC",
|
|
.scenario_power = &md_scen_power_6873[S_4G_5CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_1CC_2CC] = {
|
|
.scenario_reg = 1 << 21,
|
|
.scenario_name = "S_5G_1CC_2CC",
|
|
.scenario_power = &md_scen_power_6873[S_5G_1CC_2CC],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_1CC_2CC_4G_4CC] = {
|
|
.scenario_reg = 1 << 21 | 1 << 17,
|
|
.scenario_name = "S_5G_1CC_2CC_4G_4CC",
|
|
.scenario_power = &md_scen_power_6873[S_5G_1CC_2CC_4G_4CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_1CC_2CC_4G_1CC] = {
|
|
.scenario_reg = 1 << 21 | 1 << 14,
|
|
.scenario_name = "S_5G_1CC_2CC_4G_1CC",
|
|
.scenario_power = &md_scen_power_6873[S_5G_1CC_2CC_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
|
|
[S_4G_POS_URGENT] = {
|
|
.scenario_reg = 1 << 31,
|
|
.scenario_name = "S_4G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6873[S_4G_POS_URGENT],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
}
|
|
};
|
|
|
|
static int mt6873_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_1CC_2CC_4G_1CC,
|
|
S_5G_1CC_2CC_4G_4CC,
|
|
S_5G_1CC_2CC,
|
|
S_4G_5CC,
|
|
S_4G_4CC,
|
|
S_4G_3CC,
|
|
S_4G_2CC,
|
|
S_4G_1CC,
|
|
S_3G_2C,
|
|
S_3G_1C,
|
|
S_3G_WCDMA_TALKING,
|
|
S_C2K_SHDR,
|
|
S_3G_TDD_DATALINK,
|
|
S_3G_TDD_TALKING,
|
|
S_C2K_DATALINK,
|
|
S_C2K_1X_TRAFFIC,
|
|
S_2G_NON_IDLE,
|
|
S_4G_0D0U,
|
|
S_3G_TDD_PAGING,
|
|
S_3G_IDLE,
|
|
S_2G_IDLE,
|
|
S_STANDBY,
|
|
S_4G_POS_URGENT
|
|
};
|
|
|
|
|
|
static struct tx_power mt6893_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6893[TX_NR_CC1_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6893_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6893[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = 1 << 2,
|
|
.scenario_name = "S_2G_IDLE",
|
|
.scenario_power = &md_scen_power_6893[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_NON_IDLE] = {
|
|
.scenario_reg = 1 << 3,
|
|
.scenario_name = "S_2G_NON_IDLE",
|
|
.scenario_power = &md_scen_power_6893[S_2G_NON_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_DATALINK] = {
|
|
.scenario_reg = 1 << 5,
|
|
.scenario_name = "S_C2K_DATALINK",
|
|
.scenario_power = &md_scen_power_6893[S_C2K_DATALINK],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_SHDR] = {
|
|
.scenario_reg = 1 << 6,
|
|
.scenario_name = "S_C2K_SHDR",
|
|
.scenario_power = &md_scen_power_6893[S_C2K_SHDR],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_1X_TRAFFIC] = {
|
|
.scenario_reg = 1 << 4,
|
|
.scenario_name = "S_C2K_1X_TRAFFIC",
|
|
.scenario_power = &md_scen_power_6893[S_C2K_1X_TRAFFIC],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_TDD_PAGING] = {
|
|
.scenario_reg = 1 << 7,
|
|
.scenario_name = "S_3G_TDD_PAGING",
|
|
.scenario_power = &md_scen_power_6893[S_3G_TDD_PAGING],
|
|
.tx_power_rat = {RAT_3GTDD, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_TDD_TALKING] = {
|
|
.scenario_reg = 1 << 8,
|
|
.scenario_name = "S_3G_TDD_TALKING",
|
|
.scenario_power = &md_scen_power_6893[S_3G_TDD_TALKING],
|
|
.tx_power_rat = {RAT_3GTDD, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_TDD_DATALINK] = {
|
|
.scenario_reg = 1 << 9,
|
|
.scenario_name = "S_3G_TDD_DATALINK",
|
|
.scenario_power = &md_scen_power_6893[S_3G_TDD_DATALINK],
|
|
.tx_power_rat = {RAT_3GTDD, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_IDLE] = {
|
|
.scenario_reg = 1 << 1,
|
|
.scenario_name = "S_3G_IDLE",
|
|
.scenario_power = &md_scen_power_6893[S_3G_IDLE],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_WCDMA_TALKING] = {
|
|
.scenario_reg = 1 << 10,
|
|
.scenario_name = "S_3G_WCDMA_TALKING",
|
|
.scenario_power = &md_scen_power_6893[S_3G_WCDMA_TALKING],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_1C] = {
|
|
.scenario_reg = 1 << 11,
|
|
.scenario_name = "S_3G_1C",
|
|
.scenario_power = &md_scen_power_6893[S_3G_1C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_2C] = {
|
|
.scenario_reg = 1 << 12,
|
|
.scenario_name = "S_3G_2C",
|
|
.scenario_power = &md_scen_power_6893[S_3G_2C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = 1 << 13,
|
|
.scenario_name = "S_4G_0D0U",
|
|
.scenario_power = &md_scen_power_6893[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_1CC] = {
|
|
.scenario_reg = 1 << 14,
|
|
.scenario_name = "S_4G_1CC",
|
|
.scenario_power = &md_scen_power_6893[S_4G_1CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = 1 << 15,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6893[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = 1 << 16,
|
|
.scenario_name = "S_4G_3CC",
|
|
.scenario_power = &md_scen_power_6893[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_4CC] = {
|
|
.scenario_reg = 1 << 17,
|
|
.scenario_name = "S_4G_4CC",
|
|
.scenario_power = &md_scen_power_6893[S_4G_4CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_5CC] = {
|
|
.scenario_reg = 1 << 18,
|
|
.scenario_name = "S_4G_5CC",
|
|
.scenario_power = &md_scen_power_6893[S_4G_5CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_1CC_2CC] = {
|
|
.scenario_reg = 1 << 21,
|
|
.scenario_name = "S_5G_1CC_2CC",
|
|
.scenario_power = &md_scen_power_6893[S_5G_1CC_2CC],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_1CC_2CC_4G_4CC] = {
|
|
.scenario_reg = 1 << 21 | 1 << 17,
|
|
.scenario_name = "S_5G_1CC_2CC_4G_4CC",
|
|
.scenario_power = &md_scen_power_6893[S_5G_1CC_2CC_4G_4CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_1CC_2CC_4G_1CC] = {
|
|
.scenario_reg = 1 << 21 | 1 << 14,
|
|
.scenario_name = "S_5G_1CC_2CC_4G_1CC",
|
|
.scenario_power = &md_scen_power_6893[S_5G_1CC_2CC_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
|
|
[S_4G_POS_URGENT] = {
|
|
.scenario_reg = 1 << 31,
|
|
.scenario_name = "S_4G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6893[S_4G_POS_URGENT],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
}
|
|
};
|
|
|
|
static int mt6893_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_1CC_2CC_4G_4CC,
|
|
S_5G_1CC_2CC_4G_1CC,
|
|
S_5G_1CC_2CC,
|
|
S_4G_5CC,
|
|
S_4G_4CC,
|
|
S_4G_3CC,
|
|
S_4G_2CC,
|
|
S_4G_1CC,
|
|
S_3G_2C,
|
|
S_3G_1C,
|
|
S_3G_WCDMA_TALKING,
|
|
S_C2K_SHDR,
|
|
S_3G_TDD_DATALINK,
|
|
S_3G_TDD_TALKING,
|
|
S_C2K_DATALINK,
|
|
S_C2K_1X_TRAFFIC,
|
|
S_2G_NON_IDLE,
|
|
S_4G_0D0U,
|
|
S_3G_TDD_PAGING,
|
|
S_3G_IDLE,
|
|
S_2G_IDLE,
|
|
S_STANDBY,
|
|
S_4G_POS_URGENT
|
|
};
|
|
|
|
|
|
static struct tx_power mt6983_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_NR_CC1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX1_DBM] = {
|
|
.dbm_name = "MMW_TX1",
|
|
.shm_dbm_idx = {M_MMW_DBM_TABLE, M_MMW_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_LEVEL, M_MMW_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_MMW_TX1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX2_DBM] = {
|
|
.dbm_name = "MMW_TX2",
|
|
.shm_dbm_idx = {M_MMW_DBM_2_TABLE, M_MMW_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_2_LEVEL, M_MMW_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_MMW_TX2_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6983_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6983[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = 1 << 1,
|
|
.scenario_name = "S_2G_IDLE_NON_IDLE",
|
|
.scenario_power = &md_scen_power_6983[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_DATALINK] = {
|
|
.scenario_reg = 1 << 2,
|
|
.scenario_name = "S_C2K",
|
|
.scenario_power = &md_scen_power_6983[S_C2K_DATALINK],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_IDLE] = {
|
|
.scenario_reg = 1 << 3,
|
|
.scenario_name = "S_3G_IDLE_TALKING",
|
|
.scenario_power = &md_scen_power_6983[S_3G_IDLE],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_1C] = {
|
|
.scenario_reg = 1 << 4,
|
|
.scenario_name = "S_3G_1C_2C",
|
|
.scenario_power = &md_scen_power_6983[S_3G_1C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = 1 << 5,
|
|
.scenario_name = "S_4G_0D0U",
|
|
.scenario_power = &md_scen_power_6983[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_1CC] = {
|
|
.scenario_reg = 1 << 7,
|
|
.scenario_name = "S_4G_1CC",
|
|
.scenario_power = &md_scen_power_6983[S_4G_1CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = 1 << 8,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6983[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = 1 << 9,
|
|
.scenario_name = "S_4G_3CC_4CC_5CC",
|
|
.scenario_power = &md_scen_power_6983[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_1TG] = {
|
|
.scenario_reg = 1 << 10,
|
|
.scenario_name = "S_5G_NR_0CC_1TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_NR_0CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_2TG] = {
|
|
.scenario_reg = 1 << 11,
|
|
.scenario_name = "S_5G_NR_0CC_2TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_NR_0CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_3TG] = {
|
|
.scenario_reg = 1 << 12,
|
|
.scenario_name = "S_5G_NR_0CC_3TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_NR_0CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG] = {
|
|
.scenario_reg = 1 << 13,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_1CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_2CC_1TG] = {
|
|
.scenario_reg = 1 << 15,
|
|
.scenario_name = "S_5G_FR1_2CC_1TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_2CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_3_4CC_1TG] = {
|
|
.scenario_reg = 1 << 16,
|
|
.scenario_name = "S_5G_FR1_3_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_3_4CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_2TG] = {
|
|
.scenario_reg = 1 << 17,
|
|
.scenario_name = "S_5G_FR1_1_4CC_2TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_1_4CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG] = {
|
|
.scenario_reg = 1 << 18,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR2_1CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG] = {
|
|
.scenario_reg = 1 << 19,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR2_2_4CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_5_8CC_1TG] = {
|
|
.scenario_reg = 1 << 20,
|
|
.scenario_name = "S_5G_FR2_5_8CC_1TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR2_5_8CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_2TG] = {
|
|
.scenario_reg = 1 << 21,
|
|
.scenario_name = "S_5G_FR2_1_8CC_2TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR2_1_8CC_2TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_3TG] = {
|
|
.scenario_reg = 1 << 22,
|
|
.scenario_name = "S_5G_FR1_FR2_3TG",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_FR2_3TG],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2] = {
|
|
.scenario_reg = 1 << 27,
|
|
.scenario_name = "S_5G_FR1_FR2",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_FR2],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 23,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_1CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC] = {
|
|
.scenario_reg = 1 << 24,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 25,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR2_2_4CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_4G] = {
|
|
.scenario_reg = 1 << 26,
|
|
.scenario_name = "S_5G_FR1_FR2_4G",
|
|
.scenario_power = &md_scen_power_6983[S_5G_FR1_FR2_4G],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_4G_5G_POS_URGENT] = {
|
|
.scenario_reg = 1 << 31,
|
|
.scenario_name = "S_4G_5G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6983[S_4G_5G_POS_URGENT],
|
|
.tx_power_rat = {RAT_4G, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
}
|
|
};
|
|
|
|
static int mt6983_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_FR1_FR2_4G,
|
|
S_5G_FR2_2_4CC_1TG_4G_1CC,
|
|
S_5G_FR1_FR2_3TG,
|
|
S_5G_FR1_FR2,
|
|
S_5G_FR2_1_8CC_2TG,
|
|
S_5G_FR2_5_8CC_1TG,
|
|
S_5G_FR2_2_4CC_1TG,
|
|
S_5G_FR1_1_4CC_2TG,
|
|
S_5G_FR1_3_4CC_1TG,
|
|
S_5G_FR1_2CC_1TG,
|
|
S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC,
|
|
S_5G_FR1_1CC_1TG_4G_1CC,
|
|
S_4G_3CC,
|
|
S_5G_FR2_1CC_1TG,
|
|
S_5G_FR1_1CC_1TG,
|
|
S_3G_1C,
|
|
S_4G_2CC,
|
|
S_5G_NR_0CC_3TG,
|
|
S_5G_NR_0CC_2TG,
|
|
S_5G_NR_0CC_1TG,
|
|
S_4G_1CC,
|
|
S_C2K_DATALINK,
|
|
S_3G_IDLE,
|
|
S_2G_IDLE,
|
|
S_4G_0D0U,
|
|
S_STANDBY,
|
|
S_4G_5G_POS_URGENT
|
|
};
|
|
|
|
|
|
static struct tx_power mt6879_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_NR_CC1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX1_DBM] = {
|
|
.dbm_name = "MMW_TX1",
|
|
.shm_dbm_idx = {M_MMW_DBM_TABLE, M_MMW_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_LEVEL, M_MMW_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_MMW_TX1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX2_DBM] = {
|
|
.dbm_name = "MMW_TX2",
|
|
.shm_dbm_idx = {M_MMW_DBM_2_TABLE, M_MMW_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_2_LEVEL, M_MMW_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6983[TX_MMW_TX2_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6879_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6879[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = 1 << 1,
|
|
.scenario_name = "S_2G_IDLE_NON_IDLE",
|
|
.scenario_power = &md_scen_power_6879[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_DATALINK] = {
|
|
.scenario_reg = 1 << 2,
|
|
.scenario_name = "S_C2K",
|
|
.scenario_power = &md_scen_power_6879[S_C2K_DATALINK],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_IDLE] = {
|
|
.scenario_reg = 1 << 3,
|
|
.scenario_name = "S_3G_IDLE_TALKING",
|
|
.scenario_power = &md_scen_power_6879[S_3G_IDLE],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_1C] = {
|
|
.scenario_reg = 1 << 4,
|
|
.scenario_name = "S_3G_1C_2C",
|
|
.scenario_power = &md_scen_power_6879[S_3G_1C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = 1 << 5,
|
|
.scenario_name = "S_4G_0D0U",
|
|
.scenario_power = &md_scen_power_6879[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_1CC] = {
|
|
.scenario_reg = 1 << 7,
|
|
.scenario_name = "S_4G_1CC",
|
|
.scenario_power = &md_scen_power_6879[S_4G_1CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = 1 << 8,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6879[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = 1 << 9,
|
|
.scenario_name = "S_4G_3CC_4CC_5CC",
|
|
.scenario_power = &md_scen_power_6879[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_1TG] = {
|
|
.scenario_reg = 1 << 10,
|
|
.scenario_name = "S_5G_NR_0CC_1TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_NR_0CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_2TG] = {
|
|
.scenario_reg = 1 << 11,
|
|
.scenario_name = "S_5G_NR_0CC_2TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_NR_0CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_3TG] = {
|
|
.scenario_reg = 1 << 12,
|
|
.scenario_name = "S_5G_NR_0CC_3TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_NR_0CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG] = {
|
|
.scenario_reg = 1 << 13,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_1CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_2CC_1TG] = {
|
|
.scenario_reg = 1 << 15,
|
|
.scenario_name = "S_5G_FR1_2CC_1TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_2CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_3_4CC_1TG] = {
|
|
.scenario_reg = 1 << 16,
|
|
.scenario_name = "S_5G_FR1_3_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_3_4CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_2TG] = {
|
|
.scenario_reg = 1 << 17,
|
|
.scenario_name = "S_5G_FR1_1_4CC_2TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_1_4CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG] = {
|
|
.scenario_reg = 1 << 18,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR2_1CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG] = {
|
|
.scenario_reg = 1 << 19,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR2_2_4CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_5_8CC_1TG] = {
|
|
.scenario_reg = 1 << 20,
|
|
.scenario_name = "S_5G_FR2_5_8CC_1TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR2_5_8CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_2TG] = {
|
|
.scenario_reg = 1 << 21,
|
|
.scenario_name = "S_5G_FR2_1_8CC_2TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR2_1_8CC_2TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_3TG] = {
|
|
.scenario_reg = 1 << 22,
|
|
.scenario_name = "S_5G_FR1_FR2_3TG",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_FR2_3TG],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2] = {
|
|
.scenario_reg = 1 << 27,
|
|
.scenario_name = "S_5G_FR1_FR2",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_FR2],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 23,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_1CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC] = {
|
|
.scenario_reg = 1 << 24,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 25,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR2_2_4CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_4G] = {
|
|
.scenario_reg = 1 << 26,
|
|
.scenario_name = "S_5G_FR1_FR2_4G",
|
|
.scenario_power = &md_scen_power_6879[S_5G_FR1_FR2_4G],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_4G_5G_POS_URGENT] = {
|
|
.scenario_reg = 1 << 31,
|
|
.scenario_name = "S_4G_5G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6879[S_4G_5G_POS_URGENT],
|
|
.tx_power_rat = {RAT_4G, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
}
|
|
};
|
|
|
|
static int mt6879_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_FR1_FR2_4G,
|
|
S_5G_FR1_FR2,
|
|
S_5G_FR2_2_4CC_1TG_4G_1CC,
|
|
S_5G_FR1_FR2_3TG,
|
|
S_5G_FR2_1_8CC_2TG,
|
|
S_5G_FR2_5_8CC_1TG,
|
|
S_5G_FR2_2_4CC_1TG,
|
|
S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC,
|
|
S_5G_FR1_1CC_1TG_4G_1CC,
|
|
S_4G_3CC,
|
|
S_5G_FR1_1_4CC_2TG,
|
|
S_5G_FR1_3_4CC_1TG,
|
|
S_5G_FR1_2CC_1TG,
|
|
S_5G_FR1_1CC_1TG,
|
|
S_5G_FR2_1CC_1TG,
|
|
S_5G_NR_0CC_3TG,
|
|
S_5G_NR_0CC_2TG,
|
|
S_5G_NR_0CC_1TG,
|
|
S_4G_2CC,
|
|
S_3G_1C,
|
|
S_4G_1CC,
|
|
S_3G_IDLE,
|
|
S_C2K_DATALINK,
|
|
S_2G_IDLE,
|
|
S_4G_0D0U,
|
|
S_STANDBY,
|
|
S_4G_5G_POS_URGENT
|
|
};
|
|
|
|
static struct tx_power mt6895_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_NR_CC1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX1_DBM] = {
|
|
.dbm_name = "MMW_TX1",
|
|
.shm_dbm_idx = {M_MMW_DBM_TABLE, M_MMW_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_LEVEL, M_MMW_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_MMW_TX1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX2_DBM] = {
|
|
.dbm_name = "MMW_TX2",
|
|
.shm_dbm_idx = {M_MMW_DBM_2_TABLE, M_MMW_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_2_LEVEL, M_MMW_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6895[TX_MMW_TX2_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6895_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6895[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = 1 << 1,
|
|
.scenario_name = "S_2G_IDLE_NON_IDLE",
|
|
.scenario_power = &md_scen_power_6895[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_DATALINK] = {
|
|
.scenario_reg = 1 << 2,
|
|
.scenario_name = "S_C2K",
|
|
.scenario_power = &md_scen_power_6895[S_C2K_DATALINK],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_IDLE] = {
|
|
.scenario_reg = 1 << 3,
|
|
.scenario_name = "S_3G_IDLE_TALKING",
|
|
.scenario_power = &md_scen_power_6895[S_3G_IDLE],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_1C] = {
|
|
.scenario_reg = 1 << 4,
|
|
.scenario_name = "S_3G_1C_2C",
|
|
.scenario_power = &md_scen_power_6895[S_3G_1C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = 1 << 5,
|
|
.scenario_name = "S_4G_0D0U",
|
|
.scenario_power = &md_scen_power_6895[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_1CC] = {
|
|
.scenario_reg = 1 << 7,
|
|
.scenario_name = "S_4G_1CC",
|
|
.scenario_power = &md_scen_power_6895[S_4G_1CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = 1 << 8,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6895[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = 1 << 9,
|
|
.scenario_name = "S_4G_3CC_4CC_5CC",
|
|
.scenario_power = &md_scen_power_6895[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_1TG] = {
|
|
.scenario_reg = 1 << 10,
|
|
.scenario_name = "S_5G_NR_0CC_1TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_NR_0CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_2TG] = {
|
|
.scenario_reg = 1 << 11,
|
|
.scenario_name = "S_5G_NR_0CC_2TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_NR_0CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_3TG] = {
|
|
.scenario_reg = 1 << 12,
|
|
.scenario_name = "S_5G_NR_0CC_3TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_NR_0CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG] = {
|
|
.scenario_reg = 1 << 13,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_1CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_2CC_1TG] = {
|
|
.scenario_reg = 1 << 15,
|
|
.scenario_name = "S_5G_FR1_2CC_1TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_2CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_3_4CC_1TG] = {
|
|
.scenario_reg = 1 << 16,
|
|
.scenario_name = "S_5G_FR1_3_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_3_4CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_2TG] = {
|
|
.scenario_reg = 1 << 17,
|
|
.scenario_name = "S_5G_FR1_1_4CC_2TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_1_4CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG] = {
|
|
.scenario_reg = 1 << 18,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR2_1CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG] = {
|
|
.scenario_reg = 1 << 19,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR2_2_4CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_5_8CC_1TG] = {
|
|
.scenario_reg = 1 << 20,
|
|
.scenario_name = "S_5G_FR2_5_8CC_1TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR2_5_8CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_2TG] = {
|
|
.scenario_reg = 1 << 21,
|
|
.scenario_name = "S_5G_FR2_1_8CC_2TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR2_1_8CC_2TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_3TG] = {
|
|
.scenario_reg = 1 << 22,
|
|
.scenario_name = "S_5G_FR1_FR2_3TG",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_FR2_3TG],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2] = {
|
|
.scenario_reg = 1 << 27,
|
|
.scenario_name = "S_5G_FR1_FR2",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_FR2],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 23,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_1CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC] = {
|
|
.scenario_reg = 1 << 24,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 25,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR2_2_4CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_4G] = {
|
|
.scenario_reg = 1 << 26,
|
|
.scenario_name = "S_5G_FR1_FR2_4G",
|
|
.scenario_power = &md_scen_power_6895[S_5G_FR1_FR2_4G],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_4G_5G_POS_URGENT] = {
|
|
.scenario_reg = 1 << 31,
|
|
.scenario_name = "S_4G_5G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6895[S_4G_5G_POS_URGENT],
|
|
.tx_power_rat = {RAT_4G, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
}
|
|
};
|
|
|
|
static int mt6895_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_FR1_FR2_4G,
|
|
S_5G_FR2_2_4CC_1TG_4G_1CC,
|
|
S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC,
|
|
S_5G_FR1_1CC_1TG_4G_1CC,
|
|
S_5G_FR1_FR2,
|
|
S_5G_FR1_FR2_3TG,
|
|
S_5G_FR2_1_8CC_2TG,
|
|
S_5G_FR2_5_8CC_1TG,
|
|
S_5G_FR2_2_4CC_1TG,
|
|
S_5G_FR2_1CC_1TG,
|
|
S_5G_FR1_1_4CC_2TG,
|
|
S_5G_FR1_3_4CC_1TG,
|
|
S_5G_FR1_2CC_1TG,
|
|
S_5G_FR1_1CC_1TG,
|
|
S_5G_NR_0CC_3TG,
|
|
S_5G_NR_0CC_2TG,
|
|
S_5G_NR_0CC_1TG,
|
|
S_4G_3CC,
|
|
S_4G_2CC,
|
|
S_4G_1CC,
|
|
S_3G_1C,
|
|
S_C2K_DATALINK,
|
|
S_4G_0D0U,
|
|
S_3G_IDLE,
|
|
S_2G_IDLE,
|
|
S_STANDBY,
|
|
S_4G_5G_POS_URGENT
|
|
};
|
|
|
|
static struct tx_power mt6886_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_NR_CC1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX1_DBM] = {
|
|
.dbm_name = "MMW_TX1",
|
|
.shm_dbm_idx = {M_MMW_DBM_TABLE, M_MMW_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_LEVEL, M_MMW_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_MMW_TX1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX2_DBM] = {
|
|
.dbm_name = "MMW_TX2",
|
|
.shm_dbm_idx = {M_MMW_DBM_2_TABLE, M_MMW_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_2_LEVEL, M_MMW_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6886[TX_MMW_TX2_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6886_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6886[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = 1 << 1,
|
|
.scenario_name = "S_2G_IDLE_NON_IDLE",
|
|
.scenario_power = &md_scen_power_6886[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_DATALINK] = {
|
|
.scenario_reg = 1 << 2,
|
|
.scenario_name = "S_C2K",
|
|
.scenario_power = &md_scen_power_6886[S_C2K_DATALINK],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_IDLE] = {
|
|
.scenario_reg = 1 << 3,
|
|
.scenario_name = "S_3G_IDLE_TALKING",
|
|
.scenario_power = &md_scen_power_6886[S_3G_IDLE],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_1C] = {
|
|
.scenario_reg = 1 << 4,
|
|
.scenario_name = "S_3G_1C_2C",
|
|
.scenario_power = &md_scen_power_6886[S_3G_1C],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = 1 << 5,
|
|
.scenario_name = "S_4G_0D0U",
|
|
.scenario_power = &md_scen_power_6886[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_1CC] = {
|
|
.scenario_reg = 1 << 7,
|
|
.scenario_name = "S_4G_1CC",
|
|
.scenario_power = &md_scen_power_6886[S_4G_1CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = 1 << 8,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6886[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = 1 << 9,
|
|
.scenario_name = "S_4G_3CC_4CC_5CC",
|
|
.scenario_power = &md_scen_power_6886[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_1TG] = {
|
|
.scenario_reg = 1 << 10,
|
|
.scenario_name = "S_5G_NR_0CC_1TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_NR_0CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_2TG] = {
|
|
.scenario_reg = 1 << 11,
|
|
.scenario_name = "S_5G_NR_0CC_2TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_NR_0CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_3TG] = {
|
|
.scenario_reg = 1 << 12,
|
|
.scenario_name = "S_5G_NR_0CC_3TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_NR_0CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG] = {
|
|
.scenario_reg = 1 << 13,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_1CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_2CC_1TG] = {
|
|
.scenario_reg = 1 << 15,
|
|
.scenario_name = "S_5G_FR1_2CC_1TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_2CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_3_4CC_1TG] = {
|
|
.scenario_reg = 1 << 16,
|
|
.scenario_name = "S_5G_FR1_3_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_3_4CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_2TG] = {
|
|
.scenario_reg = 1 << 17,
|
|
.scenario_name = "S_5G_FR1_1_4CC_2TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_1_4CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG] = {
|
|
.scenario_reg = 1 << 18,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR2_1CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG] = {
|
|
.scenario_reg = 1 << 19,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR2_2_4CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_5_8CC_1TG] = {
|
|
.scenario_reg = 1 << 20,
|
|
.scenario_name = "S_5G_FR2_5_8CC_1TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR2_5_8CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_2TG] = {
|
|
.scenario_reg = 1 << 21,
|
|
.scenario_name = "S_5G_FR2_1_8CC_2TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR2_1_8CC_2TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_3TG] = {
|
|
.scenario_reg = 1 << 22,
|
|
.scenario_name = "S_5G_FR1_FR2_3TG",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_FR2_3TG],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2] = {
|
|
.scenario_reg = 1 << 27,
|
|
.scenario_name = "S_5G_FR1_FR2",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_FR2],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 23,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_1CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC] = {
|
|
.scenario_reg = 1 << 24,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 25,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR2_2_4CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_4G] = {
|
|
.scenario_reg = 1 << 26,
|
|
.scenario_name = "S_5G_FR1_FR2_4G",
|
|
.scenario_power = &md_scen_power_6886[S_5G_FR1_FR2_4G],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_4G_5G_POS_URGENT] = {
|
|
.scenario_reg = 1 << 31,
|
|
.scenario_name = "S_4G_5G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6886[S_4G_5G_POS_URGENT],
|
|
.tx_power_rat = {RAT_4G, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
}
|
|
};
|
|
|
|
static int mt6886_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_FR1_FR2_4G,
|
|
S_5G_FR2_2_4CC_1TG_4G_1CC,
|
|
S_5G_FR1_FR2_3TG,
|
|
S_5G_FR1_FR2,
|
|
S_5G_FR2_1_8CC_2TG,
|
|
S_5G_FR2_5_8CC_1TG,
|
|
S_5G_FR2_2_4CC_1TG,
|
|
S_5G_FR1_1_4CC_2TG,
|
|
S_5G_FR1_3_4CC_1TG,
|
|
S_5G_FR1_2CC_1TG,
|
|
S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC,
|
|
S_5G_FR1_1CC_1TG_4G_1CC,
|
|
S_4G_3CC,
|
|
S_5G_FR2_1CC_1TG,
|
|
S_5G_FR1_1CC_1TG,
|
|
S_3G_1C,
|
|
S_4G_2CC,
|
|
S_5G_NR_0CC_3TG,
|
|
S_5G_NR_0CC_2TG,
|
|
S_5G_NR_0CC_1TG,
|
|
S_4G_1CC,
|
|
S_C2K_DATALINK,
|
|
S_3G_IDLE,
|
|
S_2G_IDLE,
|
|
S_4G_0D0U,
|
|
S_STANDBY,
|
|
S_4G_5G_POS_URGENT
|
|
};
|
|
|
|
static struct tx_power mt6985_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_NR_CC1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX1_DBM] = {
|
|
.dbm_name = "MMW_TX1",
|
|
.shm_dbm_idx = {M_MMW_DBM_TABLE, M_MMW_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_LEVEL, M_MMW_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_MMW_TX1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX2_DBM] = {
|
|
.dbm_name = "MMW_TX2",
|
|
.shm_dbm_idx = {M_MMW_DBM_2_TABLE, M_MMW_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_2_LEVEL, M_MMW_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6985[TX_MMW_TX2_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6985_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6985[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = 1 << 1,
|
|
.scenario_name = "S_2G_C2K_3G",
|
|
.scenario_power = &md_scen_power_6985[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_3G, RAT_C2K, RAT_2G, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = 1 << 2,
|
|
.scenario_name = "S_4G_0D0U_1CC",
|
|
.scenario_power = &md_scen_power_6985[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U_H] = {
|
|
.scenario_reg = 1 << 3,
|
|
.scenario_name = "S_4G_0D0U_H_1CC_H",
|
|
.scenario_power = &md_scen_power_6985[S_4G_0D0U_H],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = 1 << 4,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6985[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = 1 << 5,
|
|
.scenario_name = "S_4G_3CC_4CC_5CC",
|
|
.scenario_power = &md_scen_power_6985[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_1TG] = {
|
|
.scenario_reg = 1 << 12,
|
|
.scenario_name = "S_5G_NR_0CC_1TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_NR_0CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_2TG] = {
|
|
.scenario_reg = 1 << 13,
|
|
.scenario_name = "S_5G_NR_0CC_2TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_NR_0CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_3TG] = {
|
|
.scenario_reg = 1 << 14,
|
|
.scenario_name = "S_5G_NR_0CC_3TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_NR_0CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG] = {
|
|
.scenario_reg = 1 << 8,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_1CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_H] = {
|
|
.scenario_reg = 1 << 9,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_H",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_1CC_1TG_H],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_2CC_1TG] = {
|
|
.scenario_reg = 1 << 15,
|
|
.scenario_name = "S_5G_FR1_2CC_1TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_2CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_3_4CC_1TG] = {
|
|
.scenario_reg = 1 << 16,
|
|
.scenario_name = "S_5G_FR1_3_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_3_4CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_2TG] = {
|
|
.scenario_reg = 1 << 17,
|
|
.scenario_name = "S_5G_FR1_1_4CC_2TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_1_4CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_3TG] = {
|
|
.scenario_reg = 1 << 18,
|
|
.scenario_name = "S_5G_FR1_1_4CC_3TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_1_4CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG] = {
|
|
.scenario_reg = 1 << 19,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR2_1CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG] = {
|
|
.scenario_reg = 1 << 20,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR2_2_4CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_5_8CC_1TG] = {
|
|
.scenario_reg = 1 << 21,
|
|
.scenario_name = "S_5G_FR2_5_8CC_1TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR2_5_8CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_2TG] = {
|
|
.scenario_reg = 1 << 22,
|
|
.scenario_name = "S_5G_FR2_1_8CC_2TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR2_1_8CC_2TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_3TG] = {
|
|
.scenario_reg = 1 << 23,
|
|
.scenario_name = "S_5G_FR2_1_8CC_3TG",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR2_1_8CC_3TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_FR2] = {
|
|
.scenario_reg = 1 << 28,
|
|
.scenario_name = "S_5G_NNDC",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_FR2],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 10,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_1CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC] = {
|
|
.scenario_reg = 1 << 25,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG_4G_1CC] = {
|
|
.scenario_reg = 1 << 26,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR2_2_4CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_4G] = {
|
|
.scenario_reg = 1 << 27,
|
|
.scenario_name = "S_5G_ENDC_OTHERS",
|
|
.scenario_power = &md_scen_power_6985[S_5G_FR1_FR2_4G],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_4G_5G_POS_URGENT] = {
|
|
.scenario_reg = 1 << 31,
|
|
.scenario_name = "S_4G_5G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6985[S_4G_5G_POS_URGENT],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
}
|
|
|
|
};
|
|
|
|
static int mt6985_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_FR2_2_4CC_1TG_4G_1CC,
|
|
S_5G_FR2_5_8CC_1TG,
|
|
S_5G_FR2_1_8CC_3TG,
|
|
S_5G_FR2_1_8CC_2TG,
|
|
S_5G_FR2_2_4CC_1TG,
|
|
S_5G_FR2_1CC_1TG,
|
|
S_5G_FR1_1_4CC_3TG,
|
|
S_5G_FR1_1_4CC_2TG,
|
|
S_5G_FR1_3_4CC_1TG,
|
|
S_5G_FR1_1CC_1TG_H,
|
|
S_5G_FR1_2CC_1TG,
|
|
S_5G_FR1_1CC_1TG,
|
|
S_5G_FR1_FR2,
|
|
S_5G_FR1_1CC_1TG_4G_1CC,
|
|
S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC,
|
|
S_5G_FR1_FR2_4G,
|
|
S_5G_NR_0CC_3TG,
|
|
S_5G_NR_0CC_2TG,
|
|
S_5G_NR_0CC_1TG,
|
|
S_4G_0D0U_H,
|
|
S_4G_0D0U,
|
|
S_4G_3CC,
|
|
S_4G_2CC,
|
|
S_2G_IDLE,
|
|
S_STANDBY,
|
|
S_4G_5G_POS_URGENT
|
|
};
|
|
|
|
static struct tx_power mt6835_mdpm_tx_pwr[TX_DBM_NUM] = {
|
|
[TX_2G_DBM] = {
|
|
.dbm_name = "2G",
|
|
.shm_dbm_idx = {M_2G_DBM_TABLE, M_2G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_2G_SECTION_LEVEL, M_2G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_2G_DBM],
|
|
},
|
|
|
|
[TX_3G_DBM] = {
|
|
.dbm_name = "3G",
|
|
.shm_dbm_idx = {M_3G_DBM_TABLE, M_3G_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_3G_SECTION_LEVEL, M_3G_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_3G_DBM],
|
|
},
|
|
|
|
[TX_3GTDD_DBM] = {
|
|
.dbm_name = "3GTDD",
|
|
.shm_dbm_idx = {M_TDD_DBM_TABLE, M_TDD_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_TDD_SECTION_LEVEL, M_TDD_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_3GTDD_DBM],
|
|
},
|
|
|
|
[TX_4G_CC0_DBM] = {
|
|
.dbm_name = "4G_CC0",
|
|
.shm_dbm_idx = {M_4G_DBM_TABLE, M_4G_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_4G_CC0_DBM],
|
|
},
|
|
|
|
[TX_4G_CC1_DBM] = {
|
|
.dbm_name = "4G_CC1",
|
|
.shm_dbm_idx = {M_4G_DBM_1_TABLE, M_4G_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_4G_SECTION_LEVEL, M_4G_SECTION_9_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_4G_CC1_DBM],
|
|
},
|
|
|
|
[TX_C2K_DBM] = {
|
|
.dbm_name = "C2K",
|
|
.shm_dbm_idx = {M_C2K_DBM_1_TABLE, M_C2K_DBM_2_TABLE},
|
|
.shm_sec_idx = {M_C2K_SECTION_1_LEVEL, M_C2K_SECTION_2_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_C2K_DBM],
|
|
},
|
|
|
|
[TX_NR_CC0_DBM] = {
|
|
.dbm_name = "NR_CC0",
|
|
.shm_dbm_idx = {M_NR_DBM_TABLE, M_NR_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_LEVEL, M_NR_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_NR_CC0_DBM],
|
|
},
|
|
|
|
[TX_NR_CC1_DBM] = {
|
|
.dbm_name = "NR_CC1",
|
|
.shm_dbm_idx = {M_NR_DBM_2_TABLE, M_NR_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_NR_SECTION_2_LEVEL, M_NR_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_NR_CC1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX1_DBM] = {
|
|
.dbm_name = "MMW_TX1",
|
|
.shm_dbm_idx = {M_MMW_DBM_TABLE, M_MMW_DBM_1_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_LEVEL, M_MMW_SECTION_1_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_MMW_TX1_DBM],
|
|
},
|
|
|
|
[TX_MMW_TX2_DBM] = {
|
|
.dbm_name = "MMW_TX2",
|
|
.shm_dbm_idx = {M_MMW_DBM_2_TABLE, M_MMW_DBM_3_TABLE},
|
|
.shm_sec_idx = {M_MMW_SECTION_2_LEVEL, M_MMW_SECTION_3_LEVEL},
|
|
.rfhw = &rfhw_6835[TX_MMW_TX2_DBM],
|
|
}
|
|
};
|
|
|
|
static struct mdpm_scenario mt6835_mdpm_scen[SCENARIO_NUM] = {
|
|
[S_STANDBY] = {
|
|
.scenario_reg = 0,
|
|
.scenario_name = "S_STANDBY",
|
|
.scenario_power = &md_scen_power_6835[S_STANDBY],
|
|
.tx_power_rat = {0, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_2G_IDLE] = {
|
|
.scenario_reg = (u64)1 << 1,
|
|
.scenario_name = "S_2G_IDLE",
|
|
.scenario_power = &md_scen_power_6835[S_2G_IDLE],
|
|
.tx_power_rat = {RAT_2G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_C2K_DATALINK] = {
|
|
.scenario_reg = (u64)1 << 2,
|
|
.scenario_name = "S_C2K_DATALINK",
|
|
.scenario_power = &md_scen_power_6835[S_C2K_DATALINK],
|
|
.tx_power_rat = {RAT_C2K, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_3G_IDLE] = {
|
|
.scenario_reg = (u64)1 << 3,
|
|
.scenario_name = "S_3G_IDLE",
|
|
.scenario_power = &md_scen_power_6835[S_3G_IDLE],
|
|
.tx_power_rat = {RAT_3G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U] = {
|
|
.scenario_reg = (u64)1 << 5,
|
|
.scenario_name = "S_4G_0D0U_1CC",
|
|
.scenario_power = &md_scen_power_6835[S_4G_0D0U],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_0D0U_H] = {
|
|
.scenario_reg = (u64)1 << 7,
|
|
.scenario_name = "S_4G_0D0U_H_1CC_H",
|
|
.scenario_power = &md_scen_power_6835[S_4G_0D0U_H],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_2CC] = {
|
|
.scenario_reg = (u64)1 << 10,
|
|
.scenario_name = "S_4G_2CC",
|
|
.scenario_power = &md_scen_power_6835[S_4G_2CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_3CC] = {
|
|
.scenario_reg = (u64)1 << 12,
|
|
.scenario_name = "S_4G_3CC",
|
|
.scenario_power = &md_scen_power_6835[S_4G_3CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_4CC] = {
|
|
.scenario_reg = (u64)1 << 14,
|
|
.scenario_name = "S_4G_4CC",
|
|
.scenario_power = &md_scen_power_6835[S_4G_4CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_4G_5CC] = {
|
|
.scenario_reg = (u64)1 << 16,
|
|
.scenario_name = "S_4G_5CC",
|
|
.scenario_power = &md_scen_power_6835[S_4G_5CC],
|
|
.tx_power_rat = {RAT_4G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_1TG] = {
|
|
.scenario_reg = (u64)1 << 29,
|
|
.scenario_name = "S_5G_NR_0CC_1TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_NR_0CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_2TG] = {
|
|
.scenario_reg = (u64)1 << 30,
|
|
.scenario_name = "S_5G_NR_0CC_2TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_NR_0CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_NR_0CC_3TG] = {
|
|
.scenario_reg = (u64)1 << 31,
|
|
.scenario_name = "S_5G_NR_0CC_3TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_NR_0CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG] = {
|
|
.scenario_reg = (u64)1 << 21,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_1CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_H] = {
|
|
.scenario_reg = (u64)1 << 22,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_H",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_1CC_1TG_H],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_2CC_1TG] = {
|
|
.scenario_reg = (u64)1 << 34,
|
|
.scenario_name = "S_5G_FR1_2CC_1TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_2CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_3_4CC_1TG] = {
|
|
.scenario_reg = (u64)1 << 36,
|
|
.scenario_name = "S_5G_FR1_3_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_3_4CC_1TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_2TG] = {
|
|
.scenario_reg = (u64)1 << 38,
|
|
.scenario_name = "S_5G_FR1_1_4CC_2TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_1_4CC_2TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_1_4CC_3TG] = {
|
|
.scenario_reg = (u64)1 << 40,
|
|
.scenario_name = "S_5G_FR1_1_4CC_3TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_1_4CC_3TG],
|
|
.tx_power_rat = {RAT_5G, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG] = {
|
|
.scenario_reg = (u64)1 << 42,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR2_1CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG] = {
|
|
.scenario_reg = (u64)1 << 44,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR2_2_4CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_5_8CC_1TG] = {
|
|
.scenario_reg = (u64)1 << 46,
|
|
.scenario_name = "S_5G_FR2_5_8CC_1TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR2_5_8CC_1TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_2TG] = {
|
|
.scenario_reg = (u64)1 << 48,
|
|
.scenario_name = "S_5G_FR2_1_8CC_2TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR2_1_8CC_2TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR2_1_8CC_3TG] = {
|
|
.scenario_reg = (u64)1 << 50,
|
|
.scenario_name = "S_5G_FR2_1_8CC_3TG",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR2_1_8CC_3TG],
|
|
.tx_power_rat = {RAT_MMW, 0, 0, 0, 0},
|
|
.tx_power_rat_sum = false,
|
|
},
|
|
|
|
[S_5G_FR1_FR2] = {
|
|
.scenario_reg = (u64)1 << 57,
|
|
.scenario_name = "S_5G_NNDC",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_FR2],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_1CC_1TG_4G_1CC] = {
|
|
.scenario_reg = (u64)1 << 23,
|
|
.scenario_name = "S_5G_FR1_1CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_1CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC] = {
|
|
.scenario_reg = (u64)1 << 52,
|
|
.scenario_name = "S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR2_2_4CC_1TG_4G_1CC] = {
|
|
.scenario_reg = (u64)1 << 54,
|
|
.scenario_name = "S_5G_FR2_2_4CC_1TG_4G_1CC",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR2_2_4CC_1TG_4G_1CC],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_5G_FR1_FR2_4G] = {
|
|
.scenario_reg = (u64)1 << 56,
|
|
.scenario_name = "S_5G_ENDC_OTHERS",
|
|
.scenario_power = &md_scen_power_6835[S_5G_FR1_FR2_4G],
|
|
.tx_power_rat = {RAT_MMW, RAT_5G, RAT_4G, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
},
|
|
|
|
[S_4G_5G_POS_URGENT] = {
|
|
.scenario_reg = (u64)1 << 63,
|
|
.scenario_name = "S_4G_5G_POS_URGENT",
|
|
.scenario_power = &md_scen_power_6835[S_4G_5G_POS_URGENT],
|
|
.tx_power_rat = {RAT_5G, RAT_4G, 0, 0, 0},
|
|
.tx_power_rat_sum = true,
|
|
}
|
|
|
|
};
|
|
|
|
static int mt6835_scen_priority[SCENARIO_NUM] = {
|
|
S_5G_FR1_FR2_4G,
|
|
S_5G_FR2_2_4CC_1TG_4G_1CC,
|
|
S_5G_FR2_1CC_1TG_4G_1CC_NR_0CC,
|
|
S_5G_FR1_1CC_1TG_4G_1CC,
|
|
S_5G_FR1_FR2,
|
|
S_5G_FR2_1_8CC_3TG,
|
|
S_5G_FR2_1_8CC_2TG,
|
|
S_5G_FR2_5_8CC_1TG,
|
|
S_5G_FR2_2_4CC_1TG,
|
|
S_5G_FR2_1CC_1TG,
|
|
S_5G_FR1_1_4CC_3TG,
|
|
S_5G_FR1_1_4CC_2TG,
|
|
S_5G_FR1_3_4CC_1TG,
|
|
S_5G_FR1_2CC_1TG,
|
|
S_5G_FR1_1CC_1TG_H,
|
|
S_5G_FR1_1CC_1TG,
|
|
S_5G_NR_0CC_3TG,
|
|
S_5G_NR_0CC_2TG,
|
|
S_5G_NR_0CC_1TG,
|
|
S_4G_5CC,
|
|
S_4G_4CC,
|
|
S_4G_3CC,
|
|
S_4G_2CC,
|
|
S_4G_0D0U_H,
|
|
S_4G_0D0U,
|
|
S_3G_IDLE,
|
|
S_C2K_DATALINK,
|
|
S_2G_IDLE,
|
|
S_STANDBY,
|
|
S_4G_5G_POS_URGENT
|
|
};
|
|
|
|
#endif /* _MTK_MDPM_PLATFORM_TABLE_H_ */
|