I call afe_set_lpass_clock_v2 function from KERNEL/sound/soc/msm/msm8996.c but observe the following errors in dmesg:
[ 71.221170] afe_callback: cmd = 0x100fc returned error = 0x2
[ 71.221226] afe_apr_send_pkt: DSP returned error[ADSP_EBADPARAM]
[ 71.221959] afe_set_lpass_clk_cfg: AFE clk cfg failed with ret -22
[ 71.222643] afe_set_lpass_clock_v2: afe_set_lpass_clk_cfg_v2 failed -22
[ 71.223386] msm8996_mi2s4_snd_startup: afe lpass clock 2 failed, err:-22
[ 71.224223] ASoC: QUAT_MI2S_RX startup failed: -22
[ 71.225129] QUAT_MI2S_RX: ASoC: BE open failed -22
[ 71.225533] MSM8996 Media1: ASoC: failed to start some BEs -22
Is it possible to enable the I2S MCLK generation on this processor?
P.S. How I'm trying to enable MCLK:
static struct afe_clk_set mi2s_rx_clk2 = {
AFE_API_VERSION_I2S_CONFIG,
Q6AFE_LPASS_CLK_ID_MCLK_4,
Q6AFE_LPASS_OSR_CLK_12_P288_MHZ,
Q6AFE_LPASS_CLK_ATTRIBUTE_COUPLE_NO,
Q6AFE_LPASS_CLK_ROOT_DEFAULT,
0,
};
Inside msm8996_mi2s4_snd_startup" function I do:
mi2s_rx_clk2.enable = 1;
afe_set_lpass_clock_v2(AFE_PORT_ID_QUATERNARY_MI2S_RX, &mi2s_rx_clk2);