ASoC: DAI driver support upto 10 TDM interface

ASoC dai driver support update to 10 TDMs.

Change-Id: I401c5899bc921a7d15dfae1fc4f08478feeb5542
Signed-off-by: Cong Tang <congt@codeaurora.org>
This commit is contained in:
Cong Tang 2021-04-05 14:13:53 -04:00 committed by Gerrit - the friendly Code Review server
parent 9f0c670400
commit 7c0807d000
5 changed files with 3270 additions and 3 deletions

File diff suppressed because it is too large Load Diff

View File

@ -315,6 +315,14 @@ static struct afe_clkinfo_per_port clkinfo_per_port[] = {
MCLK_SRC_INT, Q6AFE_EXT_MCLK_FREQ_DEFAULT, ""},
{ AFE_PORT_ID_SENARY_TDM_RX,
MCLK_SRC_INT, Q6AFE_EXT_MCLK_FREQ_DEFAULT, ""},
{ AFE_PORT_ID_SEPTENARY_TDM_RX,
MCLK_SRC_INT, Q6AFE_EXT_MCLK_FREQ_DEFAULT, ""},
{ AFE_PORT_ID_HSIF0_TDM_RX,
MCLK_SRC_INT, Q6AFE_EXT_MCLK_FREQ_DEFAULT, ""},
{ AFE_PORT_ID_HSIF1_TDM_RX,
MCLK_SRC_INT, Q6AFE_EXT_MCLK_FREQ_DEFAULT, ""},
{ AFE_PORT_ID_HSIF2_TDM_RX,
MCLK_SRC_INT, Q6AFE_EXT_MCLK_FREQ_DEFAULT, ""},
{ AFE_PORT_ID_PRIMARY_SPDIF_RX,
MCLK_SRC_INT, Q6AFE_EXT_MCLK_FREQ_DEFAULT, ""},
{ AFE_PORT_ID_PRIMARY_SPDIF_TX,
@ -6659,6 +6667,134 @@ int afe_get_port_index(u16 port_id)
return IDX_RT_PROXY_PORT_002_RX;
case RT_PROXY_PORT_002_TX:
return IDX_RT_PROXY_PORT_002_TX;
case AFE_PORT_ID_SEPTENARY_TDM_RX:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_0;
case AFE_PORT_ID_SEPTENARY_TDM_TX:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_0;
case AFE_PORT_ID_SEPTENARY_TDM_RX_1:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_1;
case AFE_PORT_ID_SEPTENARY_TDM_TX_1:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_1;
case AFE_PORT_ID_SEPTENARY_TDM_RX_2:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_2;
case AFE_PORT_ID_SEPTENARY_TDM_TX_2:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_2;
case AFE_PORT_ID_SEPTENARY_TDM_RX_3:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_3;
case AFE_PORT_ID_SEPTENARY_TDM_TX_3:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_3;
case AFE_PORT_ID_SEPTENARY_TDM_RX_4:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_4;
case AFE_PORT_ID_SEPTENARY_TDM_TX_4:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_4;
case AFE_PORT_ID_SEPTENARY_TDM_RX_5:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_5;
case AFE_PORT_ID_SEPTENARY_TDM_TX_5:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_5;
case AFE_PORT_ID_SEPTENARY_TDM_RX_6:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_6;
case AFE_PORT_ID_SEPTENARY_TDM_TX_6:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_6;
case AFE_PORT_ID_SEPTENARY_TDM_RX_7:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_7;
case AFE_PORT_ID_SEPTENARY_TDM_TX_7:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_7;
case AFE_PORT_ID_HSIF0_TDM_RX:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_0;
case AFE_PORT_ID_HSIF0_TDM_TX:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_0;
case AFE_PORT_ID_HSIF0_TDM_RX_1:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_1;
case AFE_PORT_ID_HSIF0_TDM_TX_1:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_1;
case AFE_PORT_ID_HSIF0_TDM_RX_2:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_2;
case AFE_PORT_ID_HSIF0_TDM_TX_2:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_2;
case AFE_PORT_ID_HSIF0_TDM_RX_3:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_3;
case AFE_PORT_ID_HSIF0_TDM_TX_3:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_3;
case AFE_PORT_ID_HSIF0_TDM_RX_4:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_4;
case AFE_PORT_ID_HSIF0_TDM_TX_4:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_4;
case AFE_PORT_ID_HSIF0_TDM_RX_5:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_5;
case AFE_PORT_ID_HSIF0_TDM_TX_5:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_5;
case AFE_PORT_ID_HSIF0_TDM_RX_6:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_6;
case AFE_PORT_ID_HSIF0_TDM_TX_6:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_6;
case AFE_PORT_ID_HSIF0_TDM_RX_7:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_7;
case AFE_PORT_ID_HSIF0_TDM_TX_7:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_7;
case AFE_PORT_ID_HSIF1_TDM_RX:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_0;
case AFE_PORT_ID_HSIF1_TDM_TX:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_0;
case AFE_PORT_ID_HSIF1_TDM_RX_1:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_1;
case AFE_PORT_ID_HSIF1_TDM_TX_1:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_1;
case AFE_PORT_ID_HSIF1_TDM_RX_2:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_2;
case AFE_PORT_ID_HSIF1_TDM_TX_2:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_2;
case AFE_PORT_ID_HSIF1_TDM_RX_3:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_3;
case AFE_PORT_ID_HSIF1_TDM_TX_3:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_3;
case AFE_PORT_ID_HSIF1_TDM_RX_4:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_4;
case AFE_PORT_ID_HSIF1_TDM_TX_4:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_4;
case AFE_PORT_ID_HSIF1_TDM_RX_5:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_5;
case AFE_PORT_ID_HSIF1_TDM_TX_5:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_5;
case AFE_PORT_ID_HSIF1_TDM_RX_6:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_6;
case AFE_PORT_ID_HSIF1_TDM_TX_6:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_6;
case AFE_PORT_ID_HSIF1_TDM_RX_7:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_7;
case AFE_PORT_ID_HSIF1_TDM_TX_7:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_7;
case AFE_PORT_ID_HSIF2_TDM_RX:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_0;
case AFE_PORT_ID_HSIF2_TDM_TX:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_0;
case AFE_PORT_ID_HSIF2_TDM_RX_1:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_1;
case AFE_PORT_ID_HSIF2_TDM_TX_1:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_1;
case AFE_PORT_ID_HSIF2_TDM_RX_2:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_2;
case AFE_PORT_ID_HSIF2_TDM_TX_2:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_2;
case AFE_PORT_ID_HSIF2_TDM_RX_3:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_3;
case AFE_PORT_ID_HSIF2_TDM_TX_3:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_3;
case AFE_PORT_ID_HSIF2_TDM_RX_4:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_4;
case AFE_PORT_ID_HSIF2_TDM_TX_4:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_4;
case AFE_PORT_ID_HSIF2_TDM_RX_5:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_5;
case AFE_PORT_ID_HSIF2_TDM_TX_5:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_5;
case AFE_PORT_ID_HSIF2_TDM_RX_6:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_6;
case AFE_PORT_ID_HSIF2_TDM_TX_6:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_6;
case AFE_PORT_ID_HSIF2_TDM_RX_7:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_7;
case AFE_PORT_ID_HSIF2_TDM_TX_7:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_7;
default:
pr_err("%s: port 0x%x\n", __func__, port_id);
return -EINVAL;
@ -7150,6 +7286,14 @@ int afe_port_group_set_param(u16 group_id,
case AFE_GROUP_DEVICE_ID_QUINARY_TDM_TX:
case AFE_GROUP_DEVICE_ID_SENARY_TDM_RX:
case AFE_GROUP_DEVICE_ID_SENARY_TDM_TX:
case AFE_GROUP_DEVICE_ID_SEPTENARY_TDM_RX:
case AFE_GROUP_DEVICE_ID_SEPTENARY_TDM_TX:
case AFE_GROUP_DEVICE_ID_HSIF0_TDM_RX:
case AFE_GROUP_DEVICE_ID_HSIF0_TDM_TX:
case AFE_GROUP_DEVICE_ID_HSIF1_TDM_RX:
case AFE_GROUP_DEVICE_ID_HSIF1_TDM_TX:
case AFE_GROUP_DEVICE_ID_HSIF2_TDM_RX:
case AFE_GROUP_DEVICE_ID_HSIF2_TDM_TX:
cfg_type = AFE_PARAM_ID_GROUP_DEVICE_TDM_CONFIG;
break;
default:
@ -8871,6 +9015,70 @@ static bool is_port_valid(u16 port_id)
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
case RT_PROXY_PORT_002_RX:
case RT_PROXY_PORT_002_TX:
case AFE_PORT_ID_SEPTENARY_TDM_RX:
case AFE_PORT_ID_SEPTENARY_TDM_TX:
case AFE_PORT_ID_SEPTENARY_TDM_RX_1:
case AFE_PORT_ID_SEPTENARY_TDM_TX_1:
case AFE_PORT_ID_SEPTENARY_TDM_RX_2:
case AFE_PORT_ID_SEPTENARY_TDM_TX_2:
case AFE_PORT_ID_SEPTENARY_TDM_RX_3:
case AFE_PORT_ID_SEPTENARY_TDM_TX_3:
case AFE_PORT_ID_SEPTENARY_TDM_RX_4:
case AFE_PORT_ID_SEPTENARY_TDM_TX_4:
case AFE_PORT_ID_SEPTENARY_TDM_RX_5:
case AFE_PORT_ID_SEPTENARY_TDM_TX_5:
case AFE_PORT_ID_SEPTENARY_TDM_RX_6:
case AFE_PORT_ID_SEPTENARY_TDM_TX_6:
case AFE_PORT_ID_SEPTENARY_TDM_RX_7:
case AFE_PORT_ID_SEPTENARY_TDM_TX_7:
case AFE_PORT_ID_HSIF0_TDM_RX:
case AFE_PORT_ID_HSIF0_TDM_TX:
case AFE_PORT_ID_HSIF0_TDM_RX_1:
case AFE_PORT_ID_HSIF0_TDM_TX_1:
case AFE_PORT_ID_HSIF0_TDM_RX_2:
case AFE_PORT_ID_HSIF0_TDM_TX_2:
case AFE_PORT_ID_HSIF0_TDM_RX_3:
case AFE_PORT_ID_HSIF0_TDM_TX_3:
case AFE_PORT_ID_HSIF0_TDM_RX_4:
case AFE_PORT_ID_HSIF0_TDM_TX_4:
case AFE_PORT_ID_HSIF0_TDM_RX_5:
case AFE_PORT_ID_HSIF0_TDM_TX_5:
case AFE_PORT_ID_HSIF0_TDM_RX_6:
case AFE_PORT_ID_HSIF0_TDM_TX_6:
case AFE_PORT_ID_HSIF0_TDM_RX_7:
case AFE_PORT_ID_HSIF0_TDM_TX_7:
case AFE_PORT_ID_HSIF1_TDM_RX:
case AFE_PORT_ID_HSIF1_TDM_TX:
case AFE_PORT_ID_HSIF1_TDM_RX_1:
case AFE_PORT_ID_HSIF1_TDM_TX_1:
case AFE_PORT_ID_HSIF1_TDM_RX_2:
case AFE_PORT_ID_HSIF1_TDM_TX_2:
case AFE_PORT_ID_HSIF1_TDM_RX_3:
case AFE_PORT_ID_HSIF1_TDM_TX_3:
case AFE_PORT_ID_HSIF1_TDM_RX_4:
case AFE_PORT_ID_HSIF1_TDM_TX_4:
case AFE_PORT_ID_HSIF1_TDM_RX_5:
case AFE_PORT_ID_HSIF1_TDM_TX_5:
case AFE_PORT_ID_HSIF1_TDM_RX_6:
case AFE_PORT_ID_HSIF1_TDM_TX_6:
case AFE_PORT_ID_HSIF1_TDM_RX_7:
case AFE_PORT_ID_HSIF1_TDM_TX_7:
case AFE_PORT_ID_HSIF2_TDM_RX:
case AFE_PORT_ID_HSIF2_TDM_TX:
case AFE_PORT_ID_HSIF2_TDM_RX_1:
case AFE_PORT_ID_HSIF2_TDM_TX_1:
case AFE_PORT_ID_HSIF2_TDM_RX_2:
case AFE_PORT_ID_HSIF2_TDM_TX_2:
case AFE_PORT_ID_HSIF2_TDM_RX_3:
case AFE_PORT_ID_HSIF2_TDM_TX_3:
case AFE_PORT_ID_HSIF2_TDM_RX_4:
case AFE_PORT_ID_HSIF2_TDM_TX_4:
case AFE_PORT_ID_HSIF2_TDM_RX_5:
case AFE_PORT_ID_HSIF2_TDM_TX_5:
case AFE_PORT_ID_HSIF2_TDM_RX_6:
case AFE_PORT_ID_HSIF2_TDM_TX_6:
case AFE_PORT_ID_HSIF2_TDM_RX_7:
case AFE_PORT_ID_HSIF2_TDM_TX_7:
{
return true;
}

View File

@ -390,6 +390,134 @@ int q6audio_get_port_index(u16 port_id)
return IDX_RT_PROXY_PORT_002_RX;
case RT_PROXY_PORT_002_TX:
return IDX_RT_PROXY_PORT_002_TX;
case AFE_PORT_ID_SEPTENARY_TDM_RX:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_0;
case AFE_PORT_ID_SEPTENARY_TDM_TX:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_0;
case AFE_PORT_ID_SEPTENARY_TDM_RX_1:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_1;
case AFE_PORT_ID_SEPTENARY_TDM_TX_1:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_1;
case AFE_PORT_ID_SEPTENARY_TDM_RX_2:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_2;
case AFE_PORT_ID_SEPTENARY_TDM_TX_2:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_2;
case AFE_PORT_ID_SEPTENARY_TDM_RX_3:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_3;
case AFE_PORT_ID_SEPTENARY_TDM_TX_3:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_3;
case AFE_PORT_ID_SEPTENARY_TDM_RX_4:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_4;
case AFE_PORT_ID_SEPTENARY_TDM_TX_4:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_4;
case AFE_PORT_ID_SEPTENARY_TDM_RX_5:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_5;
case AFE_PORT_ID_SEPTENARY_TDM_TX_5:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_5;
case AFE_PORT_ID_SEPTENARY_TDM_RX_6:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_6;
case AFE_PORT_ID_SEPTENARY_TDM_TX_6:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_6;
case AFE_PORT_ID_SEPTENARY_TDM_RX_7:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_7;
case AFE_PORT_ID_SEPTENARY_TDM_TX_7:
return IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_7;
case AFE_PORT_ID_HSIF0_TDM_RX:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_0;
case AFE_PORT_ID_HSIF0_TDM_TX:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_0;
case AFE_PORT_ID_HSIF0_TDM_RX_1:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_1;
case AFE_PORT_ID_HSIF0_TDM_TX_1:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_1;
case AFE_PORT_ID_HSIF0_TDM_RX_2:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_2;
case AFE_PORT_ID_HSIF0_TDM_TX_2:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_2;
case AFE_PORT_ID_HSIF0_TDM_RX_3:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_3;
case AFE_PORT_ID_HSIF0_TDM_TX_3:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_3;
case AFE_PORT_ID_HSIF0_TDM_RX_4:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_4;
case AFE_PORT_ID_HSIF0_TDM_TX_4:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_4;
case AFE_PORT_ID_HSIF0_TDM_RX_5:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_5;
case AFE_PORT_ID_HSIF0_TDM_TX_5:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_5;
case AFE_PORT_ID_HSIF0_TDM_RX_6:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_6;
case AFE_PORT_ID_HSIF0_TDM_TX_6:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_6;
case AFE_PORT_ID_HSIF0_TDM_RX_7:
return IDX_AFE_PORT_ID_HSIF0_TDM_RX_7;
case AFE_PORT_ID_HSIF0_TDM_TX_7:
return IDX_AFE_PORT_ID_HSIF0_TDM_TX_7;
case AFE_PORT_ID_HSIF1_TDM_RX:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_0;
case AFE_PORT_ID_HSIF1_TDM_TX:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_0;
case AFE_PORT_ID_HSIF1_TDM_RX_1:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_1;
case AFE_PORT_ID_HSIF1_TDM_TX_1:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_1;
case AFE_PORT_ID_HSIF1_TDM_RX_2:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_2;
case AFE_PORT_ID_HSIF1_TDM_TX_2:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_2;
case AFE_PORT_ID_HSIF1_TDM_RX_3:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_3;
case AFE_PORT_ID_HSIF1_TDM_TX_3:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_3;
case AFE_PORT_ID_HSIF1_TDM_RX_4:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_4;
case AFE_PORT_ID_HSIF1_TDM_TX_4:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_4;
case AFE_PORT_ID_HSIF1_TDM_RX_5:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_5;
case AFE_PORT_ID_HSIF1_TDM_TX_5:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_5;
case AFE_PORT_ID_HSIF1_TDM_RX_6:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_6;
case AFE_PORT_ID_HSIF1_TDM_TX_6:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_6;
case AFE_PORT_ID_HSIF1_TDM_RX_7:
return IDX_AFE_PORT_ID_HSIF1_TDM_RX_7;
case AFE_PORT_ID_HSIF1_TDM_TX_7:
return IDX_AFE_PORT_ID_HSIF1_TDM_TX_7;
case AFE_PORT_ID_HSIF2_TDM_RX:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_0;
case AFE_PORT_ID_HSIF2_TDM_TX:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_0;
case AFE_PORT_ID_HSIF2_TDM_RX_1:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_1;
case AFE_PORT_ID_HSIF2_TDM_TX_1:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_1;
case AFE_PORT_ID_HSIF2_TDM_RX_2:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_2;
case AFE_PORT_ID_HSIF2_TDM_TX_2:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_2;
case AFE_PORT_ID_HSIF2_TDM_RX_3:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_3;
case AFE_PORT_ID_HSIF2_TDM_TX_3:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_3;
case AFE_PORT_ID_HSIF2_TDM_RX_4:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_4;
case AFE_PORT_ID_HSIF2_TDM_TX_4:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_4;
case AFE_PORT_ID_HSIF2_TDM_RX_5:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_5;
case AFE_PORT_ID_HSIF2_TDM_TX_5:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_5;
case AFE_PORT_ID_HSIF2_TDM_RX_6:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_6;
case AFE_PORT_ID_HSIF2_TDM_TX_6:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_6;
case AFE_PORT_ID_HSIF2_TDM_RX_7:
return IDX_AFE_PORT_ID_HSIF2_TDM_RX_7;
case AFE_PORT_ID_HSIF2_TDM_TX_7:
return IDX_AFE_PORT_ID_HSIF2_TDM_TX_7;
default: return -EINVAL;
}
}
@ -778,6 +906,134 @@ int q6audio_get_port_id(u16 port_id)
return RT_PROXY_PORT_002_RX;
case RT_PROXY_PORT_002_TX:
return RT_PROXY_PORT_002_TX;
case AFE_PORT_ID_SEPTENARY_TDM_RX:
return AFE_PORT_ID_SEPTENARY_TDM_RX;
case AFE_PORT_ID_SEPTENARY_TDM_TX:
return AFE_PORT_ID_SEPTENARY_TDM_TX;
case AFE_PORT_ID_SEPTENARY_TDM_RX_1:
return AFE_PORT_ID_SEPTENARY_TDM_RX_1;
case AFE_PORT_ID_SEPTENARY_TDM_TX_1:
return AFE_PORT_ID_SEPTENARY_TDM_TX_1;
case AFE_PORT_ID_SEPTENARY_TDM_RX_2:
return AFE_PORT_ID_SEPTENARY_TDM_RX_2;
case AFE_PORT_ID_SEPTENARY_TDM_TX_2:
return AFE_PORT_ID_SEPTENARY_TDM_TX_2;
case AFE_PORT_ID_SEPTENARY_TDM_RX_3:
return AFE_PORT_ID_SEPTENARY_TDM_RX_3;
case AFE_PORT_ID_SEPTENARY_TDM_TX_3:
return AFE_PORT_ID_SEPTENARY_TDM_TX_3;
case AFE_PORT_ID_SEPTENARY_TDM_RX_4:
return AFE_PORT_ID_SEPTENARY_TDM_RX_4;
case AFE_PORT_ID_SEPTENARY_TDM_TX_4:
return AFE_PORT_ID_SEPTENARY_TDM_TX_4;
case AFE_PORT_ID_SEPTENARY_TDM_RX_5:
return AFE_PORT_ID_SEPTENARY_TDM_RX_5;
case AFE_PORT_ID_SEPTENARY_TDM_TX_5:
return AFE_PORT_ID_SEPTENARY_TDM_TX_5;
case AFE_PORT_ID_SEPTENARY_TDM_RX_6:
return AFE_PORT_ID_SEPTENARY_TDM_RX_6;
case AFE_PORT_ID_SEPTENARY_TDM_TX_6:
return AFE_PORT_ID_SEPTENARY_TDM_TX_6;
case AFE_PORT_ID_SEPTENARY_TDM_RX_7:
return AFE_PORT_ID_SEPTENARY_TDM_RX_7;
case AFE_PORT_ID_SEPTENARY_TDM_TX_7:
return AFE_PORT_ID_SEPTENARY_TDM_TX_7;
case AFE_PORT_ID_HSIF0_TDM_RX:
return AFE_PORT_ID_HSIF0_TDM_RX;
case AFE_PORT_ID_HSIF0_TDM_TX:
return AFE_PORT_ID_HSIF0_TDM_TX;
case AFE_PORT_ID_HSIF0_TDM_RX_1:
return AFE_PORT_ID_HSIF0_TDM_RX_1;
case AFE_PORT_ID_HSIF0_TDM_TX_1:
return AFE_PORT_ID_HSIF0_TDM_TX_1;
case AFE_PORT_ID_HSIF0_TDM_RX_2:
return AFE_PORT_ID_HSIF0_TDM_RX_2;
case AFE_PORT_ID_HSIF0_TDM_TX_2:
return AFE_PORT_ID_HSIF0_TDM_TX_2;
case AFE_PORT_ID_HSIF0_TDM_RX_3:
return AFE_PORT_ID_HSIF0_TDM_RX_3;
case AFE_PORT_ID_HSIF0_TDM_TX_3:
return AFE_PORT_ID_HSIF0_TDM_TX_3;
case AFE_PORT_ID_HSIF0_TDM_RX_4:
return AFE_PORT_ID_HSIF0_TDM_RX_4;
case AFE_PORT_ID_HSIF0_TDM_TX_4:
return AFE_PORT_ID_HSIF0_TDM_TX_4;
case AFE_PORT_ID_HSIF0_TDM_RX_5:
return AFE_PORT_ID_HSIF0_TDM_RX_5;
case AFE_PORT_ID_HSIF0_TDM_TX_5:
return AFE_PORT_ID_HSIF0_TDM_TX_5;
case AFE_PORT_ID_HSIF0_TDM_RX_6:
return AFE_PORT_ID_HSIF0_TDM_RX_6;
case AFE_PORT_ID_HSIF0_TDM_TX_6:
return AFE_PORT_ID_HSIF0_TDM_TX_6;
case AFE_PORT_ID_HSIF0_TDM_RX_7:
return AFE_PORT_ID_HSIF0_TDM_RX_7;
case AFE_PORT_ID_HSIF0_TDM_TX_7:
return AFE_PORT_ID_HSIF0_TDM_TX_7;
case AFE_PORT_ID_HSIF1_TDM_RX:
return AFE_PORT_ID_HSIF1_TDM_RX;
case AFE_PORT_ID_HSIF1_TDM_TX:
return AFE_PORT_ID_HSIF1_TDM_TX;
case AFE_PORT_ID_HSIF1_TDM_RX_1:
return AFE_PORT_ID_HSIF1_TDM_RX_1;
case AFE_PORT_ID_HSIF1_TDM_TX_1:
return AFE_PORT_ID_HSIF1_TDM_TX_1;
case AFE_PORT_ID_HSIF1_TDM_RX_2:
return AFE_PORT_ID_HSIF1_TDM_RX_2;
case AFE_PORT_ID_HSIF1_TDM_TX_2:
return AFE_PORT_ID_HSIF1_TDM_TX_2;
case AFE_PORT_ID_HSIF1_TDM_RX_3:
return AFE_PORT_ID_HSIF1_TDM_RX_3;
case AFE_PORT_ID_HSIF1_TDM_TX_3:
return AFE_PORT_ID_HSIF1_TDM_TX_3;
case AFE_PORT_ID_HSIF1_TDM_RX_4:
return AFE_PORT_ID_HSIF1_TDM_RX_4;
case AFE_PORT_ID_HSIF1_TDM_TX_4:
return AFE_PORT_ID_HSIF1_TDM_TX_4;
case AFE_PORT_ID_HSIF1_TDM_RX_5:
return AFE_PORT_ID_HSIF1_TDM_RX_5;
case AFE_PORT_ID_HSIF1_TDM_TX_5:
return AFE_PORT_ID_HSIF1_TDM_TX_5;
case AFE_PORT_ID_HSIF1_TDM_RX_6:
return AFE_PORT_ID_HSIF1_TDM_RX_6;
case AFE_PORT_ID_HSIF1_TDM_TX_6:
return AFE_PORT_ID_HSIF1_TDM_TX_6;
case AFE_PORT_ID_HSIF1_TDM_RX_7:
return AFE_PORT_ID_HSIF1_TDM_RX_7;
case AFE_PORT_ID_HSIF1_TDM_TX_7:
return AFE_PORT_ID_HSIF1_TDM_TX_7;
case AFE_PORT_ID_HSIF2_TDM_RX:
return AFE_PORT_ID_HSIF2_TDM_RX;
case AFE_PORT_ID_HSIF2_TDM_TX:
return AFE_PORT_ID_HSIF2_TDM_TX;
case AFE_PORT_ID_HSIF2_TDM_RX_1:
return AFE_PORT_ID_HSIF2_TDM_RX_1;
case AFE_PORT_ID_HSIF2_TDM_TX_1:
return AFE_PORT_ID_HSIF2_TDM_TX_1;
case AFE_PORT_ID_HSIF2_TDM_RX_2:
return AFE_PORT_ID_HSIF2_TDM_RX_2;
case AFE_PORT_ID_HSIF2_TDM_TX_2:
return AFE_PORT_ID_HSIF2_TDM_TX_2;
case AFE_PORT_ID_HSIF2_TDM_RX_3:
return AFE_PORT_ID_HSIF2_TDM_RX_3;
case AFE_PORT_ID_HSIF2_TDM_TX_3:
return AFE_PORT_ID_HSIF2_TDM_TX_3;
case AFE_PORT_ID_HSIF2_TDM_RX_4:
return AFE_PORT_ID_HSIF2_TDM_RX_4;
case AFE_PORT_ID_HSIF2_TDM_TX_4:
return AFE_PORT_ID_HSIF2_TDM_TX_4;
case AFE_PORT_ID_HSIF2_TDM_RX_5:
return AFE_PORT_ID_HSIF2_TDM_RX_5;
case AFE_PORT_ID_HSIF2_TDM_TX_5:
return AFE_PORT_ID_HSIF2_TDM_TX_5;
case AFE_PORT_ID_HSIF2_TDM_RX_6:
return AFE_PORT_ID_HSIF2_TDM_RX_6;
case AFE_PORT_ID_HSIF2_TDM_TX_6:
return AFE_PORT_ID_HSIF2_TDM_TX_6;
case AFE_PORT_ID_HSIF2_TDM_RX_7:
return AFE_PORT_ID_HSIF2_TDM_RX_7;
case AFE_PORT_ID_HSIF2_TDM_TX_7:
return AFE_PORT_ID_HSIF2_TDM_TX_7;
default:
pr_warn("%s: Invalid port_id %d\n", __func__, port_id);
return -EINVAL;
@ -981,6 +1237,70 @@ int q6audio_is_digital_pcm_interface(u16 port_id)
case AFE_PORT_ID_PRIMARY_SPDIF_TX:
case AFE_PORT_ID_SECONDARY_SPDIF_RX:
case AFE_PORT_ID_SECONDARY_SPDIF_TX:
case AFE_PORT_ID_SEPTENARY_TDM_RX:
case AFE_PORT_ID_SEPTENARY_TDM_TX:
case AFE_PORT_ID_SEPTENARY_TDM_RX_1:
case AFE_PORT_ID_SEPTENARY_TDM_TX_1:
case AFE_PORT_ID_SEPTENARY_TDM_RX_2:
case AFE_PORT_ID_SEPTENARY_TDM_TX_2:
case AFE_PORT_ID_SEPTENARY_TDM_RX_3:
case AFE_PORT_ID_SEPTENARY_TDM_TX_3:
case AFE_PORT_ID_SEPTENARY_TDM_RX_4:
case AFE_PORT_ID_SEPTENARY_TDM_TX_4:
case AFE_PORT_ID_SEPTENARY_TDM_RX_5:
case AFE_PORT_ID_SEPTENARY_TDM_TX_5:
case AFE_PORT_ID_SEPTENARY_TDM_RX_6:
case AFE_PORT_ID_SEPTENARY_TDM_TX_6:
case AFE_PORT_ID_SEPTENARY_TDM_RX_7:
case AFE_PORT_ID_SEPTENARY_TDM_TX_7:
case AFE_PORT_ID_HSIF0_TDM_RX:
case AFE_PORT_ID_HSIF0_TDM_TX:
case AFE_PORT_ID_HSIF0_TDM_RX_1:
case AFE_PORT_ID_HSIF0_TDM_TX_1:
case AFE_PORT_ID_HSIF0_TDM_RX_2:
case AFE_PORT_ID_HSIF0_TDM_TX_2:
case AFE_PORT_ID_HSIF0_TDM_RX_3:
case AFE_PORT_ID_HSIF0_TDM_TX_3:
case AFE_PORT_ID_HSIF0_TDM_RX_4:
case AFE_PORT_ID_HSIF0_TDM_TX_4:
case AFE_PORT_ID_HSIF0_TDM_RX_5:
case AFE_PORT_ID_HSIF0_TDM_TX_5:
case AFE_PORT_ID_HSIF0_TDM_RX_6:
case AFE_PORT_ID_HSIF0_TDM_TX_6:
case AFE_PORT_ID_HSIF0_TDM_RX_7:
case AFE_PORT_ID_HSIF0_TDM_TX_7:
case AFE_PORT_ID_HSIF1_TDM_RX:
case AFE_PORT_ID_HSIF1_TDM_TX:
case AFE_PORT_ID_HSIF1_TDM_RX_1:
case AFE_PORT_ID_HSIF1_TDM_TX_1:
case AFE_PORT_ID_HSIF1_TDM_RX_2:
case AFE_PORT_ID_HSIF1_TDM_TX_2:
case AFE_PORT_ID_HSIF1_TDM_RX_3:
case AFE_PORT_ID_HSIF1_TDM_TX_3:
case AFE_PORT_ID_HSIF1_TDM_RX_4:
case AFE_PORT_ID_HSIF1_TDM_TX_4:
case AFE_PORT_ID_HSIF1_TDM_RX_5:
case AFE_PORT_ID_HSIF1_TDM_TX_5:
case AFE_PORT_ID_HSIF1_TDM_RX_6:
case AFE_PORT_ID_HSIF1_TDM_TX_6:
case AFE_PORT_ID_HSIF1_TDM_RX_7:
case AFE_PORT_ID_HSIF1_TDM_TX_7:
case AFE_PORT_ID_HSIF2_TDM_RX:
case AFE_PORT_ID_HSIF2_TDM_TX:
case AFE_PORT_ID_HSIF2_TDM_RX_1:
case AFE_PORT_ID_HSIF2_TDM_TX_1:
case AFE_PORT_ID_HSIF2_TDM_RX_2:
case AFE_PORT_ID_HSIF2_TDM_TX_2:
case AFE_PORT_ID_HSIF2_TDM_RX_3:
case AFE_PORT_ID_HSIF2_TDM_TX_3:
case AFE_PORT_ID_HSIF2_TDM_RX_4:
case AFE_PORT_ID_HSIF2_TDM_TX_4:
case AFE_PORT_ID_HSIF2_TDM_RX_5:
case AFE_PORT_ID_HSIF2_TDM_TX_5:
case AFE_PORT_ID_HSIF2_TDM_RX_6:
case AFE_PORT_ID_HSIF2_TDM_TX_6:
case AFE_PORT_ID_HSIF2_TDM_RX_7:
case AFE_PORT_ID_HSIF2_TDM_TX_7:
break;
default:
ret = -EINVAL;
@ -1212,6 +1532,70 @@ int q6audio_validate_port(u16 port_id)
case AFE_PORT_ID_RX_CODEC_DMA_RX_7:
case RT_PROXY_PORT_002_RX:
case RT_PROXY_PORT_002_TX:
case AFE_PORT_ID_SEPTENARY_TDM_RX:
case AFE_PORT_ID_SEPTENARY_TDM_TX:
case AFE_PORT_ID_SEPTENARY_TDM_RX_1:
case AFE_PORT_ID_SEPTENARY_TDM_TX_1:
case AFE_PORT_ID_SEPTENARY_TDM_RX_2:
case AFE_PORT_ID_SEPTENARY_TDM_TX_2:
case AFE_PORT_ID_SEPTENARY_TDM_RX_3:
case AFE_PORT_ID_SEPTENARY_TDM_TX_3:
case AFE_PORT_ID_SEPTENARY_TDM_RX_4:
case AFE_PORT_ID_SEPTENARY_TDM_TX_4:
case AFE_PORT_ID_SEPTENARY_TDM_RX_5:
case AFE_PORT_ID_SEPTENARY_TDM_TX_5:
case AFE_PORT_ID_SEPTENARY_TDM_RX_6:
case AFE_PORT_ID_SEPTENARY_TDM_TX_6:
case AFE_PORT_ID_SEPTENARY_TDM_RX_7:
case AFE_PORT_ID_SEPTENARY_TDM_TX_7:
case AFE_PORT_ID_HSIF0_TDM_RX:
case AFE_PORT_ID_HSIF0_TDM_TX:
case AFE_PORT_ID_HSIF0_TDM_RX_1:
case AFE_PORT_ID_HSIF0_TDM_TX_1:
case AFE_PORT_ID_HSIF0_TDM_RX_2:
case AFE_PORT_ID_HSIF0_TDM_TX_2:
case AFE_PORT_ID_HSIF0_TDM_RX_3:
case AFE_PORT_ID_HSIF0_TDM_TX_3:
case AFE_PORT_ID_HSIF0_TDM_RX_4:
case AFE_PORT_ID_HSIF0_TDM_TX_4:
case AFE_PORT_ID_HSIF0_TDM_RX_5:
case AFE_PORT_ID_HSIF0_TDM_TX_5:
case AFE_PORT_ID_HSIF0_TDM_RX_6:
case AFE_PORT_ID_HSIF0_TDM_TX_6:
case AFE_PORT_ID_HSIF0_TDM_RX_7:
case AFE_PORT_ID_HSIF0_TDM_TX_7:
case AFE_PORT_ID_HSIF1_TDM_RX:
case AFE_PORT_ID_HSIF1_TDM_TX:
case AFE_PORT_ID_HSIF1_TDM_RX_1:
case AFE_PORT_ID_HSIF1_TDM_TX_1:
case AFE_PORT_ID_HSIF1_TDM_RX_2:
case AFE_PORT_ID_HSIF1_TDM_TX_2:
case AFE_PORT_ID_HSIF1_TDM_RX_3:
case AFE_PORT_ID_HSIF1_TDM_TX_3:
case AFE_PORT_ID_HSIF1_TDM_RX_4:
case AFE_PORT_ID_HSIF1_TDM_TX_4:
case AFE_PORT_ID_HSIF1_TDM_RX_5:
case AFE_PORT_ID_HSIF1_TDM_TX_5:
case AFE_PORT_ID_HSIF1_TDM_RX_6:
case AFE_PORT_ID_HSIF1_TDM_TX_6:
case AFE_PORT_ID_HSIF1_TDM_RX_7:
case AFE_PORT_ID_HSIF1_TDM_TX_7:
case AFE_PORT_ID_HSIF2_TDM_RX:
case AFE_PORT_ID_HSIF2_TDM_TX:
case AFE_PORT_ID_HSIF2_TDM_RX_1:
case AFE_PORT_ID_HSIF2_TDM_TX_1:
case AFE_PORT_ID_HSIF2_TDM_RX_2:
case AFE_PORT_ID_HSIF2_TDM_TX_2:
case AFE_PORT_ID_HSIF2_TDM_RX_3:
case AFE_PORT_ID_HSIF2_TDM_TX_3:
case AFE_PORT_ID_HSIF2_TDM_RX_4:
case AFE_PORT_ID_HSIF2_TDM_TX_4:
case AFE_PORT_ID_HSIF2_TDM_RX_5:
case AFE_PORT_ID_HSIF2_TDM_TX_5:
case AFE_PORT_ID_HSIF2_TDM_RX_6:
case AFE_PORT_ID_HSIF2_TDM_TX_6:
case AFE_PORT_ID_HSIF2_TDM_RX_7:
case AFE_PORT_ID_HSIF2_TDM_TX_7:
{
ret = 0;
break;

View File

@ -1440,7 +1440,7 @@ struct adm_cmd_connect_afe_port_v5 {
/* End of the range of port IDs for TDM devices. */
#define AFE_PORT_ID_TDM_PORT_RANGE_END \
(AFE_PORT_ID_TDM_PORT_RANGE_START+0x60-1)
(AFE_PORT_ID_TDM_PORT_RANGE_START+0x100-1)
/* Size of the range of port IDs for TDM ports. */
#define AFE_PORT_ID_TDM_PORT_RANGE_SIZE \
@ -1886,6 +1886,142 @@ struct adm_cmd_connect_afe_port_v5 {
#define AFE_PORT_ID_SENARY_TDM_TX_7 \
(AFE_PORT_ID_SENARY_TDM_TX + 0x0E)
#define AFE_PORT_ID_SEPTENARY_TDM_RX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x60)
#define AFE_PORT_ID_SEPTENARY_TDM_RX_1 \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x02)
#define AFE_PORT_ID_SEPTENARY_TDM_RX_2 \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x04)
#define AFE_PORT_ID_SEPTENARY_TDM_RX_3 \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x06)
#define AFE_PORT_ID_SEPTENARY_TDM_RX_4 \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x08)
#define AFE_PORT_ID_SEPTENARY_TDM_RX_5 \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x0A)
#define AFE_PORT_ID_SEPTENARY_TDM_RX_6 \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x0C)
#define AFE_PORT_ID_SEPTENARY_TDM_RX_7 \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x0E)
#define AFE_PORT_ID_SEPTENARY_TDM_TX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x61)
#define AFE_PORT_ID_SEPTENARY_TDM_TX_1 \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x02)
#define AFE_PORT_ID_SEPTENARY_TDM_TX_2 \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x04)
#define AFE_PORT_ID_SEPTENARY_TDM_TX_3 \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x06)
#define AFE_PORT_ID_SEPTENARY_TDM_TX_4 \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x08)
#define AFE_PORT_ID_SEPTENARY_TDM_TX_5 \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x0A)
#define AFE_PORT_ID_SEPTENARY_TDM_TX_6 \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x0C)
#define AFE_PORT_ID_SEPTENARY_TDM_TX_7 \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x0E)
#define AFE_PORT_ID_HSIF0_TDM_RX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x70)
#define AFE_PORT_ID_HSIF0_TDM_RX_1 \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x02)
#define AFE_PORT_ID_HSIF0_TDM_RX_2 \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x04)
#define AFE_PORT_ID_HSIF0_TDM_RX_3 \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x06)
#define AFE_PORT_ID_HSIF0_TDM_RX_4 \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x08)
#define AFE_PORT_ID_HSIF0_TDM_RX_5 \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x0A)
#define AFE_PORT_ID_HSIF0_TDM_RX_6 \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x0C)
#define AFE_PORT_ID_HSIF0_TDM_RX_7 \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x0E)
#define AFE_PORT_ID_HSIF0_TDM_TX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x71)
#define AFE_PORT_ID_HSIF0_TDM_TX_1 \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x02)
#define AFE_PORT_ID_HSIF0_TDM_TX_2 \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x04)
#define AFE_PORT_ID_HSIF0_TDM_TX_3 \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x06)
#define AFE_PORT_ID_HSIF0_TDM_TX_4 \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x08)
#define AFE_PORT_ID_HSIF0_TDM_TX_5 \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x0A)
#define AFE_PORT_ID_HSIF0_TDM_TX_6 \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x0C)
#define AFE_PORT_ID_HSIF0_TDM_TX_7 \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x0E)
#define AFE_PORT_ID_HSIF1_TDM_RX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x80)
#define AFE_PORT_ID_HSIF1_TDM_RX_1 \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x02)
#define AFE_PORT_ID_HSIF1_TDM_RX_2 \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x04)
#define AFE_PORT_ID_HSIF1_TDM_RX_3 \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x06)
#define AFE_PORT_ID_HSIF1_TDM_RX_4 \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x08)
#define AFE_PORT_ID_HSIF1_TDM_RX_5 \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x0A)
#define AFE_PORT_ID_HSIF1_TDM_RX_6 \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x0C)
#define AFE_PORT_ID_HSIF1_TDM_RX_7 \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x0E)
#define AFE_PORT_ID_HSIF1_TDM_TX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x81)
#define AFE_PORT_ID_HSIF1_TDM_TX_1 \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x02)
#define AFE_PORT_ID_HSIF1_TDM_TX_2 \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x04)
#define AFE_PORT_ID_HSIF1_TDM_TX_3 \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x06)
#define AFE_PORT_ID_HSIF1_TDM_TX_4 \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x08)
#define AFE_PORT_ID_HSIF1_TDM_TX_5 \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x0A)
#define AFE_PORT_ID_HSIF1_TDM_TX_6 \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x0C)
#define AFE_PORT_ID_HSIF1_TDM_TX_7 \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x0E)
#define AFE_PORT_ID_HSIF2_TDM_RX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x90)
#define AFE_PORT_ID_HSIF2_TDM_RX_1 \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x02)
#define AFE_PORT_ID_HSIF2_TDM_RX_2 \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x04)
#define AFE_PORT_ID_HSIF2_TDM_RX_3 \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x06)
#define AFE_PORT_ID_HSIF2_TDM_RX_4 \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x08)
#define AFE_PORT_ID_HSIF2_TDM_RX_5 \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x0A)
#define AFE_PORT_ID_HSIF2_TDM_RX_6 \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x0C)
#define AFE_PORT_ID_HSIF2_TDM_RX_7 \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x0E)
#define AFE_PORT_ID_HSIF2_TDM_TX \
(AFE_PORT_ID_TDM_PORT_RANGE_START + 0x91)
#define AFE_PORT_ID_HSIF2_TDM_TX_1 \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x02)
#define AFE_PORT_ID_HSIF2_TDM_TX_2 \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x04)
#define AFE_PORT_ID_HSIF2_TDM_TX_3 \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x06)
#define AFE_PORT_ID_HSIF2_TDM_TX_4 \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x08)
#define AFE_PORT_ID_HSIF2_TDM_TX_5 \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x0A)
#define AFE_PORT_ID_HSIF2_TDM_TX_6 \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x0C)
#define AFE_PORT_ID_HSIF2_TDM_TX_7 \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x0E)
#define AFE_PORT_ID_INVALID 0xFFFF
#define AAC_ENC_MODE_AAC_LC 0x02
@ -12181,6 +12317,22 @@ enum afe_lpass_clk_mode {
#define Q6AFE_LPASS_CLK_ID_SEN_TDM_IBIT 0x20B
/** Clock ID for Senary TDM EBIT */
#define Q6AFE_LPASS_CLK_ID_SEN_TDM_EBIT 0x20C
/** Clock ID for Septenary TDM IBIT */
#define Q6AFE_LPASS_CLK_ID_SEP_TDM_IBIT 0x20D
/** Clock ID for Septenary TDM EBIT */
#define Q6AFE_LPASS_CLK_ID_SEP_TDM_EBIT 0x20E
/** Clock ID for Hsif0 TDM IBIT */
#define Q6AFE_LPASS_CLK_ID_HSIF0_TDM_IBIT 0x20F
/** Clock ID for Hsif0 TDM EBIT */
#define Q6AFE_LPASS_CLK_ID_HSIF0_TDM_EBIT 0x210
/** Clock ID for Hsif1 TDM IBIT */
#define Q6AFE_LPASS_CLK_ID_HSIF1_TDM_IBIT 0x211
/** Clock ID for Hsif1 TDM EBIT */
#define Q6AFE_LPASS_CLK_ID_HSIF1_TDM_EBIT 0x212
/** Clock ID for Hsif2 TDM IBIT */
#define Q6AFE_LPASS_CLK_ID_HSIF2_TDM_IBIT 0x213
/** Clock ID for Hsif2 TDM EBIT */
#define Q6AFE_LPASS_CLK_ID_HSIF2_TDM_EBIT 0x214
/* Clock ID for MCLK1 */
#define Q6AFE_LPASS_CLK_ID_MCLK_1 0x300
@ -12635,7 +12787,22 @@ struct afe_group_device_group_cfg {
(AFE_PORT_ID_SENARY_TDM_RX + 0x100)
#define AFE_GROUP_DEVICE_ID_SENARY_TDM_TX \
(AFE_PORT_ID_SENARY_TDM_TX + 0x100)
#define AFE_GROUP_DEVICE_ID_SEPTENARY_TDM_RX \
(AFE_PORT_ID_SEPTENARY_TDM_RX + 0x100)
#define AFE_GROUP_DEVICE_ID_SEPTENARY_TDM_TX \
(AFE_PORT_ID_SEPTENARY_TDM_TX + 0x100)
#define AFE_GROUP_DEVICE_ID_HSIF0_TDM_RX \
(AFE_PORT_ID_HSIF0_TDM_RX + 0x100)
#define AFE_GROUP_DEVICE_ID_HSIF0_TDM_TX \
(AFE_PORT_ID_HSIF0_TDM_TX + 0x100)
#define AFE_GROUP_DEVICE_ID_HSIF1_TDM_RX \
(AFE_PORT_ID_HSIF1_TDM_RX + 0x100)
#define AFE_GROUP_DEVICE_ID_HSIF1_TDM_TX \
(AFE_PORT_ID_HSIF1_TDM_TX + 0x100)
#define AFE_GROUP_DEVICE_ID_HSIF2_TDM_RX \
(AFE_PORT_ID_HSIF2_TDM_RX + 0x100)
#define AFE_GROUP_DEVICE_ID_HSIF2_TDM_TX \
(AFE_PORT_ID_HSIF2_TDM_TX + 0x100)
/* ID of the parameter used by #AFE_MODULE_GROUP_DEVICE to configure the
* group device. #AFE_SVC_CMD_SET_PARAM can use this parameter ID.
*

View File

@ -305,6 +305,74 @@ enum {
IDX_RT_PROXY_PORT_002_TX,
/* IDX 212 */
IDX_HDMI_RX_MS,
/* IDX 213-> 228 */
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_0,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_0,
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_1,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_1,
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_2,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_2,
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_3,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_3,
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_4,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_4,
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_5,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_5,
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_6,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_6,
IDX_AFE_PORT_ID_SEPTENARY_TDM_RX_7,
IDX_AFE_PORT_ID_SEPTENARY_TDM_TX_7,
/* IDX 229-> 244 */
IDX_AFE_PORT_ID_HSIF0_TDM_RX_0,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_0,
IDX_AFE_PORT_ID_HSIF0_TDM_RX_1,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_1,
IDX_AFE_PORT_ID_HSIF0_TDM_RX_2,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_2,
IDX_AFE_PORT_ID_HSIF0_TDM_RX_3,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_3,
IDX_AFE_PORT_ID_HSIF0_TDM_RX_4,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_4,
IDX_AFE_PORT_ID_HSIF0_TDM_RX_5,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_5,
IDX_AFE_PORT_ID_HSIF0_TDM_RX_6,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_6,
IDX_AFE_PORT_ID_HSIF0_TDM_RX_7,
IDX_AFE_PORT_ID_HSIF0_TDM_TX_7,
/* IDX 244-> 259 */
IDX_AFE_PORT_ID_HSIF1_TDM_RX_0,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_0,
IDX_AFE_PORT_ID_HSIF1_TDM_RX_1,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_1,
IDX_AFE_PORT_ID_HSIF1_TDM_RX_2,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_2,
IDX_AFE_PORT_ID_HSIF1_TDM_RX_3,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_3,
IDX_AFE_PORT_ID_HSIF1_TDM_RX_4,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_4,
IDX_AFE_PORT_ID_HSIF1_TDM_RX_5,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_5,
IDX_AFE_PORT_ID_HSIF1_TDM_RX_6,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_6,
IDX_AFE_PORT_ID_HSIF1_TDM_RX_7,
IDX_AFE_PORT_ID_HSIF1_TDM_TX_7,
/* IDX 260-> 275 */
IDX_AFE_PORT_ID_HSIF2_TDM_RX_0,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_0,
IDX_AFE_PORT_ID_HSIF2_TDM_RX_1,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_1,
IDX_AFE_PORT_ID_HSIF2_TDM_RX_2,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_2,
IDX_AFE_PORT_ID_HSIF2_TDM_RX_3,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_3,
IDX_AFE_PORT_ID_HSIF2_TDM_RX_4,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_4,
IDX_AFE_PORT_ID_HSIF2_TDM_RX_5,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_5,
IDX_AFE_PORT_ID_HSIF2_TDM_RX_6,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_6,
IDX_AFE_PORT_ID_HSIF2_TDM_RX_7,
IDX_AFE_PORT_ID_HSIF2_TDM_TX_7,
AFE_MAX_PORTS
};