Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ae270f0 authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

Merge "ASoC: DAI driver support upto 10 TDM interface"

parents 0058626e 7c0807d0
Loading
Loading
Loading
Loading
+2953 −513

File changed.

Preview size limit exceeded, changes collapsed.

+208 −0
Original line number Diff line number Diff line
@@ -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;
	}
+384 −0
Original line number Diff line number Diff line
@@ -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;
+169 −2
Original line number Diff line number Diff line
@@ -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.
 *
+68 −0
Original line number Diff line number Diff line
@@ -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
};